Обнаружение неверного пользовательского ввода / переполнения в ARM Assembly - PullRequest
0 голосов
/ 15 октября 2019

Мне любопытно узнать, является ли ввод пользователя недействительным (скажем, я хочу ввод только целых чисел, но пользователь вводит в «1G27»).

ldr r1, =szMsg //Prompt message for user
bl printString //Prompt user for input

ldr r1, =val1  //String storage for input
bl getString   //Function that retrieves the input from user and stores it in r1

bl asciitoint  //Function that converts the value in r1 to an integer (from ascii) and returns in r0

/**** comparison here to check if the user input is valid? ****/

ldr r4, =iVal1 //Integer storage for input
str r0, [r4]   //Storing the integer from r0 into the address at r4

Я знаю, что должен сравнитьКогда я получаю строку, используя cmp, но я не уверен, с чем сравниваю. Я преобразую строку в целое число, тогда я не уверен, что делать.

Сравниваю ли я наибольшее значение, которое может хранить val1, и проверяю, больше ли это значение? (BGT)?

Как бы я проверил, если пользователь ничего не вводил и просто нажимал ввод?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...