只是把它放在那里 - 我确实进行了搜索并尝试找到一个易于理解的教程,但却无法:/ ..我仍然有点新鲜。
但我正在努力的是从用户输入2个数字并将其存储在变量中。然后将其与最大值进行比较。
output db 10,13, "Enter a number: $"
asq dw 10,13, "$" ; ascii values for a new line
stilltoimplement db 10,13, "Do calculations $"
.code
jmp start
number db ?
max db 14
start:
mov ax,@data
mov ds,ax
mov ah,09 ;prints new line
mov dx, offset output
int 21h
mov ah, 01 ;checks for key
mov al, 01
int 21h
mov number, al
cmp number,14
jg start
jl part2
part2:
mov ah,09
mov dx,offset stilltoimplement
int 21h
ending:
mov ah,4ch
mov al,00
int 21h ;End the program
END
答案 0 :(得分:0)
如果要添加多位数字,可以存储数字 通过将当前数字乘以10来在寄存器中 输入
我猜你是在x86上,所以你有6个通用目的 寄存器。
在类似汇编程序的伪代码中:
register a = 0
register b = 0
register c = 0
num1:
c = getDigit()
if c is a delimiter/sentinel value jump to num2
a = a * 10
a = a + c
jump to num1
num2:
c = getDigit()
if c is a delimiter/sentinel value jump to sum
b = b * 10
b = b + c
jump to num2
sum:
a = a + b
你的总和现在在