--- np2/i286a/i286a_mn.s 2003/12/19 00:25:49 1.10 +++ np2/i286a/i286a_mn.s 2003/12/19 09:38:25 1.12 @@ -6,7 +6,7 @@ INCLUDE i286aio.inc IMPORT i286core - IMPORT _szpcflag8 + IMPORT iflags IMPORT i286a_localint IMPORT i286a_trapint EXPORT i286a_trapintr @@ -931,10 +931,7 @@ popf POP #5 strb r2, [r9, #CPU_TRAP] bne popf_withirq ldr r0, popf_pic - tst r8, #I_FLAG - moveq pc, r11 - PICEXISTINTR - moveq pc, r11 + NOINTREXIT popf_withirq I286IRQCHECKTERM popf_pic dcd pic @@ -1395,17 +1392,14 @@ iret bl extirq_pop strb r2, [r9, #CPU_TRAP] bne iret_withirq ldr r0, iret_pic - tst r8, #I_FLAG - moveq pc, r11 - PICEXISTINTR - moveq pc, r11 + NOINTREXIT iret_withirq I286IRQCHECKTERM iret_pic dcd pic aam CPUWORK #16 GETPC8 - movs r0, r0, lsl #7 + movs r0, r0 lsl #7 beq aamzero ldrb r1, [r9, #CPU_AL] mov r2, #&80 @@ -1413,6 +1407,7 @@ aam CPUWORK #16 aamlp cmp r1, r0 subcs r1, r1, r0 orrcs r3, r2, r3 + mov r0, r0 lsr #1 movs r2, r2 lsr #1 bne aamlp ldrb r2, [r10, r1] @@ -1657,7 +1652,7 @@ sti_set orr r8, r8, #I_FLAG ldr r0, sti_pic strneb r1, [r9, #CPU_TRAP] bne sti_withirq - PICEXISTINTR + PICEXISTINTR sti_noirq bne sti_withirq sti_noirq NEXT_OPCODE sti_pic dcd pic @@ -1690,6 +1685,7 @@ i286a_step stmdb sp!, {r4 - r11, lr} mov r11, pc mov pc, r1 + bl dmap_i286 str r8, [r9, #CPU_FLAG] ldmia sp!, {r4 - r11, pc} @@ -1721,9 +1717,9 @@ i286a_lp add r0, r5, r8 lsr #16 str r8, [r9, #CPU_FLAG] ldmia sp!, {r4 - r11, pc} -ias_r9 dcd i286core - CPU_REG +ias_r9 dcd i286core + CPU_SIZE ias_r1 dcd dmac -ias_r10 dcd _szpcflag8 +ias_r10 dcd iflags i286awithdma adr r4, optbl1 i286awdma_lp add r0, r5, r8 lsr #16