请您说明应遵循哪些程序来解决以下问题:
mov ax, 0835 h
mov cv, 005d h
idiv cl斧头=?
正确答案: 3716我的答案是0016 (我通过将0835小时转换为小数点2101,005 93转换为小数点93)得到它。然后除以2101/93=22.59,然后将22分解回十六进制,得到16,从而得到商0016h。
另外,从下面的代码接收到的ax值如何?
mov ax, 0084
mov bx, 009C
imul bl正确答案: 3070我的答案是141 c(用二进制乘法)
我非常感谢你的帮助。
提前谢谢你。
马丁
发布于 2015-10-16 14:12:58
为了将一个单词除以一个字节(字/字节),商用AL写,其余的用AH写。所以在你的例子中,AX=3716H。
对于两个字节(字节*字节)的乘法,结果是一个字(16位)。所以在您的示例中,结果是AX=3070。
注意到,对于有符号数,用于乘法(例如加法和移位)和除法的铅笔和纸方法可能不能正常工作。例如,有符号乘法的正确方法是booth算法。我不得不说,铅笔和纸的方法应该修改为有符号的数字,诀窍是扩展符号位。但是,这种方法容易出错,这也是为什么采用专用算法的原因。
https://stackoverflow.com/questions/33134970
复制相似问题