
dseg segment
hextb db '0123456789ABCDEF'
crlf db 0dh,0ah,'$'
dseg ends
cseg segment
assume cs:cseg, ds:dseg
start:
mov ax, dseg
mov ds, ax
mov ax, 67
push ax
mov bx, ax
call printBin ;bx传递参数
mov ah,9
lea dx, crlf
int 21h
pop dx
call printHex ;dx传递参数
mov ah,4ch
int 21h
printBin proc near
mov cx,16
mov ah,0eh
p1:
rol bx,1
mov al,bl
and al,1
xor al,30h
int 10h
loop p1
ret
printBin endp
printHex proc near
mov cx,404h
mov ah,0eh
mov dx, bx
lea bx, hextb
p0:
rol dx, cl
mov al, dl
and al,0fh
xlat
int 10h
dec ch
jnz p0
ret
printHex endp
cseg ends
end start