LDR R1, =0x01c2807C ; /* 读取串口状态寄存器 */
1:
LDR R0, [R1]
MOV R0, R0, LSR#2 ; /* 将串口状态寄存器的值向右移两位 */
AND R0, R0, #1 ; /* 保留发送空位状态 */
CMP R0, #0 ; /* 判断是否位 0 */
BEQ 1b ; /* 等待上一次发送结束 */
MOV R0, #0x41 ; /* 0x41 为 ‘A’ 的 ASCII 码 */
LDR R1, =0x01c28000 ; /* 0x01c28000 为串口数据寄存器地址 */
STR R0, [R1] ; /* 写入数据 */