赵疯子 发表于 2013-8-19 11:27:30

汇编搞得我头疼,大侠看看这是为什么?

例如这道题,为什么mov bx,之后要取高位?假如高位为0的话,值是多少?

小咒 发表于 2013-8-19 11:48:08

ax是一个16位的寄存器可以拆分成2个8位的寄存器ah和al,ah为ax寄存器的高8位al为ax寄存器的低8位
取出一个字形数据是这样取的↓
把内存地址的高位放入高位,低位放入低位
高位自然就是10001h低位自然就是10000h
[.]括号内是定义的偏移地址,偏移地址最小数为0,所以高位不可能是为0

Crazy迷恋. 发表于 2013-8-19 12:21:23

ax为16位寄存器,因此它会向内存中的目标地址上的低地址取低8位给ax的低八位。高八位给ax的高八位。~~~鱼大说过的哦~~~:ton:如果是al的话它就只取8位~~~

赵疯子 发表于 2013-8-19 18:31:16

谢谢,谢谢

redking 发表于 2013-8-19 19:35:31


看看喽~~~~~~~~

sky_浅 发表于 2013-8-20 00:32:20

看看 学习学习!!
页: [1]
查看完整版本: 汇编搞得我头疼,大侠看看这是为什么?