У меня есть задание, которое требует от меня создания калькулятора c, который может выполнять четыре операции c (сложение, вычитание, умножение, деление) над целыми числами в сборке MIPS. Часть назначения требует проверки пользовательского ввода, чтобы убедиться, что пользователь вводит как целое число, так и правильный операнд. У меня есть калькулятор basi c и проверка ввода операндов. Мне интересно, какой лучший или хороший способ выполнить sh проверку целочисленного ввода будет.
В настоящее время я использую системный вызов для чтения целых чисел. Когда пользователь вводит что-либо кроме целого числа, ноль сохраняется в регистре $ v0 (регистр возврата для функции syscall). Сначала я просто использовал команду ветвления, если она равна нулю, для перехода к подпрограмме, которая просит пользователя ввести действительное целое число и возвращается к подпрограмме, которая читает и сохраняет целое число. Единственная проблема в том, что пользователь не может ввести 0, которое является допустимым целым числом.
Как я могу go сделать это? Должен ли я считать входные данные в виде строки вместо целого числа, а затем проанализировать строку, чтобы убедиться, что значение ASCII каждого символа соответствует целому значению ASCII? Пожалуйста, дайте мне знать, если требуется дополнительная информация. Я не могу опубликовать код, потому что это активное задание в моем классе.