Как обнаружить неверный ввод пользователя в ARM Assembly - PullRequest
0 голосов
/ 23 марта 2020

Как определить, когда пользователь вводит недопустимый ввод, такой как «1B0», тогда программа скажет (ветвь invalid) «недопустимая строка, введите заново значение». Я предполагаю, что вы используете cmp для сравнения ввода пользователя с чем-то еще, но я не знаю, с чем сравниваю этот ввод. Любая помощь очень ценится.

num1Enter:

@ OUTPUT INSTRUCTION TO CONSOLE
ldr r0, =enterNum1  @ Load address of r0 into enterNum1
bl putstring        @ Display the string to the terminal

@ READ-IN NUM1 DATA
ldr r0, =szNum1 @ Load address of r0 into szNum1
mov r1, #512    @ Load address of r1 into 512 bytes
bl getstring    @ Read a string of characters terminated by a null

@ CONVERT NUM1 TO INT
ldr r0, =szNum1 @ Load address of r0 into szNum1
bl ascint32     @ Converts a string of characters to an equivalent 4-byte (word) value.
ldr r1, =iNum1  @ Load address of r1 into iNum1
str r0, [r1]    @ Store r0 into address of r1

ldr r0, =iNum1  @ Load address of r0 into iNum1
ldr r1, [r0]    @ Load address of r0 into szNum1

b invalid

invalid:

ldr r0, =invalidMsg
bl putstring

@ NEWLINE
ldr r0, =cCr
bl putch

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