开发环境:Emu8086 v3.05 小端模式
功能及参数表见代码注释
mov ax,156
call showa
ret
showa: ;显示一个十进制数-------------------------------------proc of show_one 数在ax中16位
;div 除法: 被除数: 如果除数是8位则被除数为16位, 默认放在AX中, 如果除数是16位, 则被除数为32位, 默认高位放在DX, 低位放在AX
; 结果: 如果除数是8位, 那么执行div后, 余数存放在ah, 商存放在AL中; 如果除数是16位, 那么AX保存商, DX保存余数
pushf
push bx
push cx
push dx
;mov ax,ax
mov bx,0
shoa_lp:
mov cx,10
div cl
mov cl,ah
mov ch,0
push cx
inc bx ;计数
mov ah,0
cmp ax,0
ja shoa_lp
mov ah,02h
mov cx,bx
shoa_lp1:
pop bx
mov dl,bl
add dl,'0'
int 21h
loop shoa_lp1
pop dx
pop cx
pop bx
popf
ret
;-------------------------------------------------------------------------------