55问答网
所有问题
汇编语言div和dd指令问题
如图,ds:0中的数据是什么? ds:2的数据是什么?ds:6的数据又是什么,数据的偏移地址理解不了,求教!
举报该问题
推荐答案 推荐于2016-05-08
这程序,实现了:100001 除以 100。
在 data segment 之下,DD 伪指令,就在第0字节~第3字节,存放了32位数 100001,低字节在前。
当把 data 送到 DS 之后,DS:[0] ~ DS:[3],即为 100001。
DS:[0] ~ DS:[1],即为 100001 的低 16 位数;
DS:[2] ~ DS:[3],即为 100001 的高 16 位数。
同理,还有两个 DW 伪指令,作用如下:
DS:[4] ~ DS:[5],即为16 位数的 100。
DS:[6] ~ DS:[7],即为16 位数的 0。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/IL8QeF8cIIcIRI4IQR4.html
其他回答
第1个回答 2013-09-16
你想一下,一个32位的数据.如果除以0.那么没意义,也异常了,除以1,结果还是32位,如果除以2,结果就只有16位了,只需要一个16位寄存器就可以放下结果.这是前提.
以上除法是32位除法,除法div后有word前缀指明除数是32位.由于寄存器是16位,所以只好将32位中的高16位放到dx里面去,低16位放在ax里面,然后商在ax里面.余数在dx里面.
第2个回答 推荐于2018-04-19
ds数据段
ds: [0]=100001%65536
ds:[2]=100001/65536
ds:[4]=100
ds:[6]=0
相似回答
大家正在搜
相关问题
汇编语言div指令的问题
汇编伪指令db,dw,dd的问题
AND和DIV汇编语言怎么执行,举例说明一下
关于汇编指令DIV中的除数与被除数
在X86汇编中,使用DIV 指令的问题。
DIV单片机汇编语言啥意思?如何算?
有关王爽老师汇编语言div指令
dd = 1 这句汇编语言为啥在debug中不能用啊