ARM Assembler Sprache uART0 Input Output, Was mache ich falsch?

Schreiben Sie zwei (2) ARM-Assembler-Unterroutinen mit den Namen output_char und read_char. Diese Unterprogramme ermöglichen es einem Benutzer, ein Zeichen einzugeben und das Zeichen in PuTTy über den UART anzuzeigen. Alle Benutzereingaben sollten auf dem Display wiedergegeben werden

Ich habe versucht, den Code zu schreiben, aber es hat nicht funktioniert.

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

Antworten auf die Frage(1)

Ihre Antwort auf die Frage