|
|
| version 1.10, 2003/12/19 00:25:49 | version 1.13, 2003/12/19 12:29:04 |
|---|---|
| Line 6 | Line 6 |
| INCLUDE i286aio.inc | INCLUDE i286aio.inc |
| IMPORT i286core | IMPORT i286core |
| IMPORT _szpcflag8 | IMPORT iflags |
| IMPORT i286a_localint | IMPORT i286a_localint |
| IMPORT i286a_trapint | IMPORT i286a_trapint |
| EXPORT i286a_trapintr | EXPORT i286a_trapintr |
| Line 931 popf POP #5 | Line 931 popf POP #5 |
| strb r2, [r9, #CPU_TRAP] | strb r2, [r9, #CPU_TRAP] |
| bne popf_withirq | bne popf_withirq |
| ldr r0, popf_pic | ldr r0, popf_pic |
| tst r8, #I_FLAG | NOINTREXIT |
| moveq pc, r11 | |
| PICEXISTINTR | |
| moveq pc, r11 | |
| popf_withirq I286IRQCHECKTERM | popf_withirq I286IRQCHECKTERM |
| popf_pic dcd pic | popf_pic dcd pic |
| Line 1395 iret bl extirq_pop | Line 1392 iret bl extirq_pop |
| strb r2, [r9, #CPU_TRAP] | strb r2, [r9, #CPU_TRAP] |
| bne iret_withirq | bne iret_withirq |
| ldr r0, iret_pic | ldr r0, iret_pic |
| tst r8, #I_FLAG | NOINTREXIT |
| moveq pc, r11 | |
| PICEXISTINTR | |
| moveq pc, r11 | |
| iret_withirq I286IRQCHECKTERM | iret_withirq I286IRQCHECKTERM |
| iret_pic dcd pic | iret_pic dcd pic |
| aam CPUWORK #16 | aam CPUWORK #16 |
| GETPC8 | GETPC8 |
| movs r0, r0, lsl #7 | movs r0, r0 lsl #7 |
| beq aamzero | beq aamzero |
| ldrb r1, [r9, #CPU_AL] | ldrb r1, [r9, #CPU_AL] |
| mov r2, #&80 | mov r2, #&80 |
| Line 1413 aam CPUWORK #16 | Line 1407 aam CPUWORK #16 |
| aamlp cmp r1, r0 | aamlp cmp r1, r0 |
| subcs r1, r1, r0 | subcs r1, r1, r0 |
| orrcs r3, r2, r3 | orrcs r3, r2, r3 |
| mov r0, r0 lsr #1 | |
| movs r2, r2 lsr #1 | movs r2, r2 lsr #1 |
| bne aamlp | bne aamlp |
| ldrb r2, [r10, r1] | ldrb r2, [r10, r1] |
| Line 1657 sti_set orr r8, r8, #I_FLAG | Line 1652 sti_set orr r8, r8, #I_FLAG |
| ldr r0, sti_pic | ldr r0, sti_pic |
| strneb r1, [r9, #CPU_TRAP] | strneb r1, [r9, #CPU_TRAP] |
| bne sti_withirq | bne sti_withirq |
| PICEXISTINTR | PICEXISTINTR sti_noirq |
| bne sti_withirq | bne sti_withirq |
| sti_noirq NEXT_OPCODE | sti_noirq NEXT_OPCODE |
| sti_pic dcd pic | sti_pic dcd pic |
| Line 1679 i286a_step stmdb sp!, {r4 - r11, lr} | Line 1674 i286a_step stmdb sp!, {r4 - r11, lr} |
| ldr r10, ias_r10 | ldr r10, ias_r10 |
| ; | ; |
| ldr r5, [r9, #CPU_CS_BASE] | ldr r5, [r9, #CPU_CS_BASE] |
| ; ldr r7, [r9, #CPU_REMAINCLOCK] | CPULD |
| ldr r8, [r9, #CPU_FLAG] | |
| adr r4, optbl1 | adr r4, optbl1 |
| add r0, r5, r8 lsr #16 | add r0, r5, r8 lsr #16 |
| Line 1690 i286a_step stmdb sp!, {r4 - r11, lr} | Line 1684 i286a_step stmdb sp!, {r4 - r11, lr} |
| mov r11, pc | mov r11, pc |
| mov pc, r1 | mov pc, r1 |
| str r8, [r9, #CPU_FLAG] | bl dmap_i286 |
| CPUSV | |
| ldmia sp!, {r4 - r11, pc} | ldmia sp!, {r4 - r11, pc} |
| Line 1698 i286a stmdb sp!, {r4 - r11, lr} | Line 1693 i286a stmdb sp!, {r4 - r11, lr} |
| ldr r9, ias_r9 | ldr r9, ias_r9 |
| ldr r2, ias_r1 | ldr r2, ias_r1 |
| ldr r10, ias_r10 | ldr r10, ias_r10 |
| ldr r8, [r9, #CPU_FLAG] | CPULD |
| ldr r5, [r9, #CPU_CS_BASE] | ldr r5, [r9, #CPU_CS_BASE] |
| ldr r1, [r2, #DMAC_WORKING] | ldr r1, [r2, #DMAC_WORKING] |
| and r0, r8, #(I_FLAG + T_FLAG) | and r0, r8, #(I_FLAG + T_FLAG) |
| Line 1718 i286a_lp add r0, r5, r8 lsr #16 | Line 1713 i286a_lp add r0, r5, r8 lsr #16 |
| adr r4, optbl1 | adr r4, optbl1 |
| cmp r7, #0 | cmp r7, #0 |
| bgt i286a_lp | bgt i286a_lp |
| str r8, [r9, #CPU_FLAG] | CPUSV |
| ldmia sp!, {r4 - r11, pc} | ldmia sp!, {r4 - r11, pc} |
| ias_r9 dcd i286core - CPU_REG | ias_r9 dcd i286core + CPU_SIZE |
| ias_r1 dcd dmac | ias_r1 dcd dmac |
| ias_r10 dcd _szpcflag8 | ias_r10 dcd iflags |
| i286awithdma adr r4, optbl1 | i286awithdma adr r4, optbl1 |
| i286awdma_lp add r0, r5, r8 lsr #16 | i286awdma_lp add r0, r5, r8 lsr #16 |
| Line 1738 i286awdma_lp add r0, r5, r8 lsr #16 | Line 1733 i286awdma_lp add r0, r5, r8 lsr #16 |
| adr r4, optbl1 | adr r4, optbl1 |
| cmp r7, #0 | cmp r7, #0 |
| bgt i286awdma_lp | bgt i286awdma_lp |
| str r8, [r9, #CPU_FLAG] | CPUSV |
| ldmia sp!, {r4 - r11, pc} | ldmia sp!, {r4 - r11, pc} |
| i286awithtrap adr r4, optbl1 | i286awithtrap adr r4, optbl1 |
| Line 1752 i286awtrp_lp add r0, r5, r8 lsr #16 | Line 1747 i286awtrp_lp add r0, r5, r8 lsr #16 |
| and r0, r8, #(I_FLAG + T_FLAG) | and r0, r8, #(I_FLAG + T_FLAG) |
| cmp r0, #(I_FLAG + T_FLAG) | cmp r0, #(I_FLAG + T_FLAG) |
| beq i286a_trapint | beq i286a_trapint |
| i286a_trapintr str r8, [r9, #CPU_FLAG] | i286a_trapintr CPUSV |
| ldmia sp!, {r4 - r11, pc} | ldmia sp!, {r4 - r11, pc} |
| optbl1 dcd add_ea_r8 ; 00 | optbl1 dcd add_ea_r8 ; 00 |