[求助]8位二进制数转换成ASCII码的方法
要求:设(30H)=4BH,将高4位的ASCII码放在31H单元,低4位的ASCII码放在32H单元,程序具有通用性,向入口参数30H存入任何数,都能将其变成相应的ISCII码.方法:如:用CJNE A,#0AH,NEQ,分别加30H或37H的方法.
哪位高手帮帮忙,先谢谢了
程序代码:data segment
org 30h
db ?
db ?
db ?
data ends
code segment
main proc far
assume cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov si,30h
mov byte ptr [si],4bh
call convert
mov cx,2
mov si,30h
loop1:
inc si
mov dl,[si]
mov ah,2
int 21h
loop loop1
mov ax,4c00h
int 21h
main endp
convert proc near
mov si,30h
mov al,[si]
mov ch,2
rotate:
inc si
mov cl,4
rol al,cl
mov bl,al
and bl,0fh
add bl,30h
cmp bl,3ah
jl store
add bl,7h
store:
mov [si],bl
dec ch
jnz rotate
ret
convert endp
code ends
end main

