yiye3376 发表于 2012-10-29 11:48:59

一个单元地址的数据是字节还是字的啊,求助

感觉我的问题说法有些问题,我就把我的意思说下
一个内存单元的数据是一个字节的,
mov ax,1111
mov ds,ax
mov ax,0
mov al,
mov ax,
这个代码debug显示ax肯定不一样的,这个我知道,但是我理解方面出现了问题,就是一个地址单元数据是一个字节,照这个想,那这段代码最后俩次ax的值应该是一样的,只不过ah=0了,al=偏移地址处的数据,求高手解释下,让我能理解这个问题,谢谢了



yiye3376 发表于 2012-10-29 12:40:37

有木有人啊

Cei 发表于 2012-10-29 18:31:16

坐等高手,,,,,{:5_108:}

花落、季 发表于 2012-10-29 19:21:14

没怎么看懂你怎么理解的
这么说吧,如果你把ds:和ds:的值分别改成12,34
mov al,是把ds:这个单元里的12给了al,al=12
mov ax,是把ds:这个单元里的12给了al,ds:这个单元里的34给了ah,所以ax=3412

yiye3376 发表于 2012-10-29 20:28:12

花落、季 发表于 2012-10-29 19:21 static/image/common/back.gif
没怎么看懂你怎么理解的
这么说吧,如果你把ds:和ds:的值分别改成12,34
mov al,是把ds:[ ...

哦,mov ax,是将偏移地址和的数据分别传送给al和ah中的,谢谢了,不知道我现在的理解是否正确

wawa 发表于 2012-10-29 20:39:33

我觉得LZ理解对了

花落、季 发表于 2012-10-30 14:21:07

yiye3376 发表于 2012-10-29 20:28 static/image/common/back.gif
哦,mov ax,是将偏移地址和的数据分别传送给al和ah中的,谢谢了,不知道我现在的理解是否正确

正确~加油啦~

destiny 发表于 2012-10-30 20:24:44

传送指令是看寄存器的,al是8位寄存器所以传送的是8位的数据,AX是16位寄存器所以数据是16位的,AX的值肯定不一样

destiny 发表于 2012-10-30 20:26:19

yiye3376 发表于 2012-10-29 20:28 static/image/common/back.gif
哦,mov ax,是将偏移地址和的数据分别传送给al和ah中的,谢谢了,不知道我现在的理解是否正确

传送指令是看寄存器的,al是8位寄存器所以传送的是8位的数据,AX是16位寄存器所以数据是16位的,AX的值肯定不一样

ermao 发表于 2012-10-31 08:48:10

我也这么认为,错了吗
页: [1]
查看完整版本: 一个单元地址的数据是字节还是字的啊,求助