--- np2/i286a/i286aop.inc 2003/12/16 04:58:00 1.1 +++ np2/i286a/i286aop.inc 2003/12/17 10:41:06 1.3 @@ -127,7 +127,7 @@ $label EAREG16 r12 cmp r0, #&c0 bcc $label.1 CPUWORK $regclk - R8SRC r0, r5 + R16SRC r0, r5 ldrh r4, [r5, #CPU_REG] $alu r4, r6 mov pc, r11 @@ -270,5 +270,38 @@ $label POP $clk MEND + MACRO +$label JMPS $jmpclk +$label CPUWORK $jmpclk + ldr r0, [r9, #CPU_CS_BASE] + add r0, r0, r8 lsr #16 + bl i286_memoryread + mov r1, r0, lsl #24 + add r8, r8, #(1 << 16) + mov r0, r1, asr #8 + add r8, r0, r8 + mov pc, r11 + MEND + + MACRO +$label JMPNE $f, $nojclk, $jmpclk +$label tst r8, $f + bne $label.1 + CPUWORK $nojclk + add r8, r8, #(1 << 16) + mov pc, r11 +$label.1 JMPS $jmpclk + MEND + + MACRO +$label JMPEQ $f, $nojclk, $jmpclk +$label tst r8, $f + beq $label.1 + CPUWORK $nojclk + add r8, r8, #(1 << 16) + mov pc, r11 +$label.1 JMPS $jmpclk + MEND + END