|
|
| version 1.8, 2003/12/21 23:27:08 | version 1.10, 2004/01/07 06:53:47 |
|---|---|
| Line 1 | Line 1 |
| INCLUDE i286a.inc | INCLUDE i286a.inc |
| IMPORT i286core | IMPORT i286acore |
| IMPORT i286a_memoryread | IMPORT i286a_memoryread |
| IMPORT i286a_memorywrite_w | IMPORT i286a_memorywrite_w |
| EXPORT i286a_localint | EXPORT i286a_localint |
| Line 32 i286a_localint ldrh r4, [r9, #CPU_SP] | Line 32 i286a_localint ldrh r4, [r9, #CPU_SP] |
| add r0, r4, r5 | add r0, r4, r5 |
| strh r4, [r9, #CPU_SP] | strh r4, [r9, #CPU_SP] |
| bl i286a_memorywrite_w | bl i286a_memorywrite_w |
| mov r0, #0 | ;; mov r0, #0 |
| ldr r1, [r9, r6 lsl #2] | ldr r1, [r9, r6 lsl #2] |
| strb r0, [r9, #CPU_TRAP] | ;; strb r0, [r9, #CPU_TRAP] |
| bic r8, r8, #(T_FLAG + I_FLAG) | bic r8, r8, #(T_FLAG + I_FLAG) |
| mov r0, r1 lsr #16 | mov r0, r1 lsr #16 |
| orr r8, r8, r1 lsl #16 | orr r8, r8, r1 lsl #16 |
| Line 62 i286a_trapint ldrh r4, [r9, #CPU_SP] | Line 62 i286a_trapint ldrh r4, [r9, #CPU_SP] |
| add r0, r4, r5 | add r0, r4, r5 |
| strh r4, [r9, #CPU_SP] | strh r4, [r9, #CPU_SP] |
| bl i286a_memorywrite_w | bl i286a_memorywrite_w |
| mov r0, #0 | ;; mov r0, #0 |
| ldr r1, [r9, #4] | ldr r1, [r9, #4] |
| strb r0, [r9, #CPU_TRAP] | ;; strb r0, [r9, #CPU_TRAP] |
| bic r8, r8, #(T_FLAG + I_FLAG) | bic r8, r8, #(T_FLAG + I_FLAG) |
| mov r0, r1 lsr #16 | mov r0, r1 lsr #16 |
| orr r8, r8, r1 lsl #16 | orr r8, r8, r1 lsl #16 |
| Line 103 i286a_interrupt ldr r1, iai_r9 | Line 103 i286a_interrupt ldr r1, iai_r9 |
| add r0, r4, r5 | add r0, r4, r5 |
| strh r4, [r9, #CPU_SP] | strh r4, [r9, #CPU_SP] |
| bl i286a_memorywrite_w | bl i286a_memorywrite_w |
| mov r0, #0 | ;; mov r0, #0 |
| ldr r1, [r9, r6 lsl #2] | ldr r1, [r9, r6 lsl #2] |
| strb r0, [r9, #CPU_TRAP] | ;; strb r0, [r9, #CPU_TRAP] |
| bic r8, r8, #(T_FLAG + I_FLAG) | bic r8, r8, #(T_FLAG + I_FLAG) |
| mov r0, r1 lsr #16 | mov r0, r1 lsr #16 |
| orr r8, r8, r1 lsl #16 | orr r8, r8, r1 lsl #16 |
| Line 114 i286a_interrupt ldr r1, iai_r9 | Line 114 i286a_interrupt ldr r1, iai_r9 |
| str r2, [r9, #CPU_CS_BASE] | str r2, [r9, #CPU_CS_BASE] |
| CPUSV | CPUSV |
| ldmia sp!, {r4 - r9, pc} | ldmia sp!, {r4 - r9, pc} |
| iai_r9 dcd i286core + CPU_SIZE | iai_r9 dcd i286acore + CPU_SIZE |
| END | END |