利用汇编语言编程实现屏幕上输出十进制数字00-29功能
stack segment stack
db 64 dup(?)
stack ends
code segment
assume cs:code
start: mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
int 21h
mov bl,0
next: mov al,bl
mov cl,4
shr al,cl ;右移四位,将后四位消去,只处理前四位
or al,30h ;将其转为相应的ASCII码。
mov dl,al
mov ah,2
int 21h
mov dl,bl
and dl,0fh ; 前四位置零,只处理后四位
or dl,30h ; 转换为ASCII码。
mov ah,2
int 21h
mov al,bl
inc al
daa ; 补足进位。
cmp al,30h ;用来设置终止值,该程序中为30h
jnc finish
mov bl,al
mov cx,0fffh
delay:loop delay
jmp next
finish: mov ah,4ch
int 21h
code ends
end start
来源: 心倾城的网易博客
欢迎分享本文,转载请保留出处!