检测点2.1的问题
大家别笑我啊,我的理解能力一般所以不得不来求助!我也不是没看过甲鱼的视频,而是看不东才来求助希望大家别喷哦程序中的指令 指令执行后AX中的数据 指令执行后BX中的数据
mov ax,001AH 001AH 0000H ---------------这一段我理解相当于001AH附值给ax
mov bx,0026H 001AH 0026H ---------------这一段我理解相当于001AH附值给bx
addal,bl 0040H 0026HAX=al(低位)+bl(低位)10进制算得出是40那为什么BX的值没变呢?或者根本就不能那么算?
addah,bl 2640H 0026H ---------------理解了上一条的问题那我也懂这条的数据
addbh,al 2640H 4026H
mov ah,0 0040H 4026H
addal,85H 00C5H 4026H
addal,93H ? 4026H
希望知道的朋友们给点详细的解说以解除我的疑惑,尽量详细点谢谢你们了!~否则我没办法看下一集的内容也就中断了
addal,bl 0040H 这条指令展开后是这个形式al = al+bl ,然而这又跟 bx 扯上什么关系了, bx的值为什么要变,结果是存放在al中。 楼上的兄弟给了那个答案确实是这样,不过我自己又理解了这些数据的存放位置,并不是我想的那样加来加去的结果他们之间是一个对应关系 只有低位和低位相加 或者高位和高位可以相加 高位和地位的关系完全不是那么回事 没听明白 本帖最后由 haiouda 于 2014-9-28 21:50 编辑
BX
mov ax,001AH ,即把001A放到AX中 0
mov bx,0026h, 即把0026放到BX中 0026
add al,bl ,即 al=al+bl=1Ah+26h=40h 0026
add bh,al 即:bh=bh+al=00+40=40 4026
……
AX中(al为低8位, ah为高8位) , 即AX可以理解为(AHAL)的组合
BX中 (bl为低8位, bh为高8位) ,即BX可以理解为( BHBL)的组合
感谢楼上的解答,基本上明白了!~
页:
[1]