所以我在 .bss 中有这个声明
answer resb 1
作为答案,我存储从 -99 到 +99 的 2 位整数之和的结果。当我尝试添加 +99 和 +99 时,答案是否定的。-128 到 127 范围内的任何答案都被正确输入。如何解决此上溢/下溢问题?
我刚开始使用汇编编码,所以请帮助我理解这个问题。我尝试将 resb 设为 resw,但我的代码在运行时只产生了“浮点错误”,因此我恢复使用 resb。
我如何打印答案
;ansh,anso,anst are all declared as resb 1 in .bss
print_answer: ;tens1 holds the answer always
;getting each digit of tens2 to be converted as char
mov al,[answer]
mov bl,100
div bl
mov [ansh],al ; holds tens digit of average
mov [anst],ah
mov ah,0
mov al,[anst]
mov bl,10
div bl
mov [anst],al
mov [anso],ah
add byte[ansh],30h
add byte[anst],30h
add byte[anso],30h
;printing routine follows here