--- np2/i286a/i286a_f6.s 2003/12/17 14:04:43 1.1 +++ np2/i286a/i286a_f6.s 2003/12/21 23:27:08 1.6 @@ -1,13 +1,14 @@ INCLUDE i286a.inc + INCLUDE i286aea.inc INCLUDE i286aalu.inc INCLUDE i286aop.inc IMPORT i286a_ea - IMPORT i286_memoryread - IMPORT i286_memoryread_w - IMPORT i286_memorywrite - IMPORT i286_memorywrite_w + IMPORT i286a_memoryread + IMPORT i286a_memoryread_w + IMPORT i286a_memorywrite + IMPORT i286a_memorywrite_w IMPORT i286a_localint IMPORT __imp___rt_udiv @@ -18,7 +19,7 @@ AREA .text, CODE, READONLY -i286aopf6 GETPC8 +i286aopf6 GETPCF8 and r12, r0, #(7 << 3) adr r1, opef6tbl ldr pc, [r1, r12 lsr #1] @@ -47,7 +48,7 @@ test8m CPUWORK #6 GETPC8 AND8 r4, r0 mov pc, r11 -test8e bl i286_memoryread +test8e bl i286a_memoryread mov r4, r0 GETPC8 AND8 r4, r0 @@ -67,7 +68,7 @@ mul_ea8 cmp r0, #&c0 mov pc, r11 mul8m CPUWORK #16 bl i286a_ea - bl i286_memoryread + bl i286a_memoryread ldrb r4, [r9, #CPU_AL] MUL8 r0, r4 strh r1, [r9, #CPU_AX] @@ -84,7 +85,7 @@ imul_ea8 cmp r0, #&c0 mov pc, r11 imul8m CPUWORK #16 bl i286a_ea - bl i286_memoryread + bl i286a_memoryread ldrb r4, [r9, #CPU_AL] ; ldrsb IMUL8 r0, r4 strh r1, [r9, #CPU_AX] @@ -99,7 +100,7 @@ div_ea8 mov r6, r8 b div8e div8m CPUWORK #17 bl i286a_ea - bl i286_memoryread + bl i286a_memoryread div8e cmp r0, #0 beq div8intr ldrh r1, [r9, #CPU_AX] @@ -126,7 +127,7 @@ idiv_ea8 mov r6, r8 b idiv8e idiv8m CPUWORK #20 bl i286a_ea - bl i286_memoryread + bl i286a_memoryread idiv8e movs r0, r0, lsl #24 beq div8intr ldrsh r1, [r9, #CPU_AX] @@ -146,7 +147,7 @@ idiv8e_div dcd __imp___rt_sdiv ; ---- -i286aopf7 GETPC8 +i286aopf7 GETPCF8 and r12, r0, #(7 << 3) adr r1, opef7tbl ldr pc, [r1, r12 lsr #1] @@ -165,7 +166,7 @@ test_ea_d16 cmp r0, #&c0 R16SRC r0, r5 ldrh r4, [r5, #CPU_REG] GETPC16 - AND8 r4, r0 + AND16 r4, r0 mov pc, r11 test16m CPUWORK #6 bl i286a_ea @@ -177,7 +178,7 @@ test16m CPUWORK #6 GETPC16 AND16 r4, r0 mov pc, r11 -test16e bl i286_memoryread_w +test16e bl i286a_memoryread_w mov r4, r0 GETPC16 AND16 r4, r0 @@ -199,7 +200,7 @@ mul_ea16 cmp r0, #&c0 mov pc, r11 mul16m CPUWORK #24 bl i286a_ea - bl i286_memoryread_w + bl i286a_memoryread_w ldrh r4, [r9, #CPU_AX] MUL16 r0, r4 mov r0, r1 lsr #16 @@ -216,11 +217,11 @@ imul_ea16 cmp r0, #&c0 IMUL16 r0, r4 mov r0, r1 lsr #16 strh r1, [r9, #CPU_AX] - strh r0, [r9, #CPU_AX] + strh r0, [r9, #CPU_DX] mov pc, r11 imul16m CPUWORK #24 bl i286a_ea - bl i286_memoryread_w + bl i286a_memoryread_w ldrh r4, [r9, #CPU_AX] ; ldrsh? IMUL16 r0, r4 mov r0, r1 lsr #16 @@ -237,7 +238,7 @@ div_ea16 mov r6, r8 b div16e div16m CPUWORK #25 bl i286a_ea - bl i286_memoryread_w + bl i286a_memoryread_w div16e cmp r0, #0 beq div16intr ldrh r2, [r9, #CPU_DX] @@ -266,7 +267,7 @@ idiv_ea16 mov r6, r8 b idiv16e idiv16m CPUWORK #28 bl i286a_ea - bl i286_memoryread_w + bl i286a_memoryread_w idiv16e movs r0, r0, lsl #16 beq div16intr ldrh r2, [r9, #CPU_DX]