У меня есть этот код, и я был уверен, что он сработает.Но он печатает нижний выход каждый раз.Моя логика заключалась в том, чтобы сравнивать r1 (где находится символ) с «a», потому что он имеет более высокое значение ascii, чем «A».Если оно больше или равно «а», мы знаем, что это должна быть строчная буква.Если оно меньше чем, мы сравниваем его с «A», а затем, если оно больше или равно этому, оно должно быть в верхнем регистре.И если оно меньше «А», то мы знаем, что это должен быть специальный символ.Но это не работает, почему?
printchar:
cmp r1, #'a'
blt T1
ldr r0, =loweroutput
bl printf
b exit
T1: cmp r1, #'A'
blt T2
ldr r0, =upperoutput
bl printf
b exit
T2: ldr r0, =specialoutput
bl printf
exit: