我正在做一个简单的停车场程序,它接收来自用户的输入,并根据输入分支到标签。
问题是,如果用户输入的数据类型不同于整数(如“a”或任何字母),则程序会突然结束
以下是我的代码(与输入部分相关):
li $v0,5 #system call to get input from user
syscall
li $t1,2
beq $v0,1,park # go to "park" section of codes if input is 1
beq $v0,2,exit # go to "exit" section of codes if input is 2
beq $v0,0,end # go to "end" section of codes if input is 0
la $a0,statement6 #load statement6 into $a0
li $v0,4 #call code for print statement2
syscall
j start
如何使用汇编语言处理错误的数据类型,以便在用户输入错误数据类型(或非int)的输入时程序不会结束。
有什么想法吗?
答案 0 :(得分:1)
使用读取文本而不是特定数据类型的系统调用,然后在将文本转换为值时检查文本中是否有正确的格式和字符。