编写并运行一个程序,添加5个字节的数据并保存结果。数据应该是以下十六进制数:25、12、15、IF和2B。显示程序和输出的快照。程序的开头是:
.MODEL SMALL
.STACK 0100h
.DATA
DATA_IN DB 25H, 12H, 15H, 1FH, 2BH
sum db?
我不能得到十六进制的输出。我已经尝试了这个代码,但仍然不能得到我想要的输出:
.model small
.stack 100h
.data
data_in db 25H, 12H, 15H, 1FH, 2BH
sum db ?
msg1 db 'The result is : $' ;
.code
mov ax,@data
mov ds,ax
lea si,data_in
mov al,[si]
mov cx, 4
again:
inc si
add al, [si]
loop again
mov sum,al
lea dx, msg1
mov ah,09h
int 21h
mov ah, 2
mov dl, SUM
int 21h
mov ah,4ch ; end operation
int 21h
end
1条答案
按热度按时间1bqhqjot1#
打印十六进制字节的关键是记住一个数字的ASCII码是它的值加上
0x30
。这个代码还有比这个代码更优化的版本,但是更难阅读和理解,所以我给予你一个更可读的版本: