首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何打印LC3/汇编代码程序中的字符数

如何打印LC3/汇编代码程序中的字符数
EN

Stack Overflow用户
提问于 2016-05-06 15:05:04
回答 1查看 1.4K关注 0票数 0

基本上,我的代码会让我输入一些文本,然后它会打印出我输入的内容。当我输入文本时,代码是奇怪的符号,但打印的是我实际输入的内容。除此之外,我想知道如何让我的程序打印输入了多少个字符,并显示该数字(输出)

代码语言:javascript
复制
.orig   x3000
Lea r1, storeString

Lea r0, PrintStudent
puts

Lea r0, EnterText
puts

LOOP
getc

str r0, r1, 0
add r1, r1, 1
add r0, r0, -10

brz OUTSIDE
out

brnzp LOOP

OUTSIDE

Lea r0, UserEnter
puts

Lea r0, storeString
puts

Halt
PrintStudent .stringz "Hi it's me"
EnterText .stringz "\nPlease enter a text: "
UserEnter .stringz "\nThe text you have typed is: "
storeString .blkw 99

.end
EN

回答 1

Stack Overflow用户

发布于 2016-05-12 03:16:15

这就是为什么它存储正确,但打印错误:

代码语言:javascript
复制
GETC          # r0: new character
STR r0,r1,0   # r0: new character, mem[r1]: new character
ADD r1,r1,1   # increments pointer for storage
ADD r0,r0,-10 # r0: new character - newline, i.e. "a"--> "W"
OUT           # prints the input character - newline

基本上,将这个“向外”移到减量和分支上,你就进入了业务状态(除了它现在也会打印换行符)。

要知道您使用了多少个字符,可以在输入循环中单独计数,也可以计算循环末尾的r1和storeString地址之间的差值。还有其他几种选择:你是设计工程师。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37066298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档