在386汇编中,jnz by pointer是不可能的?

时间:2013-06-05 03:38:02

标签: assembly x86

此代码有效:

jz jnzover
jmp [esi + 8]
jnzover:

有没有办法在一个操作码中写这个?

当我输入jnz [esi + 8]时,它会说“期待指针类型”

2 个答案:

答案 0 :(得分:4)

没有。 r/m16操作码(仅r/m32)不支持Jccrel16/32个操作数。如果要分支到任意(或绝对)地址,则只能通过JMP r/m16JMP r/m32指令执行此操作。

答案 1 :(得分:-1)

只听说过zilog z80芯片中的条件跳转

ifz-add ax,bx

有点东西在Ketman Interpeter中,但它是一个宏组装为

jnz HERE

添加ax,bx

下面

是汇编代码

整个8088范围缺少条件调用和rets