【问题标题】:Why isn't INDF passing on its assigned value to FSR为什么 INDF 不将其分配的值传递给 FSR
【发布时间】:2020-05-06 02:12:56
【问题描述】:

我正在尝试了解间接寻址的工作原理。从 PIC16F877A 的数据表中,当提到 INDF 时,它指出“寻址此位置使用 FSR 的内容来寻址数据存储器(不是物理寄存器)”。所以我尝试了一个超级基本的例子:

movlw   D'26' 
movwf   FSR 
movf    INDF, W 

然而,当我调试时,传递给 FSR 的值如预期的那样是 26,但从 INDF 传递给 W 的值是 0 而不是 26。这是为什么呢?

【问题讨论】:

    标签: assembly pic microchip mplab


    【解决方案1】:

    INDF 读取FSR 提供的地址。因此,您的代码读取地址为0x1A (D'26') 的RCREG 寄存器:

    movlw   D'26' 
    movwf   FSR 
    movf    INDF, W   ;read the value in the physical address D'26'
    

    您必须使用 RP0RP1 位选择要从中读取的存储库,查看取决于控制器的数据表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-06
      相关资源
      最近更新 更多