|
|
| version 1.4, 2003/12/17 14:04:43 | version 1.9, 2003/12/21 23:27:08 |
|---|---|
| Line 1 | Line 1 |
| INCLUDE i286a.inc | INCLUDE i286a.inc |
| INCLUDE i286aea.inc | |
| INCLUDE i286aalu.inc | INCLUDE i286aalu.inc |
| IMPORT i286a_ea | IMPORT i286a_ea |
| IMPORT i286_memoryread | IMPORT i286a_memoryread |
| IMPORT i286_memoryread_w | IMPORT i286a_memoryread_w |
| IMPORT i286_memorywrite | IMPORT i286a_memorywrite |
| IMPORT i286_memorywrite_w | IMPORT i286a_memorywrite_w |
| EXPORT i286aop80 | EXPORT i286aop80 |
| EXPORT i286aop81 | EXPORT i286aop81 |
| Line 14 | Line 15 |
| AREA .text, CODE, READONLY | AREA .text, CODE, READONLY |
| i286aop80 GETPC8 | i286aop80 GETPCF8 |
| and r6, r0, #(7 << 3) | and r6, r0, #(7 << 3) |
| cmp r0, #&c0 | cmp r0, #&c0 |
| bcc ope80m | bcc ope80m |
| Line 23 i286aop80 GETPC8 | Line 24 i286aop80 GETPC8 |
| add r5, r5, #CPU_REG | add r5, r5, #CPU_REG |
| GETPC8 | GETPC8 |
| adr r1, op8x_reg8 | adr r1, op8x_reg8 |
| ldrb r4, [r5] | |
| ldr pc, [r1, r6 lsr #1] | ldr pc, [r1, r6 lsr #1] |
| ope80m CPUWORK #7 | ope80m CPUWORK #7 |
| bl i286a_ea | bl i286a_ea |
| Line 31 ope80m CPUWORK #7 | Line 33 ope80m CPUWORK #7 |
| add r5, r9, r0 | add r5, r9, r0 |
| GETPC8 | GETPC8 |
| adr r1, op8x_reg8 | adr r1, op8x_reg8 |
| ldrb r4, [r5] | |
| ldr pc, [r1, r6 lsr #1] | ldr pc, [r1, r6 lsr #1] |
| ope80e mov r4, r0 | ope80e mov r5, r0 |
| bl i286a_memoryread | |
| mov r4, r0 | |
| GETPC8 | GETPC8 |
| mov r5, r0 | |
| bl i286_memoryread | |
| adr r1, op8x_ext8 | adr r1, op8x_ext8 |
| ldr pc, [r1, r6 lsr #1] | ldr pc, [r1, r6 lsr #1] |
| Line 57 op8x_ext8 dcd add_r8_e | Line 60 op8x_ext8 dcd add_r8_e |
| dcd xor_r8_e | dcd xor_r8_e |
| dcd cmp_r8_e | dcd cmp_r8_e |
| add_r8_i ldrb r6, [r5] | add_r8_i ADD8 r4, r0 |
| ADD8 r6, r0 | |
| strb r1, [r5] | strb r1, [r5] |
| mov pc, r11 | mov pc, r11 |
| or_r8_i ldrb r6, [r5] | or_r8_i OR8 r4, r0 |
| OR8 r6, r0 | |
| strb r1, [r5] | strb r1, [r5] |
| mov pc, r11 | mov pc, r11 |
| adc_r8_i ldrb r6, [r5] | adc_r8_i ADC8 r4, r0 |
| ADC8 r6, r0 | |
| strb r1, [r5] | strb r1, [r5] |
| mov pc, r11 | mov pc, r11 |
| sbb_r8_i ldrb r6, [r5] | sbb_r8_i SBB8 r4, r0 |
| SBB8 r6, r0 | |
| strb r1, [r5] | strb r1, [r5] |
| mov pc, r11 | mov pc, r11 |
| and_r8_i ldrb r6, [r5] | and_r8_i AND8 r4, r0 |
| AND8 r6, r0 | |
| strb r1, [r5] | strb r1, [r5] |
| mov pc, r11 | mov pc, r11 |
| sub_r8_i ldrb r6, [r5] | sub_r8_i SUB8 r4, r0 |
| SUB8 r6, r0 | |
| strb r1, [r5] | strb r1, [r5] |
| mov pc, r11 | mov pc, r11 |
| xor_r8_i ldrb r6, [r5] | xor_r8_i XOR8 r4, r0 |
| XOR8 r6, r0 | |
| strb r1, [r5] | strb r1, [r5] |
| mov pc, r11 | mov pc, r11 |
| cmp_r8_i ldrb r6, [r5] | cmp_r8_i SUB8 r4, r0 |
| SUB8 r6, r0 | |
| mov pc, r11 | mov pc, r11 |
| add_r8_e ADD8 r0, r4 | add_r8_e ADD8 r4, r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite | b i286a_memorywrite |
| or_r8_e OR8 r0, r4 | or_r8_e OR8 r4, r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite | b i286a_memorywrite |
| adc_r8_e ADC8 r0, r4 | adc_r8_e ADC8 r4, r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite | b i286a_memorywrite |
| sbb_r8_e SBB8 r0, r4 | sbb_r8_e SBB8 r4, r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite | b i286a_memorywrite |
| and_r8_e AND8 r0, r4 | and_r8_e AND8 r4, r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite | b i286a_memorywrite |
| sub_r8_e SUB8 r0, r4 | sub_r8_e SUB8 r4, r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite | b i286a_memorywrite |
| xor_r8_e XOR8 r0, r4 | xor_r8_e XOR8 r4, r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite | b i286a_memorywrite |
| cmp_r8_e SUB8 r0, r4 | cmp_r8_e SUB8 r4, r0 |
| mov pc, r11 | mov pc, r11 |
| ; ---- | ; ---- |
| i286aop81 GETPC8 | i286aop81 GETPCF8 |
| and r6, r0, #(7 << 3) | and r6, r0, #(7 << 3) |
| cmp r0, #&c0 | cmp r0, #&c0 |
| bcc ope81m | bcc ope81m |
| Line 132 i286aop81 GETPC8 | Line 127 i286aop81 GETPC8 |
| add r5, r5, #CPU_REG | add r5, r5, #CPU_REG |
| GETPC16 | GETPC16 |
| adr r1, op8x_reg16 | adr r1, op8x_reg16 |
| ldrh r4, [r5] | |
| ldr pc, [r1, r6 lsr #1] | ldr pc, [r1, r6 lsr #1] |
| ope81m CPUWORK #7 | ope81m CPUWORK #7 |
| bl i286a_ea | bl i286a_ea |
| Line 142 ope81m CPUWORK #7 | Line 138 ope81m CPUWORK #7 |
| add r5, r9, r0 | add r5, r9, r0 |
| GETPC16 | GETPC16 |
| adr r1, op8x_reg16 | adr r1, op8x_reg16 |
| ldrh r4, [r5] | |
| ldr pc, [r1, r6 lsr #1] | ldr pc, [r1, r6 lsr #1] |
| ope81e mov r5, r0 | ope81e mov r5, r0 |
| bl i286_memoryread_w | bl i286a_memoryread_w |
| mov r4, r0 | mov r4, r0 |
| GETPC16 | GETPC16 |
| adr r1, op8x_ext16 | adr r1, op8x_ext16 |
| ldr pc, [r1, r6 lsr #1] | ldr pc, [r1, r6 lsr #1] |
| i286aop83 GETPC8 | i286aop83 GETPCF8 |
| and r6, r0, #(7 << 3) | and r6, r0, #(7 << 3) |
| cmp r0, #&c0 | cmp r0, #&c0 |
| bcc ope83m | bcc ope83m |
| Line 161 i286aop83 GETPC8 | Line 158 i286aop83 GETPC8 |
| tst r0, #(1 << 7) | tst r0, #(1 << 7) |
| orrne r0, r0, #(&ff << 8) | orrne r0, r0, #(&ff << 8) |
| adr r1, op8x_reg16 | adr r1, op8x_reg16 |
| ldrh r4, [r5] | |
| ldr pc, [r1, r6 lsr #1] | ldr pc, [r1, r6 lsr #1] |
| ope83m CPUWORK #7 | ope83m CPUWORK #7 |
| bl i286a_ea | bl i286a_ea |
| Line 173 ope83m CPUWORK #7 | Line 171 ope83m CPUWORK #7 |
| tst r0, #(1 << 7) | tst r0, #(1 << 7) |
| orrne r0, r0, #(&ff << 8) | orrne r0, r0, #(&ff << 8) |
| adr r1, op8x_reg16 | adr r1, op8x_reg16 |
| ldrh r4, [r5] | |
| ldr pc, [r1, r6 lsr #1] | ldr pc, [r1, r6 lsr #1] |
| ope83e mov r5, r0 | ope83e mov r5, r0 |
| bl i286_memoryread_w | bl i286a_memoryread_w |
| mov r4, r0 | mov r4, r0 |
| GETPC8 | GETPC8 |
| tst r0, #(1 << 7) | tst r0, #(1 << 7) |
| Line 201 op8x_ext16 dcd add_r16_e | Line 200 op8x_ext16 dcd add_r16_e |
| dcd xor_r16_e | dcd xor_r16_e |
| dcd cmp_r16_e | dcd cmp_r16_e |
| add_r16_i ldrh r6, [r5] | add_r16_i ADD16 r4, r0 |
| ADD16 r6, r0 | |
| strh r1, [r5] | strh r1, [r5] |
| mov pc, r11 | mov pc, r11 |
| or_r16_i ldrh r6, [r5] | or_r16_i OR16 r4, r0 |
| OR16 r6, r0 | |
| strh r1, [r5] | strh r1, [r5] |
| mov pc, r11 | mov pc, r11 |
| adc_r16_i ldrh r6, [r5] | adc_r16_i ADC16 r4, r0 |
| ADC16 r6, r0 | |
| strh r1, [r5] | strh r1, [r5] |
| mov pc, r11 | mov pc, r11 |
| sbb_r16_i ldrh r6, [r5] | sbb_r16_i SBB16 r4, r0 |
| SBB16 r6, r0 | |
| strh r1, [r5] | strh r1, [r5] |
| mov pc, r11 | mov pc, r11 |
| and_r16_i ldrh r6, [r5] | and_r16_i AND16 r4, r0 |
| AND16 r6, r0 | |
| strh r1, [r5] | strh r1, [r5] |
| mov pc, r11 | mov pc, r11 |
| sub_r16_i ldrh r6, [r5] | sub_r16_i SUB16 r4, r0 |
| SUB16 r6, r0 | |
| strh r1, [r5] | strh r1, [r5] |
| mov pc, r11 | mov pc, r11 |
| xor_r16_i ldrh r6, [r5] | xor_r16_i XOR16 r4, r0 |
| XOR16 r6, r0 | |
| strh r1, [r5] | strh r1, [r5] |
| mov pc, r11 | mov pc, r11 |
| cmp_r16_i ldrh r6, [r5] | cmp_r16_i SUB16 r4, r0 |
| SUB16 r6, r0 | |
| mov pc, r11 | mov pc, r11 |
| add_r16_e ADD16 r4, r0 | add_r16_e ADD16 r4, r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite_w | b i286a_memorywrite_w |
| or_r16_e OR16 r4, r0 | or_r16_e OR16 r4, r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite_w | b i286a_memorywrite_w |
| adc_r16_e ADC16 r4, r0 | adc_r16_e ADC16 r4, r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite_w | b i286a_memorywrite_w |
| sbb_r16_e SBB16 r4, r0 | sbb_r16_e SBB16 r4, r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite_w | b i286a_memorywrite_w |
| and_r16_e AND16 r4, r0 | and_r16_e AND16 r4, r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite_w | b i286a_memorywrite_w |
| sub_r16_e SUB16 r4, r0 | sub_r16_e SUB16 r4, r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite_w | b i286a_memorywrite_w |
| xor_r16_e XOR16 r4, r0 | xor_r16_e XOR16 r4, r0 |
| mov r0, r5 | mov r0, r5 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite_w | b i286a_memorywrite_w |
| cmp_r16_e SUB16 r4, r0 | cmp_r16_e SUB16 r4, r0 |
| mov pc, r11 | mov pc, r11 |