在其他架构上等同于Z80 DJNZ指令?

Jus*_*ier 3 assembly z80 instruction-set

首先是一点背景.z80 CPU有一个名为DJNZ的指令,可以像for循环一样使用.基本上,DJNZ递减B寄存器并跳转到标签(如果不是零).例如:

    ld      b,96                    ; erase all of the line
disp_version_erase_loop:
    call    _vputblank              ; erase pixels at cursor (uses b reg)
    djnz    disp_version_erase_loop ; loop 
Run Code Online (Sandbox Code Playgroud)

当然,您可以使用常规比较和跳转指令来执行相同的操作,但通常使用单个指令很方便.

有了这个,我的问题是,其他CPU架构是否包含类似的控制指令?

GJ.*_*GJ. 6

在IA-32中直接相当于DJNZ的是LOOPcc(LOOPZ).请记住,Z80和8086具有相同的前身Intel 8080.所以所有x86 CPU都直接继承了DJNZ指令!