主题:求解题目..万分感谢!
mythbobo
[专家分:0] 发布于 2005-12-06 22:45:00
试编制一个程度,把AX中的十六进制数换为ASCII码,并将对应的ASCII码依次放到MEM数组中的四个字节中.例如,当(AX)=2A49H 时,程序执行完后,MEM 中的4个字节内容为39H ,34H ,41H和32H .
回复列表 (共1个回复)
沙发
erping [专家分:3660] 发布于 2005-12-07 12:55:00
;2005年12月7日12:14:56
;Dummy
.model small
.stack
.data
MEM db 4 dup (0)
;* db '$'
.code
_main:
mov ax, @data
mov ds, ax
mov ax, 2A49H
lea dx, MEM
call toHexString
;* lea dx, MEM ;调试用于输入
;* mov ah, 9
;* int 21H
mov ax, 4C00H
int 21H
toHexString proc
push si
mov si, dx
cld
mov cl, 4
_@1:
mov dx, ax
and ax, 000FH
or al, '0'
cmp al, '9'
jbe _@2
add al, 7
_@2:
mov byte ptr [si], al
inc si
mov ax, dx
shr ax, cl
jnz _@1
pop si
ret
toHexString endp
end _main
我来回复