|
|
| version 1.3, 2003/12/17 14:04:43 | version 1.5, 2003/12/18 19:14:08 |
|---|---|
| Line 1 | Line 1 |
| INCLUDE i286a.inc | INCLUDE i286a.inc |
| INCLUDE i286aea.inc | |
| INCLUDE i286aalu.inc | INCLUDE i286aalu.inc |
| INCLUDE i286aop.inc | INCLUDE i286aop.inc |
| Line 72 callfarea16 cmp r0, #&c0 | Line 73 callfarea16 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 i286_memoryread_w ; ip |
| mov r5, r8 lsr #16 | mov r5, r8 lsr #16 |
| add r8, r8, r0 lsl #16 | |
| sub r8, r8, r5 lsl #16 | sub r8, r8, r5 lsl #16 |
| orr r8, r8, r0 lsl #16 | |
| add r0, r4, r6 | add r0, r4, r6 |
| bl i286_memoryread_w | bl i286_memoryread_w ; cs |
| mov r2, r0 lsl #4 | mov r2, r0 lsl #4 |
| ldrh r1, [r9, #CPU_CS] | ldrh r1, [r9, #CPU_CS] |
| strh r0, [r9, #CPU_CS] | strh r0, [r9, #CPU_CS] |
| str r2, [r9, #CPU_CS_BASE] | |
| ldrh r4, [r9, #CPU_SP] | ldrh r4, [r9, #CPU_SP] |
| ldr r6, [r9, #CPU_SS_BASE] | ldr r6, [r9, #CPU_SS_BASE] |
| str r2, [r9, #CPU_CS_BASE] | |
| subs r4, r4, #2 | subs r4, r4, #2 |
| addcc r4, r4, #&10000 | addcc r4, r4, #&10000 |
| add r0, r4, r6 | add r0, r4, r6 |
| bl i286_memorywrite_w | bl i286_memorywrite_w ; cs |
| subs r4, r4, #2 | subs r4, r4, #2 |
| addcc r4, r4, #&10000 | addcc r4, r4, #&10000 |
| add r0, r4, r6 | |
| strh r3, [r9, #CPU_SP] | |
| mov r1, r5 | mov r1, r5 |
| strh r4, [r9, #CPU_SP] | |
| add r0, r4, r6 | |
| mov lr, r11 | mov lr, r11 |
| b i286_memorywrite_w | b i286_memorywrite_w ; ip |
| callfar16r mov r6, #6 | callfar16r mov r6, #6 |
| sub r8, r8, #(2 << 16) | sub r8, r8, #(2 << 16) |
| b i286a_localint | b i286a_localint |
| Line 168 popea16 CPUWORK #5 | Line 169 popea16 CPUWORK #5 |
| cmp r6, #&c0 | cmp r6, #&c0 |
| bcc pop16m | bcc pop16m |
| R16SRC r6, r1 | R16SRC r6, r1 |
| ldrh r0, [r1, #CPU_REG] | strh r0, [r1, #CPU_REG] |
| mov pc, r11 | mov pc, r11 |
| pop16m mov r5, r0 | pop16m mov r5, r0 |
| mov r0, r6 | mov r0, r6 |