|
发表于 2012-6-27 22:30:36
|
显示全部楼层
上面第9。add ax,[0004] ax=2c14 是怎么得来的?
上面这句的意思是将ax现在值+偏移为[4]的值2ECC后再给ax 得到的结果是12C14 AX只能存放两个字节最高位的1去掉,得到2C14
mov bl,[000c] bx=0026 [000c]指的是哪个偏移地址?bx=0026又是?
62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
00 01 02 03 04 05 06 07- 08 09 0A 0B 0C 0D 0E 0F
这一句是将偏移[0C]中的值(26)给BL,那么上行中BX的高位是00H,现在的低位BL是26H所以BX现在的值应该是0026H 上面两行数字对应起来看[0C]上面的数是26,知道为什么0C是26了吧
上面的14. add al,bl ax=000c 000c是什么算来的?
上面第11行得出AX=00E6H 那么AL应该是E6H 第13行得出BX=0026H那么他的低位BL应该是26H 那么AL+BL=E6H+26H=10CH AL是8位的寄存器只能存话1字节,高位先理解成丢掉所以为0CH 第10行知道AX=0000H 那么高位是00H低现在的低位为0CH所以现在AX的值为000CH
不知道上面的能理解不 |
|