注册 登录
编程论坛 汇编论坛

16位二进制数转换为ASCII码

dydsdyds 发布于 2010-05-30 21:02, 2452 次点击
虽然我看到了https://bbs.bccn.net/thread-240713-1-1.html 这个帖子,但是还是有点不明白,希望有人帮忙解释下代码。
最好能改成16位二进制数转换为ASCII码。
程序代码:
那个8位二进制数转换成ASCII码的方法

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
最好能写个16位二进制数转换为ASCII码的,
在注释一下……
这儿有个流程图,但是我还是不会
望大家帮忙。谢谢。
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录


[ 本帖最后由 dydsdyds 于 2010-5-30 21:03 编辑 ]
2 回复
#2
zklhp2010-05-30 21:27
指令不熟 当然不会
#3
dydsdyds2010-05-31 12:55
回复 2楼 zklhp
能帮我调试下吗?不出结果啊?
1