再生缘 发表于 2011-6-15 23:32:29

2.3几条汇编指令


第四道指令 add ah,bl这个ah 26是哪来的 因为上一步中ax是0040h而高8位的数值不是0000h

winddyj 发表于 2011-6-16 16:05:36

第三步时,ah=0 bl=26
那第四步,ah+bl,ah不就是26了,26当然是bl里的
加上al的40,ax不就是2640了

lqyha 发表于 2011-6-16 22:13:12

第一步:AX的值为001Aah=00   al=1a
第二步:bx的值为0026   bh=00bl=26
第三步:al=al+bl         al=1a+26=40      所以ax=0040   ah=00al=40
第四步:ah=ah+bl       ah=26al还是第三步中的40       所以ax=2640
以上都是16进制的数啊~
自己慢慢领悟。。很容易理解的。。{:5_97:}

再生缘 发表于 2011-6-16 23:21:42

谢谢 明白了 昨晚你手机回答的 我一直没看明白 现在看知道了我一直理解不了的地方时add ah+bl这个地方现在总算明白了 知道一个新手在学习中不容易呀

Miller01001 发表于 2011-6-17 18:45:30

本帖最后由 Miller01001 于 2011-6-17 18:48 编辑

高位 + 低位 然后把算出来的值传送到 高位
第3条指令 低位加低位AL==1A ,BL==26 相加传送给AL所以AL == 0040H,
但是AX的高位还是0即AH == 0 , BL == 26
add AH ,BL = 2640H 就是AH高位加上BL低位,然后把相加算出来的值传送给AH里面,所以AX = 2640H啦!
0040H
2600H
--------
2640H
↑↑↑↑↑↑
这样明白啦!
H代表16进制奥,别弄错了,王爽书上说数字后面没有带任何符号的是代表10进制,带了H代表16进制就是HEX ,B代表字节就是Byte
页: [1]
查看完整版本: 2.3几条汇编指令