![]() |
#2
zklhp2010-05-30 21:27
|
最好能改成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码的,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
在注释一下……

这儿有个流程图,但是我还是不会

望大家帮忙。谢谢。
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
[ 本帖最后由 dydsdyds 于 2010-5-30 21:03 编辑 ]