【发布时间】:2019-06-03 21:53:27
【问题描述】:
在用户输入无符号数字后检查是否设置了溢出标志时遇到了麻烦
我尝试使用 JC 来检查溢出标志。
示例输出
Please enter an unsigned number: 99999999999999999999999
<32-bit integer overflow>
Not unsigned or too big.
Please enter an unsigned number: 25
25
prompt_1 BYTE "Please enter an unsigned number: ", 0
inv_msg BYTE "Not unsigned or too big.", 0
inv_prompt BYTE "Please try again: ", 0
input_1 DWORD ?
.code
main PROC
Try_again:
mov edx, OFFSET prompt_1
call WriteString
call ReadInt
jo Invalid_
mov input_1, eax
call WriteDec
jmp Finish_
Invalid_:
mov edx, OFFSET inv_msg
call WriteString
call Crlf
jmp Try_again
Finish_:
它似乎有效,但它一直显示<32-bit integer overflow>。它是否正常工作或出现问题?有什么方法可以停止显示<32-bit integer overflow> 还是应该这样?
【问题讨论】:
-
没有看到
ReadInt没人能回答。
标签: assembly x86 masm irvine32 masm32