首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >装配imul和idiv

问装配imul和idiv
EN

Stack Overflow用户
提问于 2015-10-14 20:28:01
回答 1查看 1K关注 0票数 1

请您说明应遵循哪些程序来解决以下问题:

代码语言:javascript
复制
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值如何?

代码语言:javascript
复制
mov ax, 0084
mov bx, 009C
imul bl

正确答案: 3070我的答案是141 c(用二进制乘法)

我非常感谢你的帮助。

提前谢谢你。

马丁

EN

回答 1

Stack Overflow用户

发布于 2015-10-16 14:12:58

为了将一个单词除以一个字节(字/字节),商用AL写,其余的用AH写。所以在你的例子中,AX=3716H。

对于两个字节(字节*字节)的乘法,结果是一个字(16位)。所以在您的示例中,结果是AX=3070。

注意到,对于有符号数,用于乘法(例如加法和移位)和除法的铅笔和纸方法可能不能正常工作。例如,有符号乘法的正确方法是booth算法。我不得不说,铅笔和纸的方法应该修改为有符号的数字,诀窍是扩展符号位。但是,这种方法容易出错,这也是为什么采用专用算法的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33134970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档