📄 li7.asm
字号:
code segment
main proc far
assume cs:code
start:
push ds
sub ax,ax
push ax
mov bx,1
call binidec
call crlf
mov bx,1
call binidec
call crlf
mov cx,18
mov di,1
mov ax,1
output:
add di,ax
mov bx,di
push ax
call binidec
call crlf
pop ax
mov di,ax
mov ax,bx
loop output
ret
main endp
;---------------
binidec proc near
cmp bx,0
jne nz
mov dl,'0'
mov ah,2
int 21h
ret
nz:
push bx
push cx
push si
push di
mov di,0
mov cx,10000d
call dec_div
mov cx,1000d
call dec_div
mov cx,100d
call dec_div
mov cx,10d
call dec_div
mov cx,1
call dec_div
pop di
pop si
pop cx
pop bx
ret
binidec endp
;------------------
dec_div proc near
mov ax,bx
mov dx,0
div cx
mov bx,dx
mov dl,al
add dl,30h
cmp dl,'0'
je done
mov di,1
done:cmp di,1
jne exit2
mov ah,2
int 21h
exit2:ret
dec_div endp
;-----------------
crlf proc near
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
int 21h
ret
crlf endp
;---------------
code ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -