assembly - 如何在 ARM Assembly 中将大写字母转换为小写字母?
问题描述
我有以下程序:
.data
cc: .byte 0x42
.byte 0x4f
.byte 0x4e
.byte 0x4a
.byte 0x4f
.byte 0x55
.byte 0x52
.byte 0x00
co: .asciz "au revoir..."
.text
.global main
main:
@ impression de la chaine de caractere d'adresse cc
ldr r1, LD_cc
bl EcrChaine
@ modification de la chaine d'adresse cc
@To be completed
@ impression de la chaine modifiee
ldr r1, LD_co
bl EcrChaine
fin: B exit @ terminaison immediate du processus (plus tard on saura faire mieux)
LD_cc: .word cc
LD_ca: .word ca
LD_co: .word co
cc 包含大写字母的字符串“BONJOUR”。在“待完成”部分,我必须使用按位或运算(ORR 命令)将该字符串转换为小写字母。我的理解是,由于字符串使用的是 ASCII 表,我所要做的就是为每个字符添加 32。相应的命令是
ORR R1, R1, #32
,但是我正在尝试执行此操作,并且在运行程序时输出为空白。我尝试使用在线模拟器查看值的变化,但我可以看到只有第一个字母发生了变化。我必须使用循环吗?任何人都可以帮助我吗?
解决方案
只需添加要转换的单词 0x20。
推荐阅读
- node.js - nodejs需要多个文件
- buildpack - Buildpacks Distroless 运行时映像支持
- hyperledger-fabric - 所需的链码未安装在足够的对等点上
- server - Tableau server 客户端 403000:禁止用户必须是系统或内容管理员
- python - python - 将几个图像的文本框/ plt.figtext 定位在图像下方
- java - 有没有办法计算冒泡排序循环中的迭代次数?
- java - 获取 HystrixRuntimeException:函数超时和回退失败
- angular - After login, my login page is displayed with my dashboard
- binary - 如何在 Crystal 中有效地操作二进制数?
- javascript - 如何访问 MongoDB 使用 NextAuth 创建的默认 ObjectId