|
|
| version 1.13, 2003/12/20 11:49:47 | version 1.20, 2004/07/17 20:43:02 |
|---|---|
| Line 12 I_FLAG equ &0200 | Line 12 I_FLAG equ &0200 |
| D_FLAG equ &0400 | D_FLAG equ &0400 |
| O_FLAG equ &0800 | O_FLAG equ &0800 |
| CPU_SIZE equ 124 | MSW_PE equ &0001 |
| MSW_MP equ &0002 | |
| MSW_EM equ &0004 | |
| MSW_TS equ &0008 | |
| CPU_SIZE equ (104 + 32) | |
| CPU_STAT equ (0 - CPU_SIZE) | CPU_STAT equ (0 - CPU_SIZE) |
| CPU_EXT equ (104 - CPU_SIZE) | CPU_EXT equ (104 - CPU_SIZE) |
| CPU_REG equ CPU_STAT + 0 | CPU_REG equ CPU_STAT + 0 |
| CPU_SEG equ CPU_STAT + 16 | CPU_SEG equ CPU_STAT + 16 |
| CPU_REMAINCLOCK equ CPU_STAT + 28 | CPU_ES_BASE equ CPU_STAT + 28 |
| CPU_BASECLOCK equ CPU_STAT + 32 | CPU_CS_BASE equ CPU_STAT + 32 |
| ; cpu_clock equ CPU_STAT + 36 | CPU_SS_BASE equ CPU_STAT + 36 |
| CPU_ADRSMASK equ CPU_STAT + 40 | CPU_DS_BASE equ CPU_STAT + 40 |
| CPU_ES_BASE equ CPU_STAT + 44 | CPU_SS_FIX equ CPU_STAT + 44 |
| CPU_CS_BASE equ CPU_STAT + 48 | CPU_DS_FIX equ CPU_STAT + 48 |
| CPU_SS_BASE equ CPU_STAT + 52 | CPU_ADRSMASK equ CPU_STAT + 52 |
| CPU_DS_BASE equ CPU_STAT + 56 | CPU_PREFIX equ CPU_STAT + 56 |
| CPU_SS_FIX equ CPU_STAT + 60 | ; cpu_resetreq equ CPU_STAT + 57 |
| CPU_DS_FIX equ CPU_STAT + 64 | CPU_GDTR equ CPU_STAT + 58 |
| CPU_PREFIX equ CPU_STAT + 68 | CPU_MSW equ CPU_STAT + 64 |
| CPU_TRAP equ CPU_STAT + 70 | CPU_IDTR equ CPU_STAT + 66 |
| ; cpu_type equ CPU_STAT + 71 | CPU_LDTR equ CPU_STAT + 72 |
| ; cpu_pf_semaphore equ CPU_STAT + 72 | CPU_LDTRC equ CPU_STAT + 74 |
| ; cpu_repbak equ CPU_STAT + 76 | CPU_TR equ CPU_STAT + 80 |
| CPU_INPUT equ CPU_STAT + 80 | CPU_TRC equ CPU_STAT + 82 |
| ; cpu_ovflag equ CPU_STAT + 84 | ; cpu_type equ CPU_STAT + 88 |
| CPU_GDTR equ CPU_STAT + 88 | CPU_ITFBANK equ CPU_STAT + 89 |
| CPU_IDTR equ CPU_STAT + 94 | ; cpu_ram_d0 equ CPU_STAT + 90 |
| CPU_MSW equ CPU_STAT + 100 | CPU_REMAINCLOCK equ CPU_STAT + 92 |
| ; cpu_resetreq equ CPU_STAT + 102 | CPU_BASECLOCK equ CPU_STAT + 96 |
| CPU_ITFBANK equ CPU_STAT + 103 | ; cpu_clock equ CPU_STAT + 100 |
| ; cpu_stat_size equ 104 | ; cpu_stat_size equ 104 |
| CPU_AL equ CPU_STAT + 0 | CPU_AL equ CPU_STAT + 0 |
| Line 69 CPU_IP equ CPU_STAT + 26 | Line 74 CPU_IP equ CPU_STAT + 26 |
| CPU_EXTMEM equ CPU_EXT + 0 | CPU_EXTMEM equ CPU_EXT + 0 |
| CPU_EXTMEMSIZE equ CPU_EXT + 4 | CPU_EXTMEMSIZE equ CPU_EXT + 4 |
| MEMWAIT_TRAM equ CPU_EXT + 8 | CPU_EMS equ CPU_EXT + 8 |
| MEMWAIT_VRAM equ CPU_EXT + 9 | CPU_INPUT equ CPU_EXT + 24 |
| MEMWAIT_GRCG equ CPU_EXT + 10 | MEMWAIT_TRAM equ CPU_EXT + 28 |
| FONTPTR_LOW equ CPU_EXT + 12 | MEMWAIT_VRAM equ CPU_EXT + 29 |
| FONTPTR_HIGH equ CPU_EXT + 16 | MEMWAIT_GRCG equ CPU_EXT + 30 |
| ; cpu_ext_size equ 20 | ; cpu_ext_size equ 32 |
| MAX_PREFIX equ 8 | MAX_PREFIX equ 8 |
| MACRO | MACRO |
| $label CPUSVC | $label CPUDBGS |
| $label ;; str r7, [r9, #CPU_REMAINCLOCK] | $label ;; str r7, [r9, #CPU_REMAINCLOCK] |
| MEND | MEND |
| MACRO | MACRO |
| $label CPULDC | $label CPUDBGL |
| $label ;; ldr r7, [r9, #CPU_REMAINCLOCK] | $label ;; ldr r7, [r9, #CPU_REMAINCLOCK] |
| MEND | MEND |
| MACRO | |
| $label CPUSVC | |
| $label str r7, [r9, #CPU_REMAINCLOCK] | |
| MEND | |
| MACRO | |
| $label CPULDC | |
| $label ldr r7, [r9, #CPU_REMAINCLOCK] | |
| MEND | |
| MACRO | MACRO |
| $label CPUSVF | $label CPUSVF |
| $label str r8, [r9, #CPU_FLAG] | $label str r8, [r9, #CPU_FLAG] |
| Line 114 $label CPULDF | Line 131 $label CPULDF |
| MACRO | MACRO |
| $label CPUWORK $clock | $label CPUWORK $clock |
| $label ldr r7, [r9, #CPU_REMAINCLOCK] | $label CPUDBGL |
| sub r7, r7, $clock | sub r7, r7, $clock |
| str r7, [r9, #CPU_REMAINCLOCK] | CPUDBGS |
| MEND | MEND |
| MACRO | MACRO |
| $label CPUWKS $clock | $label CPUWKS $clock |
| $label ldr r7, [r9, #CPU_REMAINCLOCK] | $label CPUDBGL |
| subs r7, r7, $clock | subs r7, r7, $clock |
| str r7, [r9, #CPU_REMAINCLOCK] | CPUDBGS |
| MEND | MEND |
| MACRO | MACRO |
| $label CREMSET $clock | $label CREMSET $clock |
| $label mov r7, $clock | $label mov r7, $clock |
| str r7, [r9, #CPU_REMAINCLOCK] | CPUDBGS |
| MEND | MEND |
| MACRO | MACRO |
| $label NEXT_OPCODE | $label NEXT_OPCODE |
| $label ldr r7, [r9, #CPU_REMAINCLOCK] | $label CPUDBGL |
| cmp r7, #1 | cmp r7, #1 |
| movge pc, r11 | movge pc, r11 |
| ldr r0, [r9, #CPU_BASECLOCK] | ldr r0, [r9, #CPU_BASECLOCK] |
| Line 142 $label ldr r7, [r9, #CPU_REMAINCLOCK] | Line 159 $label ldr r7, [r9, #CPU_REMAINCLOCK] |
| mov r7, #1 | mov r7, #1 |
| add r0, r0, r1 | add r0, r0, r1 |
| str r0, [r9, #CPU_BASECLOCK] | str r0, [r9, #CPU_BASECLOCK] |
| str r7, [r9, #CPU_REMAINCLOCK] | CPUDBGS |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| MACRO | MACRO |
| $label REMAIN_ADJUST $clk | $label REMAIN_ADJUST $clk |
| $label ldr r7, [r9, #CPU_REMAINCLOCK] | $label CPUDBGL |
| cmp r7, $clk | cmp r7, $clk |
| moveq pc, r11 | moveq pc, r11 |
| ldr r0, [r9, #CPU_BASECLOCK] | ldr r0, [r9, #CPU_BASECLOCK] |
| Line 156 $label ldr r7, [r9, #CPU_REMAINCLOCK] | Line 173 $label ldr r7, [r9, #CPU_REMAINCLOCK] |
| mov r7, $clk | mov r7, $clk |
| add r0, r0, r1 | add r0, r0, r1 |
| str r0, [r9, #CPU_BASECLOCK] | str r0, [r9, #CPU_BASECLOCK] |
| str r7, [r9, #CPU_REMAINCLOCK] | CPUDBGS |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| MACRO | MACRO |
| $label I286IRQCHECKTERM | $label I286IRQCHECKTERM |
| $label ldr r7, [r9, #CPU_REMAINCLOCK] | $label CPUDBGL |
| cmp r7, #0 | cmp r7, #0 |
| movle pc, r11 | movle pc, r11 |
| ldr r0, [r9, #CPU_BASECLOCK] | ldr r0, [r9, #CPU_BASECLOCK] |
| mov r1, r7 | mov r1, r7 |
| mov r7, #0 | mov r7, #0 |
| sub r0, r0, r1 | sub r0, r0, r1 |
| str r7, [r9, #CPU_REMAINCLOCK] | |
| str r0, [r9, #CPU_BASECLOCK] | str r0, [r9, #CPU_BASECLOCK] |
| CPUDBGS | |
| mov pc, r11 | mov pc, r11 |
| MEND | MEND |
| MACRO | |
| $label ACCWORD $r, $l | |
| $label tst $r, #1 | |
| bne $l | |
| cmp $r, #I286_MEMWRITEMAX | |
| bcs $l | |
| MEND | |
| END | END |