首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Atmega32汇编程序反向字符串

Atmega32汇编程序反向字符串
EN

Stack Overflow用户
提问于 2013-11-11 16:16:52
回答 1查看 511关注 0票数 0

我在倒转存储在ATMEGA32闪存中的字符串时遇到了问题。我试着那样做,但效果不太好。当我尝试将其放入堆栈时,第一阶段有无限循环。也许以前有人有过这个问题。提前谢谢你的建议。

代码语言:javascript
复制
LDI R16,LOW(RAMEND) //stack initialisation
OUT SPL,R16
LDI R16, HIGH(RAMEND)
OUT SPH,R16

NAPIS: .DB "Hello world0"
LDI ZL,LOW(NAPIS*2)
LDI ZH,LOW(NAPIS*2)
LPM R1, Z

LOOP:
LDI R26,'0'
TOSTACK:
    LDD R11, Z+2
    PUSH R11
    CPSE R11,R26
JMP TOSTACK
FROMSTACK:
    POP R11
    STD Z+2, R11
    CPSE R11,R26    
JMP FROMSTACK


JMP LOOP

现在看起来就像

代码语言:javascript
复制
LDI R16,LOW(RAMEND) 
OUT SPL,R16
LDI R16, HIGH(RAMEND)
OUT SPH,R16

NAPIS: .DB "Hello world0"
LDI ZL,LOW(NAPIS*2)
LDI ZH,LOW(NAPIS*2)
LPM R1, Z

LOOP:

LDI R26,48
TOSTACK:
    LDD R11, Z+2
    PUSH R11
    CPSE R11,R26
JMP TOSTACK
FROMSTACK:
    POP R11
    STD Z+2, R11
    CPSE R11,R26    
JMP FROMSTACK


JMP LOOP

第一叠有不定式循环。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-11 17:08:03

我猜"Hello world0“中的0应该终止字符串,但它可能应该是二进制0,而不是字符0 (48小数点)的ASCII代码。

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

https://stackoverflow.com/questions/19910978

复制
相关文章

相似问题

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