简单的汇编语言,求解释2.

来源:百度知道 编辑:UC知道 时间:2024/06/28 05:21:28
例如:将AL中的二进制结果(值小于100)以十进制形式显示在屏幕上。
AAM
MOV BL,AL
OR AH,30H
MOV DL,AH
MOV AH,2
INT 21H
OR BL,30H
MOV DL,BL
MOV AH,2
INT 21H
麻烦大大逐步解释 越简单越好 我是粉嫩小新手。。。

发个程序给你研究,这是我自己写的这里有小于100的显示方法,如果还需要大于100的小于65535的我也有显示,需要的话给我说声
data segment ; 定义数据段
data ends
code segment ;定义代码段
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax ;ds指向数据段
mov cx, 6 ;要显示的数据个数
mov ax,0h
mov bx,0h ;初始化ax,bx
three:
add ax,bx ;相加
push ax ;暂时存结果
call one ;调用显示
pop ax ;弹出
dec cx ;CX减一
jz two ;CX减到0说明显示完了,结束
inc bx ;否则bx加一
jmp three ;再与ax相加
one:
PUSH CX
MOV BL,10
DIV BL
PUSH AX ;商和余数压栈
OR AL,30H
MOV DL,AL
MOV AH,2
INT 21H ;显示十位
POP AX
MOV CL,8
SHR AX,CL
OR AL,30H
MOV DL,AL
MOV AH,2
INT 21H ;显示各位