语法错误图 18:RCNT EQU 0x20 和 MYREG EQU 0x21
我使用 pic 18F4550 和 microchip v8.63 的 C 编译器。我正在使用以下代码 书“Pic微控制器和嵌入式系统使用汇编和c for pic18”。
在以下行代码中,我收到语法错误:RCNT EQU 0x20 和 MYREG EQU 0x21。
_asm
RCNT EQU 0x20
MYREG EQU 0x21
BCF TRISB,1
MOVLW 0x41
MOVWF MYREG
BCF STATUS,C
MOVLW 0x8
MOVWF RCNT
BSF PORTB,1
AGAIN
RLCF MYREG,F
BNC OVER
BSF PORTB,1
BRA NEXT
OVER BCF PORTB,1
NEXT DECF RCNT,F
BNZ AGAIN
BSF PORTB,1
_endasm
I'm using the pic 18F4550 with the C compiler from microchip v8.63. i'm using the following code from the
book "Pic microcontrollers and embedded systems using assembly and c for pic18".
On the following line code, I receive a syntax error: RCNT EQU 0x20 and MYREG EQU 0x21.
_asm
RCNT EQU 0x20
MYREG EQU 0x21
BCF TRISB,1
MOVLW 0x41
MOVWF MYREG
BCF STATUS,C
MOVLW 0x8
MOVWF RCNT
BSF PORTB,1
AGAIN
RLCF MYREG,F
BNC OVER
BSF PORTB,1
BRA NEXT
OVER BCF PORTB,1
NEXT DECF RCNT,F
BNZ AGAIN
BSF PORTB,1
_endasm
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据此 Microchip 文档汇编器指令(例如
EQU< /code>) 不支持内联汇编,因此
#define
可能是定义等式的唯一方法。更改:
至:
According to this Microchip documentation assembler directives (such as
EQU
) are not supported for inline asm, so#define
may be the only way to define equates.Change:
to: