微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为 Arm A9 Cortex 编写小写到大写的代码

如何解决为 Arm A9 Cortex 编写小写到大写的代码

我得到了小写到大写的算法,但是在使用汇编语言编写代码时,我对寄存器和 if 语句感到困惑。基本上,我正在尝试编写一个程序,该程序将在终端窗口中生成小写字母 > 大写。

这就是我目前所做的:

.equ    JTAG_UART_BASE,0xFF201000

.text   /*executable code follows*/
.global     _start
_start:
    LDR     R1,=JTAG_UART_BASE
    LDR     R2,=MESSAGE
COUT:
    LDRB    R3,[R2],#1
    CMP     R3,#27
    BEQ     STOP
    STRB    R3,[R1]
    B       COUT
CIN:
    LDR     R4,[R1]
    AND     R5,R4,#0x8000
    CMP     R5,#0
    BEQ     CIN
    AND     R4,#0x00FF
    STRB    R4,[R1]
    B       CIN
    
MESSAGE:
.asciz "Capitalize: "

我知道我需要比较寄存器以查看输入的 ASCII 是否在 96 和 122 之间,然后执行 SUB #32 将其转换为大写。

程序应该从终端窗口读取输入并 小写字母大写,按 ESC 退出(ASCII 27).

感谢任何帮助或指导。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。