以前回答过本题目。
但是,已经打不开了。
后来,有人留言,还想得到此题的答案。
为此,重新解答如下:
本程序运行的结果,是显示:3A4F。
汇编语言将内存中的数据在屏幕上以十六进制形式显示出来,涉及内存数据读取、数制转换、显示控制等,参见以下程序:
data segment
Total dw abcdh
data ends
code segment
assume cs:code,ds:data
main proc far
start: mov ax,data
mov ds,ax
mov bx,Total
mov dl,bh
mov cl,4
shr dl,cl
cmp dl,10
jc hex1
add dl,30h
hex1: add dl,37h
mov ah,02h
int 21h
mov dl,bh
and dl,0fh
cmp dl,10
jc hex2
add dl,30h
hex2: add dl,37h
mov ah,02h
int 21h
mov dl,bl
mov cl,4
shr dl,cl
cmp dl,10
jc hex3
add dl,30h
hex3: add dl,37h
mov ah,02h
int 21h
mov dl,bl
and dl,0fh
cmp dl,10
jc hex4
add dl,30h
hex4: add dl,37h
mov ah,02h
int 21h
mov dl,48h
mov ah,02h
int 21h
mov ah,4ch
int 21h
ret
main endp
先将数据转换成对应的ABCII码,用DOS调用输出
dos 功能调用,查查就知道了。书上都讲的很清楚,输出什么格式的需要调用几号功能,输出的数据放在哪里之类的