幽ぺ明ぺ叶 发表于 2012-11-8 09:02:42

关于汇编语言 段的问题 求解答 谢谢

假设 MOV BX,1000H
       MOV DS,BX
       MOV AL,
是将1000:0地址的数据寄存在AL中 这是一个8位低寄存器

如果MOV BX,1000H
       MOV DS,BX
       MOV AX,
这就变成了一个 16位的寄存器了 那是不是说 就自动将 一个字 【0】和【1】位置的数据存在了AX中?? 系统怎么知道你存的是一个字而不是字节???

谢谢了   

脾气不坏 发表于 2012-11-8 09:43:15

系统不需要知道的。。你知道就可以了!!!!

幽ぺ明ぺ叶 发表于 2012-11-8 09:51:27

脾气不坏 发表于 2012-11-8 09:43 static/image/common/back.gif
系统不需要知道的。。你知道就可以了!!!!

我上面的理解对吗???如果我想要的是字节 那就用AL AH 如果是字 就用AX??

a89361461 发表于 2012-11-8 11:35:41

AX 本身就是16位的 寄存器,如果不拆开。 MOV AX,系统就把1000H:0和1000H:1 写入 AX中了

summerchencong 发表于 2012-11-8 14:19:13

系统只认ax寄存器的类型吧,是ax那就是存储一个字单元,如果是al或者是ah的话应该就是一个字节单元了

mmvv114 发表于 2012-11-8 20:56:14

这个在后面有讲到   这是一种变相的定义传输数据大小的方法之一就比如说 moveax,word ptr 一样 就是把1000:0和1000:1的数据复制过去
而mov ax,也是一样的

简单°无所谓 发表于 2012-11-8 21:22:16

cpu是看是16寄存器那是8位寄存器,如果是8位的则把当前地址的数据保存到8位中 16位同上

幽ぺ明ぺ叶 发表于 2012-11-9 00:35:55

谢谢各位了
页: [1]
查看完整版本: 关于汇编语言 段的问题 求解答 谢谢