Linguagem de Montagem do BRAÇO uART0 Input Output, O que estou fazendo de errado.
Escreva duas (2) sub-rotinas da linguagem assembly ARM, chamadas output_char e read_char. Essas sub-rotinas permitirão ao usuário inserir um caractere e exibi-lo no PuTTy via UART. Todas as entradas do usuário devem ser repetidas no visor
Tentei escrever o código, mas não funcionou.
U0LSR EQU 0x14
register EQU 0xE000C000
STMFD SP!,{lr}
read_character
LDR r0, =0xE000C014
LDRB r1, [r0]
BIC r1, r1, #0xFFFFFFFE
CMP r1, #0
BEQ read_character
LDR r6, =register
LDR r2, [r6]
output_character
LDR r0, =0xE000C014
LDRB r1, [r0]
BIC r1, r1, #0xFFFFFFEF
MOV r1, r1, LSR #1
CMP r1, #0
BEQ output_character
LDR r6, =register
STR r2, [r6]
LDMFD sp!, {lr}
BX lr