assembly - 汇编程序 GNU:小写到大写,反之亦然
问题描述
我需要将任何输入字符从小写转换为大写,反之亦然。这目前只读取输入并将其打印出来。我将 HEW 与 GNU 一起用于 H8S/2600 系列。我是这种语言的新手,所以如果我遗漏了什么,我很抱歉。
.h8300s
.equ PUTS,0x114
.equ GETS,0x113
.equ syscall,0x1FF00
.data
input: .space 100
prompt: .asciz "Zadejte vstupni data: "
.align 2
par_input: .long input
par_prompt: .long prompt
.align 1
.space 100
stck:
.text
.global _start
在这里转换字符串:
transform:
lab1: rts
_start: mov.l #stck,ER7
mov.l #input,ER2
mov.w #PUTS,R0
mov.l #par_prompt,ER1
jsr @syscall
mov.w #GETS,R0
mov.l #par_input,ER1
jsr @syscall
xor.l ER1,ER1
lab2: mov.b @ER2,R0L
cmp.b #0x0A,R0L
beq print
jsr @transform
shll.l #2,ER1
shll.l #2,ER1
or.b R0L,R1L
inc.l #1,ER2
bra lab2
print:
mov.w #PUTS,R0
mov.l #par_input,ER1
jsr @syscall
jmp @lab3
lab3: jmp @lab3
解决方案
推荐阅读
- statistics - 如何估计点击率(CTR)的方差?
- python-3.x - 以某种方式将列表中的每个元素相乘 - 每个元素与下一个元素相乘并将值存储在表中
- c - 范围内的基本 C rand 输出相同的数字
- javascript - 用于求解类似于 Mathway.com 或 Symbolab.com 的代数表达式的节点包?
- java - 如何从 GoDaddy SSL 证书创建 Java JKS 文件
- linux - 如何替换括号之间的换行符
- javascript - 如何通过点击事件向输入框添加文本?
- laravel - 如何在 Redis pub/sub 上运行 phpunit 测试?
- java - RestTemplate 结果无法反序列化
- python - validate_on_submit() 在 Flask 中不起作用。我应该怎么办?