派大星 发表于 2012-7-7 15:10:58

关于 mov dl,[bx]

我记得你好像说过   因为 【bx】 默认的是字节型的   所以就要用dl来接收   但是我发现   当你mov dx,【bx】   【bx】给dx传的是字型的。mov dl,【bx】时【bx】给dx传的是字节的。反过来 mov ,al 【bx】接的是字节型的数据 mov 【bx】,ax的时候【bx】接收的是字型的      可以不可以这样来理解内存单元【bx】是字型或者是字节型总是和另一个保持一致的?
说的有点乱不知道听懂我的意思没有   噗噗噗

1144290241 发表于 2012-7-7 15:10:59

【bx】是内存中的偏移地址,也就没有最初的几位限制(内存中几位都存的下),那么就需要另一个操作数来给出到底存的是字节型还是字形。

Black_Snake 发表于 2012-7-7 15:41:45

bx寄存器是16位的也就是一个字,而执行指令 mov dl, 时BX表示的是一个地址,这句指令是从BX地址处取出一个数据,而前面的寄存器是dl,因此只会取出一个字节。而前面如果是是dx时,就是表示要取出一个字型数据了,当然是两个字节,反过来存储时也是一样...

派大星 发表于 2012-7-7 15:53:15

Black_Snake 发表于 2012-7-7 15:41 static/image/common/back.gif
bx寄存器是16位的也就是一个字,而执行指令 mov dl, 时BX表示的是一个地址,这句指令是从BX地址处取出一个数 ...

谢谢   我问的不是这个   【bx】是一个偏移地址   指着一个内存单元    我问的是   他【bx】指的是代表着一个字还是一个字节
另外麻烦你解释一下   反过来的情况吧   反过来是mov 【bx】,ax    你怎么知道是取ax中的一个字还是一个字节?

派大星 发表于 2012-7-7 15:56:32

1144290241 发表于 2012-7-7 15:52 static/image/common/back.gif
【bx】是内存中的偏移地址,也就没有最初的几位限制(内存中几位都存的下),那么就需要另一个操作数来给出 ...

恩   谢谢了   我明白了   也就是说 【bx】指的起始地址 然后 不管给存多大的数   内存都会按需来分配储存空间?   谢谢你
页: [1]
查看完整版本: 关于 mov dl,[bx]