2011-11-16 6 views
1

어셈블리 [Irvine-Intel x86 프로세서]에서 두 개의 숫자를 나눕니다. 내가 부문에 대한 정확한 답변을 얻을음수 MASM division

mov eax, 4 
mov edx, 0 
mov ebx, 2 
div ebx 

,하지만 난 음수 값을 변경할 때, 그것은 나에게 정답을 제공하지 않습니다 다음은 내 코드입니다.

mov eax, -4 
mov edx, 0 
mov ebx, 2 
div ebx 

"div"는 부호없는 나누기입니다. 그렇다면 어떻게 음수로 나눗셈을하고 싶습니까?

답변

0

IDIV를 사용해야합니다. IDIV 명령은 나누기 연산입니다. IDIV는 서명 된 번호입니다. DIV는 서명이없는 번호입니다.

mov eax, -4 
xor edx, edx ; mov edx, 0 
mov ebx, 2 
div ebx