收到有关“的错误,但没有”
Getting an error about a ", but there is no "
我正在为 ATmega8 编写一些汇编代码,但我遇到了一个相当奇怪的错误。
这是发生错误的行的示例:
ldi A, B%C
其中 A
、B
和 C
在我的代码顶部定义如下:
.DEF A = r1
.DEF B = r0
.EQU C = 15
这是我收到的错误(这最初是 table):
Description: syntax error, unexpected "
File: test.asm
Line: 120
Col: 0
Project: Testing
奇怪的是,我的整个代码中没有一个"
。但是,我怀疑 "
可能来自包含的文件 m8def.inc
。
这是使用 Atmel Studio 的汇编器组装的。
Why do you need to know why I need to find out what the value in r0
mod 15 is?
我需要知道您想要找出 r0 mod 15 中的值是什么...这不是解决问题的方法,因为 ldi
只能加载编译时常量。要执行 mod 15
你需要一个除法,但 atmega8 没有那个。你可以做重复的减法或幻数乘法。
但是,根据您关于 B
作为计数器的额外信息,最简单的解决方案是在 A
中保留一个 mod 15
计数器,它会重置为 0
当它达到 15
.
我正在为 ATmega8 编写一些汇编代码,但我遇到了一个相当奇怪的错误。
这是发生错误的行的示例:
ldi A, B%C
其中 A
、B
和 C
在我的代码顶部定义如下:
.DEF A = r1
.DEF B = r0
.EQU C = 15
这是我收到的错误(这最初是 table):
Description: syntax error, unexpected "
File: test.asm
Line: 120
Col: 0
Project: Testing
奇怪的是,我的整个代码中没有一个"
。但是,我怀疑 "
可能来自包含的文件 m8def.inc
。
这是使用 Atmel Studio 的汇编器组装的。
Why do you need to know why I need to find out what the value in r0 mod 15 is?
我需要知道您想要找出 r0 mod 15 中的值是什么...这不是解决问题的方法,因为 ldi
只能加载编译时常量。要执行 mod 15
你需要一个除法,但 atmega8 没有那个。你可以做重复的减法或幻数乘法。
但是,根据您关于 B
作为计数器的额外信息,最简单的解决方案是在 A
中保留一个 mod 15
计数器,它会重置为 0
当它达到 15
.