z80 程序集 if 语句

z80 assembly if statement

给定以下 C 代码:

int a=8;
if (a==8)
    ...

z80 汇编中的等效代码是下面的代码吗?

ld a, 8
cp 8

只是抛出一些寄存器:

   ld hl,8     ; int is a 16 bit value
   push hl
   push bc
   ld bc,8
   or a        : clear carry flag
   sbc hl,bc   ; zero flag set when equal
   pop bc
   pop hl
   jr nz,endif

   ...

endif:

   ...

有关使用宏进行结构化程序集编程的有趣内容,请参阅 https://dev.to/jhlagado/structured-programming-in-z80-assembly-554d