|
|
| version 1.2, 2003/12/18 19:14:08 | version 1.4, 2003/12/21 23:27:08 |
|---|---|
| Line 5 | Line 5 |
| IMPORT i286a_ea | IMPORT i286a_ea |
| IMPORT i286a_a | IMPORT i286a_a |
| 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 |
| IMPORT i286a_localint | IMPORT i286a_localint |
| Line 18 | Line 18 |
| i286a_cts mov r6, r8 | i286a_cts mov r6, r8 |
| GETPC8 | GETPCF8 |
| cmp r0, #1 | cmp r0, #1 |
| bne cts_ldall | bne cts_ldall |
| GETPC8 | GETPCF8 |
| and r12, r0, #(7 << 3) | and r12, r0, #(7 << 3) |
| add pc, pc, r12 lsr #1 | add pc, pc, r12 lsr #1 |
| nop | nop |
| Line 42 sgdt cmp r0, #&c0 | Line 42 sgdt cmp r0, #&c0 |
| ldrh r1, [r9, #(CPU_GDTR + 0)] | ldrh r1, [r9, #(CPU_GDTR + 0)] |
| add r0, r0, r6 | add r0, r0, r6 |
| bic r4, r4, #(1 << 16) | bic r4, r4, #(1 << 16) |
| bl i286_memorywrite_w | bl i286a_memorywrite_w |
| add r0, r4, r6 | add r0, r4, r6 |
| ldrh r1, [r9, #(CPU_GDTR + 2)] | ldrh r1, [r9, #(CPU_GDTR + 2)] |
| add r4, r4, #2 | add r4, r4, #2 |
| bl i286_memorywrite_w | bl i286a_memorywrite_w |
| ldrb r1, [r9, #(CPU_GDTR + 4)] | ldrb r1, [r9, #(CPU_GDTR + 4)] |
| bic r4, r4, #(1 << 16) | bic r4, r4, #(1 << 16) |
| orr r1, r1, #&ff00 | orr r1, r1, #&ff00 |
| add r0, r4, r6 | add r0, r4, r6 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite_w | b i286a_memorywrite_w |
| sidt cmp r0, #&c0 | sidt cmp r0, #&c0 |
| bcs cts_intr | bcs cts_intr |
| Line 62 sidt cmp r0, #&c0 | Line 62 sidt cmp r0, #&c0 |
| ldrh r1, [r9, #(CPU_IDTR + 0)] | ldrh r1, [r9, #(CPU_IDTR + 0)] |
| add r0, r0, r6 | add r0, r0, r6 |
| bic r4, r4, #(1 << 16) | bic r4, r4, #(1 << 16) |
| bl i286_memorywrite_w | bl i286a_memorywrite_w |
| add r0, r4, r6 | add r0, r4, r6 |
| ldrh r1, [r9, #(CPU_IDTR + 2)] | ldrh r1, [r9, #(CPU_IDTR + 2)] |
| add r4, r4, #2 | add r4, r4, #2 |
| bl i286_memorywrite_w | bl i286a_memorywrite_w |
| ldrb r1, [r9, #(CPU_IDTR + 4)] | ldrb r1, [r9, #(CPU_IDTR + 4)] |
| bic r4, r4, #(1 << 16) | bic r4, r4, #(1 << 16) |
| orr r1, r1, #&ff00 | orr r1, r1, #&ff00 |
| add r0, r4, r6 | add r0, r4, r6 |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite_w | b i286a_memorywrite_w |
| lgdt cmp r0, #&c0 | lgdt cmp r0, #&c0 |
| bcs cts_intr | bcs cts_intr |
| Line 81 lgdt cmp r0, #&c0 | Line 81 lgdt cmp r0, #&c0 |
| add r4, r0, #2 | add r4, r0, #2 |
| add r0, r0, r6 | add r0, r0, r6 |
| bic r4, r4, #(1 << 16) | bic r4, r4, #(1 << 16) |
| bl i286_memoryread_w | bl i286a_memoryread_w |
| strh r0, [r9, #(CPU_GDTR + 0)] | strh r0, [r9, #(CPU_GDTR + 0)] |
| add r0, r4, r6 | add r0, r4, r6 |
| add r4, r4, #2 | add r4, r4, #2 |
| bl i286_memoryread_w | bl i286a_memoryread_w |
| bic r4, r4, #(1 << 16) | bic r4, r4, #(1 << 16) |
| strh r0, [r9, #(CPU_GDTR + 2)] | strh r0, [r9, #(CPU_GDTR + 2)] |
| add r0, r4, r6 | add r0, r4, r6 |
| bl i286_memoryread_w | bl i286a_memoryread_w |
| strh r0, [r9, #(CPU_GDTR + 4)] | strh r0, [r9, #(CPU_GDTR + 4)] |
| mov pc, r11 | mov pc, r11 |
| Line 100 lidt cmp r0, #&c0 | Line 100 lidt cmp r0, #&c0 |
| add r4, r0, #2 | add r4, r0, #2 |
| add r0, r0, r6 | add r0, r0, r6 |
| bic r4, r4, #(1 << 16) | bic r4, r4, #(1 << 16) |
| bl i286_memoryread_w | bl i286a_memoryread_w |
| strh r0, [r9, #(CPU_IDTR + 0)] | strh r0, [r9, #(CPU_IDTR + 0)] |
| add r0, r4, r6 | add r0, r4, r6 |
| add r4, r4, #2 | add r4, r4, #2 |
| bl i286_memoryread_w | bl i286a_memoryread_w |
| bic r4, r4, #(1 << 16) | bic r4, r4, #(1 << 16) |
| strh r0, [r9, #(CPU_IDTR + 2)] | strh r0, [r9, #(CPU_IDTR + 2)] |
| add r0, r4, r6 | add r0, r4, r6 |
| bl i286_memoryread_w | bl i286a_memoryread_w |
| strh r0, [r9, #(CPU_IDTR + 4)] | strh r0, [r9, #(CPU_IDTR + 4)] |
| mov pc, r11 | mov pc, r11 |
| Line 123 smswm CPUWORK #6 | Line 123 smswm CPUWORK #6 |
| bl i286a_ea | bl i286a_ea |
| strh r1, [r9, #CPU_MSW] | strh r1, [r9, #CPU_MSW] |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite_w | b i286a_memorywrite_w |
| lmsw cmp r0, #&c0 | lmsw cmp r0, #&c0 |
| bcc lmswm | bcc lmswm |
| Line 134 lmsw cmp r0, #&c0 | Line 134 lmsw cmp r0, #&c0 |
| mov pc, r11 | mov pc, r11 |
| lmswm CPUWORK #6 | lmswm CPUWORK #6 |
| bl i286a_ea | bl i286a_ea |
| bl i286_memoryread_w | bl i286a_memoryread_w |
| strh r0, [r9, #CPU_MSW] | strh r0, [r9, #CPU_MSW] |
| mov pc, r11 | mov pc, r11 |