装配输入验证

时间:2010-11-05 00:30:33

标签: assembly integer validation mips

在我的汇编程序中,我向用户请求几个整数输入。然而,即使我输入一个字符,字符串或什么也没有,程序继续执行。

如何验证用户是否实际输入了整数而不是其他内容。

答案可以是与语法无关的

2 个答案:

答案 0 :(得分:3)

在这种使用MIPS的特殊情况下。执行服务“InputDialogIn”的系统调用在寄存器$a1中返回状态值,具体取决于输入。

  • 0:确定状态
  • -1:无法解析输入
  • -2:取消选择
  • -3:选择了确定按钮,但没有数据输入到字段

因此,使用op beq中的值为$,验证输入是否成功。

注意:指令/ Syscall 51“InputDialogIn”,是MARS模拟器独有的。

答案 1 :(得分:1)

有一种简单的方法可以学习如何做到这一点 - 在C中编写验证函数并编译成汇编程序并尝试将C构造映射到您看到的内容(GCC -S选项,各种-fdump-XXX开关允许注释汇编程序代码)。