我正在努力寻找一种有效的方法来检查用户是否使用系统调用 8 输入了只有数字(0~9)的有效输入
输入是 4 个字节长(1 个字),
我需要检查每个字节(char)是否是数字,
我想过尝试运行一个循环并检查它的 ascii 值是否低于 48('0' ascii 十进制值),
或高于 57('9' ascii 十进制值),
这是一种有效的方法吗?
如果是这样,在 MIPS 中实现这种 if 语句的正确方法是什么?
例如
if (x < 48) or (x > 57) {...}
*注意:假设我确实有一个标志知道在哪里停止循环
*编辑:这是代码的一部分,以使其更清晰:
.data
number:
.word w1
.text
.globl main
main:
la $a0, number # read the number input from user
li $a1, 6 # buffer set to max of 4 bytes (32 bits),
# assuming the input is no more than the length of a word,
# + 2 reserved bytes
li $v0, 8
syscall