我正在制作z80 pio程序,但是我发现JRNZ的代码有些错误

问题描述

如果数据输入PORT A = 08H,则数据输出PORT B = 0FH,如果数据输入PORT A = 80H,则数据输出PORT B = F0H,除此以外,输出PORT B = 00H 这是我的代码

=IMPORTXML(TO_TEXT($A$1)&TO_TEXT(B3)&"/","//div[@class='PriceHistoryStats--value']")

=IMPORTXML(TO_TEXT($A$1)&TO_TEXT(B3)&"/","//*[@class='PriceHistoryStats--value']")

错误:无法识别的指令。 'JRNZ +-'

解决方法

标准的Z-80助记符将条件码与操作码分开。换句话说,JRNZ不是有效的Z-80操作码。您应该像这样将其分开:

    JR    NZ,STATE1
...
    JR    NZ,STATE2

偶然地,您的程序中有一个错误。完成输出之前,您需要将B加载到寄存器A。

RESULT: LD     A,B
        OUT    (81H),A
        JP     LOOP

或者您可以使用OUT (C),reg变体:

RESULT: LD     C,81H
        OUT    (C),B
        JP     LOOP

如果由于预期匹配输入而加载输出值,也可以使程序短一些。像这样:

LOOP:   IN     A,(80H)
        LD     B,0FH
        CP     08H
        JR     Z,RESULT
        LD     B,F0H
        CP     80H
        JR     Z,00H
RESULT: LD     A,A
        JP     LOOP

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...