汇编语言-如何将输入的两个数合二为一?
Assembly language-How to make two inputted number as one?
我正尝试在这种情况下进行汇编语言编程:
if age = 18 then write "You are of legal age"
else if age<18 then write "You are too young"
else write "You should be working now"
这是我遇到的问题:
mov ah,01h "This is the first digit"
int 21h
mov bl,al
mov ah,01h "This is the second'
int 21h
当我输入一个两位数时,AL
有两个不同的值。我将第一个值移动到 BL
以保存它,但我不知道下一步该怎么做。我能问一下如何让它们结合起来吗?当我输入“17”时,它将是 17h。我读过我需要减去 30h,但这只适用于 0-9。我不知道从 10 号开始该怎么做。我正在使用 Tasm。
希望有人能帮助我。
要将两位数字输入存储为一个,试试这个
num db 0 ;declare a variable to store the two digit input
ten db 10 ;declare a variable that holds a value 10
mov ah,01h ;This is the first digit
int 21h
SUB al,48D ;subtract 48D
MUL ten ;multiply with 10 because this digit is in ten's place
mov num,al ;mov first digit input in num
mov ah,01h ;This is the second digit
int 21h
SUB al,48D
ADD num,al ;add second digit to num
现在您的两位数在变量 num
中
请注意,我将第一个数字输入乘以 10,但我没有将第二个数字输入乘以任何东西,因为它在一个地方。
我正尝试在这种情况下进行汇编语言编程:
if age = 18 then write "You are of legal age"
else if age<18 then write "You are too young"
else write "You should be working now"
这是我遇到的问题:
mov ah,01h "This is the first digit"
int 21h
mov bl,al
mov ah,01h "This is the second'
int 21h
当我输入一个两位数时,AL
有两个不同的值。我将第一个值移动到 BL
以保存它,但我不知道下一步该怎么做。我能问一下如何让它们结合起来吗?当我输入“17”时,它将是 17h。我读过我需要减去 30h,但这只适用于 0-9。我不知道从 10 号开始该怎么做。我正在使用 Tasm。
希望有人能帮助我。
要将两位数字输入存储为一个,试试这个
num db 0 ;declare a variable to store the two digit input
ten db 10 ;declare a variable that holds a value 10
mov ah,01h ;This is the first digit
int 21h
SUB al,48D ;subtract 48D
MUL ten ;multiply with 10 because this digit is in ten's place
mov num,al ;mov first digit input in num
mov ah,01h ;This is the second digit
int 21h
SUB al,48D
ADD num,al ;add second digit to num
现在您的两位数在变量 num
请注意,我将第一个数字输入乘以 10,但我没有将第二个数字输入乘以任何东西,因为它在一个地方。