所以我有一个8086汇编程序,允许用户输入2位数字,将它们存储在变量中,然后打印出数字:
data segment
broj db ?
ends
stack segment
dw 128 dup(0)
ends
code segment
mov ax, data
mov ds, ax
mov es, ax
mov ah, 1h
int 21h
sub al, 48d
mov bl, 10d
mul bl
mov broj, al
mov ah, 1h
int 21h
sub al, 48d
add broj, al
mov dl, broj
sub dl, 48d
mov ah, 2h
int 21h
mov ax, 4c00h
int 21h
ends
但是,无论何时我输入数字(例如21),它都不会给我该数字,而是会为该值提供ASCII码。
有人可以帮忙吗?!
答案 0 :(得分:1)
但是,无论何时我输入数字(例如21),它都不会给我该数字,而是会为该值提供ASCII码。
如果您向程序输入(输入)一个由2位数字组成的数字,那么您还必须打印2位数字!当前,您的代码仅包含一个字符输出功能。
AL
中)和一个余数(在AH
中)示例:
mov al, broj
mov ah, 0
mov bl, 10
div bl
add ax, "00"
mov dx, ax
mov ah, 02h
int 21h
mov dl, dh
mov ah, 02h
int 21h