语法错误图 18:RCNT EQU 0x20 和 MYREG EQU 0x21

发布于 2024-11-09 08:18:21 字数 471 浏览 0 评论 0原文

我使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

温柔戏命师 2024-11-16 08:18:21

根据此 Microchip 文档汇编器指令(例如 EQU< /code>) 不支持内联汇编,因此 #define 可能是定义等式的唯一方法。

更改:

RCNT EQU 0x20
MYREG EQU 0x21

至:

#define RCNT 0x20
#define MYREG 0x21

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:

RCNT EQU 0x20
MYREG EQU 0x21

to:

#define RCNT 0x20
#define MYREG 0x21
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文