首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解AVR编程中的Subi语法

理解AVR编程中的Subi语法
EN

Stack Overflow用户
提问于 2016-10-27 03:41:34
回答 1查看 313关注 0票数 0

我遇到了一段我不太理解的代码,无法找到关于它的任何信息。它是一个宏,它接收一个寄存器,然后应该在LCD上显示结果。

正在传递的寄存器的内容应该是一个单数数字。

代码语言:javascript
复制
.macro do_lcd_rdata
    mov lcd, @0
    subi lcd, -'0'
    rcall lcd_data
    rcall lcd_wait
.endmacro

我困惑的部分是subi lcd, -'0'这意味着什么。减法是立即减法,但我对-'0‘是什么感到困惑。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-27 17:47:54

-'0'是字符'0‘的ascii值的负值。该操作有效地将0x30或48添加到寄存器中的值中,以将其转换为数字的等效ascii字符值。

例如,6 -'0‘=6+ 48 = 54 = '6’

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

https://stackoverflow.com/questions/40275749

复制
相关文章

相似问题

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