|
|
| version 1.5, 2003/12/18 19:14:08 | version 1.13, 2005/03/19 21:02:05 |
|---|---|
| Line 1 | Line 1 |
| MACRO | MACRO |
| $label OP_EA_R8 $alu, $regclk, $memclk | $label OP_EA_R8 $alu, $regclk, $memclk |
| $label EAREG8 r12 | $label EAREG8 r12 |
| ldrb r6, [r12, #CPU_REG] | ldrb r6, [r12, #CPU_REG] |
| cmp r0, #&c0 | cmp r0, #&c0 |
| bcc $label.1 | bcc $label.1 |
| CPUWORK $regclk | |
| R8SRC r0, r5 | R8SRC r0, r5 |
| CPUWORK $regclk | |
| ldrb r4, [r5, #CPU_REG] | ldrb r4, [r5, #CPU_REG] |
| $alu r4, r6 | $alu r4, r6 |
| strb r1, [r5, #CPU_REG] | strb r1, [r5, #CPU_REG] |
| Line 21 $label.1 CPUWORK $memclk | Line 20 $label.1 CPUWORK $memclk |
| strb r1, [r9, r0] | strb r1, [r9, r0] |
| mov pc, r11 | mov pc, r11 |
| $label.2 mov r5, r0 | $label.2 mov r5, r0 |
| bl i286_memoryread | bl i286a_memoryread |
| $alu r0, r6 | $alu r0, r6 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite | b i286a_memorywrite |
| MEND | MEND |
| MACRO | MACRO |
| Line 42 $label EAREG16 r12 | Line 41 $label EAREG16 r12 |
| mov pc, r11 | mov pc, r11 |
| $label.1 CPUWORK $memclk | $label.1 CPUWORK $memclk |
| bl i286a_ea | bl i286a_ea |
| tst r0, #1 | ACCWORD r0, $label.2 |
| bne $label.2 | |
| cmp r0, #I286_MEMWRITEMAX | |
| bcs $label.2 | |
| ldrh r4, [r9, r0] | ldrh r4, [r9, r0] |
| $alu r4, r6 | $alu r4, r6 |
| strh r1, [r9, r0] | strh r1, [r9, r0] |
| mov pc, r11 | mov pc, r11 |
| $label.2 mov r5, r0 | $label.2 mov r5, r0 |
| bl i286_memoryread_w | bl i286a_memoryread_w |
| $alu r0, r6 | $alu r0, r6 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite_w | b i286a_memorywrite_w |
| MEND | MEND |
| MACRO | MACRO |
| $label OP_R8_EA $alu, $regclk, $memclk | $label OP_R8_EA $alu, $regclk, $memclk |
| $label REG8EA r5, $regclk, $memclk | $label REG8EA r6, $regclk, $memclk |
| ldrb r2, [r5, #CPU_REG] | ldrb r4, [r6, #CPU_REG] |
| $alu r2, r0 | $alu r4, r0 |
| strb r1, [r5, #CPU_REG] | strb r1, [r6, #CPU_REG] |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| MACRO | MACRO |
| $label OP_R16_EA $alu, $regclk, $memclk | $label OP_R16_EA $alu, $regclk, $memclk |
| $label REG16EA r5, $regclk, $memclk | $label REG16EA r6, $regclk, $memclk |
| ldrh r2, [r5, #CPU_REG] | ldrh r4, [r6, #CPU_REG] |
| $alu r2, r0 | $alu r4, r0 |
| strh r1, [r5, #CPU_REG] | strh r1, [r6, #CPU_REG] |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| MACRO | MACRO |
| $label OP_AL_D8 $alu, $clk | $label OP_AL_D8 $alu, $clk |
| $label CPUWORK $clk | $label CPUWORK $clk |
| GETPC8 | GETPCF8 |
| ldrb r2, [r9, #CPU_AL] | ldrb r4, [r9, #CPU_AL] |
| $alu r2, r0 | $alu r4, r0 |
| strb r1, [r9, #CPU_AL] | strb r1, [r9, #CPU_AL] |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| Line 90 $label CPUWORK $clk | Line 86 $label CPUWORK $clk |
| $label OP_AX_D16 $alu, $clk | $label OP_AX_D16 $alu, $clk |
| $label CPUWORK $clk | $label CPUWORK $clk |
| GETPC16 | GETPC16 |
| ldrh r2, [r9, #CPU_AX] | ldrh r4, [r9, #CPU_AX] |
| $alu r2, r0 | $alu r4, r0 |
| strh r1, [r9, #CPU_AX] | strh r1, [r9, #CPU_AX] |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| Line 115 $label.1 CPUWORK $memclk | Line 111 $label.1 CPUWORK $memclk |
| ldrb r4, [r9, r0] | ldrb r4, [r9, r0] |
| $alu r4, r6 | $alu r4, r6 |
| mov pc, r11 | mov pc, r11 |
| $label.2 bl i286_memoryread | $label.2 bl i286a_memoryread |
| $alu r0, r6 | $alu r0, r6 |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| Line 133 $label EAREG16 r12 | Line 129 $label EAREG16 r12 |
| mov pc, r11 | mov pc, r11 |
| $label.1 CPUWORK $memclk | $label.1 CPUWORK $memclk |
| bl i286a_ea | bl i286a_ea |
| tst r0, #1 | ACCWORD r0, $label.2 |
| bne $label.2 | |
| cmp r0, #I286_MEMWRITEMAX | |
| bcs $label.2 | |
| ldrh r4, [r9, r0] | ldrh r4, [r9, r0] |
| $alu r4, r6 | $alu r4, r6 |
| mov pc, r11 | mov pc, r11 |
| $label.2 bl i286_memoryread_w | $label.2 bl i286a_memoryread_w |
| $alu r0, r6 | $alu r0, r6 |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| MACRO | MACRO |
| $label S_R8_EA $alu, $regclk, $memclk | $label S_R8_EA $alu, $regclk, $memclk |
| $label REG8EA r5, $regclk, $memclk | $label REG8EA r6, $regclk, $memclk |
| ldrb r2, [r5, #CPU_REG] | ldrb r4, [r6, #CPU_REG] |
| $alu r2, r0 | $alu r4, r0 |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| MACRO | MACRO |
| $label S_R16_EA $alu, $regclk, $memclk | $label S_R16_EA $alu, $regclk, $memclk |
| $label REG16EA r5, $regclk, $memclk | $label REG16EA r6, $regclk, $memclk |
| ldrh r2, [r5, #CPU_REG] | ldrh r4, [r6, #CPU_REG] |
| $alu r2, r0 | $alu r4, r0 |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| Line 165 $label REG16EA r5, $regclk, $memclk | Line 158 $label REG16EA r5, $regclk, $memclk |
| $label S_AL_D8 $alu, $clk | $label S_AL_D8 $alu, $clk |
| $label CPUWORK $clk | $label CPUWORK $clk |
| GETPC8 | GETPC8 |
| ldrb r2, [r9, #CPU_AL] | ldrb r4, [r9, #CPU_AL] |
| $alu r2, r0 | $alu r4, r0 |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| Line 174 $label CPUWORK $clk | Line 167 $label CPUWORK $clk |
| $label S_AX_D16 $alu, $clk | $label S_AX_D16 $alu, $clk |
| $label CPUWORK $clk | $label CPUWORK $clk |
| GETPC16 | GETPC16 |
| ldrh r2, [r9, #CPU_AX] | ldrh r4, [r9, #CPU_AX] |
| $alu r2, r0 | $alu r4, r0 |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| Line 199 $label.1 CPUWORK $memclk | Line 192 $label.1 CPUWORK $memclk |
| strb r1, [r9, r0] | strb r1, [r9, r0] |
| mov pc, r11 | mov pc, r11 |
| $label.2 mov r5, r0 | $label.2 mov r5, r0 |
| bl i286_memoryread | bl i286a_memoryread |
| $alu r0 | $alu r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite | b i286a_memorywrite |
| MEND | MEND |
| MACRO | MACRO |
| Line 218 $label cmp r0, #&c0 | Line 211 $label cmp r0, #&c0 |
| mov pc, r11 | mov pc, r11 |
| $label.1 CPUWORK $memclk | $label.1 CPUWORK $memclk |
| bl i286a_ea | bl i286a_ea |
| tst r0, #1 | ACCWORD r0, $label.2 |
| bne $label.2 | |
| cmp r0, #I286_MEMWRITEMAX | |
| bcs $label.2 | |
| ldrh r4, [r9, r0] | ldrh r4, [r9, r0] |
| $alu r4 | $alu r4 |
| strh r1, [r9, r0] | strh r1, [r9, r0] |
| mov pc, r11 | mov pc, r11 |
| $label.2 mov r5, r0 | $label.2 mov r5, r0 |
| bl i286_memoryread_w | bl i286a_memoryread_w |
| $alu r0 | $alu r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite_w | b i286a_memorywrite_w |
| MEND | MEND |
| Line 255 $label CPUWORK $clk | Line 245 $label CPUWORK $clk |
| MACRO | MACRO |
| $label XCHG_AX $r, $clk | $label XCHG_AX $r, $clk |
| $label CPUWORK $clk | $label ldrh r0, [r9, #CPU_AX] |
| ldrh r0, [r9, #CPU_AX] | |
| ldrh r1, [r9, $r] | ldrh r1, [r9, $r] |
| CPUWORK $clk | |
| strh r0, [r9, $r] | strh r0, [r9, $r] |
| strh r1, [r9, #CPU_AX] | strh r1, [r9, #CPU_AX] |
| mov pc, r11 | mov pc, r11 |
| Line 266 $label CPUWORK $clk | Line 256 $label CPUWORK $clk |
| MACRO | MACRO |
| $label MOVIMM8 $r, $clk | $label MOVIMM8 $r, $clk |
| $label CPUWORK $clk | $label GETPCF8 |
| GETPC8 | CPUWORK $clk |
| strb r0, [r9, $r] | strb r0, [r9, $r] |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| MACRO | MACRO |
| $label MOVIMM16 $r, $clk | $label MOVIMM16 $r, $clk |
| $label CPUWORK $clk | $label GETPCF16 |
| GETPC16 | CPUWORK $clk |
| strh r0, [r9, $r] | strh r0, [r9, $r] |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| Line 283 $label CPUWORK $clk | Line 273 $label CPUWORK $clk |
| MACRO | MACRO |
| $label SP_PUSH $clk | $label SP_PUSH $clk |
| $label CPUWORK $clk | $label ldrh r1, [r9, #CPU_SP] |
| ldrh r1, [r9, #CPU_SP] | |
| ldr r2, [r9, #CPU_SS_BASE] | ldr r2, [r9, #CPU_SS_BASE] |
| CPUWORK $clk | |
| sub r0, r1, #2 | sub r0, r1, #2 |
| mov r3, r0 lsl #16 | mov r3, r0 lsl #16 |
| strh r0, [r9, #CPU_SP] | strh r0, [r9, #CPU_SP] |
| add r0, r2, r3 lsr #16 | add r0, r2, r3 lsr #16 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite_w | b i286a_memorywrite_w |
| MEND | MEND |
| MACRO | MACRO |
| Line 300 $label CPUWORK $clk | Line 290 $label CPUWORK $clk |
| ldrh r0, [r9, #CPU_SP] | ldrh r0, [r9, #CPU_SP] |
| ldr r1, [r9, #CPU_SS_BASE] | ldr r1, [r9, #CPU_SS_BASE] |
| add r0, r1, r0 | add r0, r1, r0 |
| bl i286_memoryread_w | bl i286a_memoryread_w |
| strh r0, [r9, #CPU_SP] | strh r0, [r9, #CPU_SP] |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| MACRO | MACRO |
| $label SEGPOP $s, $b, $clk | $label SEGPOP $s, $b, $clk |
| $label POP $clk | $label ldrh r6, [r9, #CPU_MSW] |
| mov r1, r0 lsl #4 | POP $clk |
| strh r0, [r9, $s] | strh r0, [r9, $s] |
| str r1, [r9, $b] | tst r6, #MSW_PE |
| moveq r0, r0 lsl #4 | |
| blne i286a_selector | |
| str r0, [r9, $b] | |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| MACRO | MACRO |
| $label SEGPOPFIX $s, $b, $f, $clk | $label SEGPOPFIX $s, $b, $f, $clk |
| $label POP $clk | $label ldrh r6, [r9, #CPU_MSW] |
| mov r1, r0 lsl #4 | POP $clk |
| strh r0, [r9, $s] | strh r0, [r9, $s] |
| str r1, [r9, $b] | tst r6, #MSW_PE |
| str r1, [r9, $f] | moveq r0, r0 lsl #4 |
| mov pc, r11 | blne i286a_selector |
| str r0, [r9, $b] | |
| str r0, [r9, $f] | |
| MEND | MEND |
| MACRO | MACRO |
| $label JMPS $jmpclk | $label JMPS $jmpclk |
| $label CPUWORK $jmpclk | $label CPUWORK $jmpclk |
| ldr r0, [r9, #CPU_CS_BASE] | ;; ldr r5, [r9, #CPU_CS_BASE] |
| add r0, r0, r8 lsr #16 | add r0, r5, r8 lsr #16 |
| bl i286_memoryread | GETR0 |
| mov r1, r0, lsl #24 | mov r1, r0 lsl #24 |
| add r8, r8, #(1 << 16) | add r8, r8, #(1 << 16) |
| mov r0, r1, asr #8 | mov r0, r1 asr #8 |
| add r8, r0, r8 | add r8, r0, r8 |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |