主题:[讨论]在屏幕上输出3+2的结果 能帮忙的过来看一下 谢谢^_^
data segment
num db 02h,03h,'$'
result dw 8 dup(?)
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
lea si,num
lea di,result
mov bl,[si]
add bl,[si+1]
daa
mov bh,0
mov ax,bx
mov [di],ax
mov dx,[di]
mov ah,9
int 21h
mov ah,4ch
int 21h
code ends
end start
这个是我写的小程序 自己觉得在算法上没有问题 编译连接也都正常通过了
可是在运行的时候 显示的乱码 曾经问过老师 他说是因为计算的结果都是以ASCII码的形式保存在寄存器里 所以要正常输出还要加上一个 ASCII码转换成十进制的子程序调用
请各位看一下这个程序 有错的地方可以帮我指出来 至于怎么输出 还要请教大家
谢谢[em10][em6][em6]
num db 02h,03h,'$'
result dw 8 dup(?)
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
lea si,num
lea di,result
mov bl,[si]
add bl,[si+1]
daa
mov bh,0
mov ax,bx
mov [di],ax
mov dx,[di]
mov ah,9
int 21h
mov ah,4ch
int 21h
code ends
end start
这个是我写的小程序 自己觉得在算法上没有问题 编译连接也都正常通过了
可是在运行的时候 显示的乱码 曾经问过老师 他说是因为计算的结果都是以ASCII码的形式保存在寄存器里 所以要正常输出还要加上一个 ASCII码转换成十进制的子程序调用
请各位看一下这个程序 有错的地方可以帮我指出来 至于怎么输出 还要请教大家
谢谢[em10][em6][em6]