--- np2/i286a/i286a_sf.s 2003/12/17 03:46:27 1.1 +++ np2/i286a/i286a_sf.s 2003/12/22 10:24:50 1.7 @@ -1,24 +1,24 @@ INCLUDE i286a.inc + INCLUDE i286aea.inc INCLUDE i286asft.inc - IMPORT _szpcflag8 IMPORT i286a_ea - IMPORT i286_memoryread - IMPORT i286_memoryread_w - IMPORT i286_memorywrite - IMPORT i286_memorywrite_w - - EXPORT shift_ea8_1 - EXPORT shift_ea16_1 - EXPORT shift_ea8_cl - EXPORT shift_ea8_d8 - EXPORT shift_e16_cl - EXPORT shift_ea16_d8 + IMPORT i286a_memoryread + IMPORT i286a_memoryread_w + IMPORT i286a_memorywrite + IMPORT i286a_memorywrite_w + + EXPORT i286asft8_1 + EXPORT i286asft16_1 + EXPORT i286asft8_cl + EXPORT i286asft8_d8 + EXPORT i286asft16_cl + EXPORT i286asft16_d8 AREA .text, CODE, READONLY -shift_ea8_1 GETPC8 +i286asft8_1 GETPCF8 and r6, r0, #(7 << 3) cmp r0, #&c0 bcc sft8m @@ -37,7 +37,7 @@ sft8m CPUWORK #7 ldrb r4, [r5] ldr pc, [r1, r6 lsr #1] sft8e mov r5, r0 - bl i286_memoryread + bl i286a_memoryread adr r1, sft_ext8 ldr pc, [r1, r6 lsr #1] @@ -84,36 +84,36 @@ sar_r8_1 SAR8 r4 rol_e8_1 ROL8 r0 mov r0, r5 mov lr, r11 - b i286_memorywrite + b i286a_memorywrite ror_e8_1 ROR8 r0 mov r0, r5 mov lr, r11 - b i286_memorywrite + b i286a_memorywrite rcl_e8_1 RCL8 r0 mov r0, r5 mov lr, r11 - b i286_memorywrite + b i286a_memorywrite rcr_e8_1 RCR8 r0 mov r0, r5 mov lr, r11 - b i286_memorywrite + b i286a_memorywrite shl_e8_1 SHL8 r0 mov r0, r5 mov lr, r11 - b i286_memorywrite + b i286a_memorywrite shr_e8_1 SHR8 r0 mov r0, r5 mov lr, r11 - b i286_memorywrite + b i286a_memorywrite sar_e8_1 SAR8 r0 mov r0, r5 mov lr, r11 - b i286_memorywrite + b i286a_memorywrite ; ---- -shift_ea16_1 GETPC8 +i286asft16_1 GETPCF8 and r6, r0, #(7 << 3) cmp r0, #&c0 bcc sft16m @@ -125,16 +125,13 @@ shift_ea16_1 GETPC8 ldr pc, [r1, r6 lsr #1] sft16m CPUWORK #7 bl i286a_ea - tst r0, #1 - bne sft16e - cmp r0, #I286_MEMWRITEMAX - bcs sft16e + WORDACC r0, sft16e add r5, r9, r0 adr r1, sft_reg16 ldrh r4, [r5] ldr pc, [r1, r6 lsr #1] sft16e mov r5, r0 - bl i286_memoryread_w + bl i286a_memoryread_w adr r1, sft_ext16 ldr pc, [r1, r6 lsr #1] @@ -181,36 +178,36 @@ sar_r16_1 SAR16 r4 rol_e16_1 ROL16 r0 mov r0, r5 mov lr, r11 - b i286_memorywrite_w + b i286a_memorywrite_w ror_e16_1 ROR16 r0 mov r0, r5 mov lr, r11 - b i286_memorywrite_w + b i286a_memorywrite_w rcl_e16_1 RCL16 r0 mov r0, r5 mov lr, r11 - b i286_memorywrite_w + b i286a_memorywrite_w rcr_e16_1 RCR16 r0 mov r0, r5 mov lr, r11 - b i286_memorywrite_w + b i286a_memorywrite_w shl_e16_1 SHL16 r0 mov r0, r5 mov lr, r11 - b i286_memorywrite_w + b i286a_memorywrite_w shr_e16_1 SHR16 r0 mov r0, r5 mov lr, r11 - b i286_memorywrite_w + b i286a_memorywrite_w sar_e16_1 SAR16 r0 mov r0, r5 mov lr, r11 - b i286_memorywrite_w + b i286a_memorywrite_w ; ---- -shift_ea8_cl GETPC8 +i286asft8_cl GETPCF8 and r6, r0, #(7 << 3) cmp r0, #&c0 bcc sft8clm @@ -238,11 +235,11 @@ sft8cle ldrb r4, [r9, #CPU_CL] ands r4, r4, #&1f moveq pc, r11 mov r5, r0 - bl i286_memoryread + bl i286a_memoryread adr r1, sft_ext8cl ldr pc, [r1, r6 lsr #1] -shift_ea8_d8 GETPC8 +i286asft8_d8 GETPCF8 and r6, r0, #(7 << 3) cmp r0, #&c0 bcc sft8d8m @@ -271,7 +268,7 @@ sft8d8e mov r5, r0 ands r4, r0, #&1f moveq pc, r11 mov r0, r5 - bl i286_memoryread + bl i286a_memoryread adr r1, sft_ext8cl ldr pc, [r1, r6 lsr #1] @@ -318,92 +315,91 @@ sar_r8_cl SAR8CL r4, r0 rol_e8_cl ROL8CL r0, r4 mov r0, r5 mov lr, r11 - b i286_memorywrite + b i286a_memorywrite ror_e8_cl ROR8CL r0, r4 mov r0, r5 mov lr, r11 - b i286_memorywrite + b i286a_memorywrite rcl_e8_cl RCL8CL r0, r4 mov r0, r5 mov lr, r11 - b i286_memorywrite + b i286a_memorywrite rcr_e8_cl RCR8CL r0, r4 mov r0, r5 mov lr, r11 - b i286_memorywrite + b i286a_memorywrite shl_e8_cl SHL8CL r0, r4 mov r0, r5 mov lr, r11 - b i286_memorywrite + b i286a_memorywrite shr_e8_cl SHR8CL r0, r4 mov r0, r5 mov lr, r11 - b i286_memorywrite + b i286a_memorywrite sar_e8_cl SAR8CL r0, r4 mov r0, r5 mov lr, r11 - b i286_memorywrite + b i286a_memorywrite ; ---- -shift_e16_cl GETPC8 +i286asft16_cl GETPCF8 and r6, r0, #(7 << 3) cmp r0, #&c0 bcc sft16clm - CPUWORK #2 + CPUWORK #5 R16SRC r0, r5 ldrb r0, [r9, #CPU_CL] ands r0, r0, #&1f moveq pc, r11 + CPUWORK r0 add r5, r5, #CPU_REG adr r1, sft_reg16cl ldrh r4, [r5] ldr pc, [r1, r6 lsr #1] -sft16clm CPUWORK #7 +sft16clm CPUWORK #8 bl i286a_ea - tst r0, #1 - bne sft16cle - cmp r0, #I286_MEMWRITEMAX - bcs sft16cle + WORDACC r0, sft16cle add r5, r9, r0 ldrb r0, [r9, #CPU_CL] ands r0, r0, #&1f moveq pc, r11 + CPUWORK r0 adr r1, sft_reg16cl ldrh r4, [r5] ldr pc, [r1, r6 lsr #1] sft16cle ldrb r4, [r9, #CPU_CL] ands r4, r4, #&1f moveq pc, r11 + CPUWORK r4 mov r5, r0 - bl i286_memoryread_w + bl i286a_memoryread_w adr r1, sft_ext16cl ldr pc, [r1, r6 lsr #1] -shift_ea16_d8 GETPC8 +i286asft16_d8 GETPCF8 and r6, r0, #(7 << 3) cmp r0, #&c0 bcc sft16d8m - CPUWORK #2 + CPUWORK #5 R16SRC r0, r5 GETPC8 ands r0, r0, #&1f moveq pc, r11 + CPUWORK r0 add r5, r5, #CPU_REG adr r1, sft_reg16cl ldrh r4, [r5] ldr pc, [r1, r6 lsr #1] -sft16d8m CPUWORK #7 +sft16d8m CPUWORK #8 bl i286a_ea - tst r0, #1 - bne sft16d8e - cmp r0, #I286_MEMWRITEMAX - bcs sft16d8e + WORDACC r0, sft16d8e add r5, r9, r0 GETPC8 ands r0, r0, #&1f moveq pc, r11 + CPUWORK r0 adr r1, sft_reg16cl ldrh r4, [r5] ldr pc, [r1, r6 lsr #1] @@ -411,8 +407,9 @@ sft16d8e mov r5, r0 GETPC8 ands r4, r0, #&1f moveq pc, r11 + CPUWORK r4 mov r0, r5 - bl i286_memoryread_w + bl i286a_memoryread_w adr r1, sft_ext16cl ldr pc, [r1, r6 lsr #1] @@ -459,31 +456,31 @@ sar_r16_cl SAR16CL r4, r0 rol_e16_cl ROL16CL r0, r4 mov r0, r5 mov lr, r11 - b i286_memorywrite_w + b i286a_memorywrite_w ror_e16_cl ROR16CL r0, r4 mov r0, r5 mov lr, r11 - b i286_memorywrite_w + b i286a_memorywrite_w rcl_e16_cl RCL16CL r0, r4 mov r0, r5 mov lr, r11 - b i286_memorywrite_w + b i286a_memorywrite_w rcr_e16_cl RCR16CL r0, r4 mov r0, r5 mov lr, r11 - b i286_memorywrite_w + b i286a_memorywrite_w shl_e16_cl SHL16CL r0, r4 mov r0, r5 mov lr, r11 - b i286_memorywrite_w + b i286a_memorywrite_w shr_e16_cl SHR16CL r0, r4 mov r0, r5 mov lr, r11 - b i286_memorywrite_w + b i286a_memorywrite_w sar_e16_cl SAR16CL r0, r4 mov r0, r5 mov lr, r11 - b i286_memorywrite_w + b i286a_memorywrite_w END