eertert 发表于 2012-3-3 10:25:33

汇编中字和字节传送或相加有时允许,但有时不允许,那怎么分?

小甲鱼在26集视屏中说:在DEBUY 中 MOVAX,【0】表示将DS:0处的字节数据送入AL中,但我看前面的视屏 (第14集)在DEBUY中,无论MOV还是ADD,都是将一个字的数据送入寄存器的,这不是矛盾了吗?小甲鱼同志或者高手们帮忙

莫名其妙 发表于 2012-3-3 17:56:08

本帖最后由 莫名其妙 于 2012-3-3 17:58 编辑

ax 是16位寄存器. 分低八位 跟高八位   ds: 这里如果没有写word ptrds: (从0号单元开始取字形数据)或者byte ptrds: (从0号单元开始取字节型数据 ) 取的都是8位的数据取出的八位数据都是放到低八位寄存器 al 里

eertert 发表于 2012-3-3 19:15:46

今天看了一天书和视屏弄明白了,现在才看到,原来如此,真的谢谢你了

eertert 发表于 2012-3-3 19:16:29

莫名其妙 发表于 2012-3-3 17:56 static/image/common/back.gif
ax 是16位寄存器. 分低八位 跟高八位   ds: 这里如果没有写word ptrds: (从0号单元开始取字形数据)或 ...

今天看了一天书和视屏弄明白了,现在才看到,原来如此,真的谢谢你了

刺骨之剑 发表于 2012-3-4 18:19:00

我怎么看迷糊了 目标地址是ax 16位的啊 !!0地址下的数据怎么就传送到al中了呢:dizzy:

n2zee 发表于 2012-3-5 00:05:13

书上又说,如何判断传送的是字还是字节,是依靠mov ax,中得ax这个寄存器标示或者是后面加byte ptr 或者word ptr定义的。
页: [1]
查看完整版本: 汇编中字和字节传送或相加有时允许,但有时不允许,那怎么分?