> 数学 >
用汇编语言实现 (a*b-c)/d 其中a、b、c、d均为有符号数,急求啊
人气:469 ℃ 时间:2020-01-25 13:26:55
解答

你的问题没有写全,缺少一些条件.

假设这些数都是16位变量,程序可以这样写:

mov ax, c     ;取c
cwd           ;将c扩展成32位,在DX,AX中
mov bx, dx    ;将c搬到BX,CX中,腾出AX,用来做乘法
mov cx, ax
mov  ax, a    ;取变量a
imul b        ;乘以b,积是32位的,存在DX,AX中
sub ax, cx    ;积的低位字减c的低位字
sbb dx, bx    ;积的高位字带借位减c的高位字
idiv d        ;除以d,商在AX中,余数在DX中
推荐
猜你喜欢
© 2024 79432.Com All Rights Reserved.
电脑版|手机版