能帮我解释汇编的语言每句是什么意思么??绝品程序共有5段组成,第一段是为整个程序定义堆栈段、数据段和
绝品
程序共有5段组成,第一段是为整个程序定义堆栈段、数据段和代码段,第二三四段是代码段,无非是一些数据传递、算术运算、逻辑运算指令,最后一段结束程序,下面就简单解释几句典型程序
mov ah,N1//就是将数值N1赋给ah
and ah,0f0h//就是将ah与0XF0相与
add ah,30h//就是将ah与0X30相加然后将计算结果保存在ah中
stack segment stack 'stack'
dw 32 dup(0)
stack ends
data segment
N1 db 56h
N2 db 34h
N3 dw 2 dup(0)
data ends
code segment
start proc far
assume ss:stack,cs:code,ds:data
push ds;压入返回段地址
sub ax,ax
push ax;压入返回偏移地址相当于MOV AH,4CH INT 21H
mov ax,data
mov ds,ax
mov ah,N1;取ah=56h
and ah,0f0h;相与保留高位得到50h
mov al,N2;取al=34h
and al,0fh;相与保留地位得到04h
or ah,al;相或合并ah高4位和AL第4位得到结果放入AH=54H
mov al,ah;al=ah=54h
mov cl,4
shr ah,cl;ah右移4位结果AH=5H
add ah,30h;取ah的ascii码ah=35h
and al,0fh;保留al低4位al=4h
add al,30h;取al的ascii码al=34h
xor bx,bx ;bx=0
xchg ah,al;交换ah与al值
mov N3[bx],ax;存入N3
mov N3[bx+2],'$h';存入‘h’
mov dx,offset N3;输出结果
mov ah,9
int 21h
ret
start endp
code ends
end start