--- np2/i286a/i286a_i.s 2003/12/17 14:04:43 1.2 +++ np2/i286a/i286a_i.s 2003/12/18 13:21:32 1.3 @@ -8,28 +8,28 @@ AREA .text, CODE, READONLY ; r6 - num / r8 - IP / r11 - ret -i286a_localint CPUWORK #20 - ldrh r4, [r9, #CPU_SP] +i286a_localint ldrh r4, [r9, #CPU_SP] ldr r5, [r9, #CPU_SS_BASE] + CPUWORK #20 mov r4, r4 lsl #16 sub r4, r4, #(2 << 16) - add r0, r5, r4 lsr #16 mov r1, r8 + add r0, r5, r4 lsr #16 bl i286_memorywrite_w sub r4, r4, #(2 << 16) - add r0, r5, r4 lsr #16 ldrh r1, [r9, #CPU_CS] + add r0, r5, r4 lsr #16 bl i286_memorywrite_w sub r4, r4, #(2 << 16) + mov r1, r8 lsr #16 mov r4, r4 lsr #16 + sub r8, r8, r1 lsl #16 add r0, r4, r5 - mov r1, r8 lsr #16 strh r4, [r9, #CPU_SP] - sub r8, r8, r1 lsl #16 bl i286_memorywrite_w mov r0, #0 - strb r0, [r9, #CPU_TRAP] ldr r1, [r9, r6 lsl #2] + strb r0, [r9, #CPU_TRAP] bic r8, r8, #(T_FLAG + I_FLAG) mov r0, r1 lsr #16 orr r8, r8, r1 lsl #16