|
主题 : : 汇编代码解释?麻烦帮我解释一下代码原意 [待解决] |
回复[ 5次 ]
点击[ 700次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2010-02-27 22:52 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-02-23 22:46 |
mov ax,62627 AX= 62627 F4A3
mov ah,31H AX= 31A3
mov al,23H AX= 3123
add ax,ax Ax= 6246
mov bx,826CH BX= 826C
mov cx,ax CX= 6246
mov ax,bx AX= 826C
add ax,bx AX= 04D8
mov al,bh AX= 0482
mov ah,bl AX= 6C82
add ah,ah AX= D882
add al,6 AX= D888
add al,al AX= D810
mov ax,cx AX= 6246 | | |
|
|
|
|
[第1楼]
[ 回复时间:2010-02-28 08:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:62
信誉值:0
注册日期:2009-12-03 13:14 |
没有原意,就是熟悉指令的用法,上DEBUG实验下吧 | | |
|
|
|
|
[第2楼]
[ 回复时间:2010-03-11 10:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2008-08-02 13:24 |
MOV AX,62627 AX=F4A3H 向寄存器ax存入十进制数62627 转换成十六进制数为
MOV AH,31H AX=31A3H 8位寄存器操作指令,将数据31h加到AH(高8位)寄存器中
MOV AL,23H AX=3123H 8位指令 将数据23H 加入到 AL中。(低8位)
ADD AX,AX AX=6246H 将寄存器ax中的数值累加
MOV BX,826CH BX=826CH 将826CH移动寄存器bx中
MOV CX,AX CX=6246H 将寄存器ax中的数值转到寄存器cx
MOV AX,BX AX=826CH 将BX转移到AX中
ADD AX,BX AX=04D8H 将BX与AX累加结果保存在AX中
MOV AL,BH AX= 0482H 将寄存器BH(高8位)转移到AL(低8位)中
MOV AH,BL AX=6C82H 将寄存器BL BX中的低8位,转到AX 的高8位中
ADD AH,AH AX= D882H 将AX中的高8位累加
ADD AL,6 AX=D888H 将AL加6
ADD AL,AL AX=D810H 将AX的低8位累加
MOV AX,CX AX= 6246H 将16位寄存器CX与AX相加,结果存于AX中 | | |
|
|
|
|
[第3楼]
[ 回复时间:2010-05-11 18:16 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-04-25 17:19 |
MOV AX,CX AX= 6246H 将16位寄存器CX与AX相加,结果存于AX中
上楼的这个解释错了 应为 讲16位寄存器CX中的值赋给AX(覆盖AX中原有的值) | | |
|
|
|
|
[第4楼]
[ 回复时间:2010-11-11 16:13 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-11-09 16:36 |
楼上,说的正确。MOV指令是将后面的寄存器的内容赋给前面寄存器 | | |
|
|
|
|
[第5楼]
[ 回复时间:2010-12-11 08:54 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-05-23 12:24 |
要注意一点:上面提到“转移“表示:把一空间里的数据存到另一空间,但原空间里的数据依然存在! | | |