--- np2/i286a/i286a_rp.s 2003/12/18 23:07:49 1.1 +++ np2/i286a/i286a_rp.s 2003/12/26 00:11:51 1.4 @@ -2,12 +2,12 @@ INCLUDE i286a.inc INCLUDE i286aalu.inc - IMPORT _szpcflag8 + IMPORT iflags - 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 iocore_inp8 IMPORT iocore_inp16 @@ -52,7 +52,7 @@ repinsblp ldrh r0, [r9, #CPU_DX] mov r1, r0 CPUWORK #4 add r0, r2, r5 lsr #16 - bl i286_memorywrite + bl i286a_memorywrite add r5, r5, r6 subs r4, r4, #1 bne repinsblp @@ -78,7 +78,7 @@ repinswlp ldrh r0, [r9, #CPU_DX] mov r1, r0 CPUWORK #4 add r0, r2, r5 lsr #16 - bl i286_memorywrite_w + bl i286a_memorywrite_w add r5, r5, r6 subs r4, r4, #1 bne repinswlp @@ -101,7 +101,7 @@ i286a_rep_outsb ldrh r4, [r9, #CPU_CX] rsbne r6, r6, #0 repoutsblp CPUWORK #4 add r0, r2, r5 lsr #16 - bl i286_memoryread + bl i286a_memoryread mov r1, r0 ldrh r0, [r9, #CPU_DX] add r5, r5, r6 @@ -130,7 +130,7 @@ i286a_rep_outsw ldrh r4, [r9, #CPU_CX] rsbne r6, r6, #0 repoutswlp CPUWORK #4 add r0, r2, r5 lsr #16 - bl i286_memoryread_w + bl i286a_memoryread_w mov r1, r0 ldrh r0, [r9, #CPU_DX] add r5, r5, r6 @@ -159,12 +159,12 @@ i286a_rep_movsb ldrh r4, [r9, #CPU_CX] tst r8, #D_FLAG rsbne r6, r6, #0 repmovsblp add r0, r2, r11 lsr #16 - bl i286_memoryread + bl i286a_memoryread ldr r2, [r9, #CPU_ES_BASE] mov r1, r0 add r11, r11, r6 add r0, r2, r5 lsr #16 - bl i286_memorywrite + bl i286a_memorywrite add r5, r5, r6 CPUWKS #4 blt repmovsbbreak @@ -200,12 +200,12 @@ i286a_rep_movsw ldrh r4, [r9, #CPU_CX] tst r8, #D_FLAG rsbne r6, r6, #0 repmovswlp add r0, r2, r11 lsr #16 - bl i286_memoryread_w + bl i286a_memoryread_w ldr r2, [r9, #CPU_ES_BASE] mov r1, r0 add r11, r11, r6 add r0, r2, r5 lsr #16 - bl i286_memorywrite_w + bl i286a_memorywrite_w add r5, r5, r6 CPUWKS #4 blt repmovswbreak @@ -243,7 +243,7 @@ i286a_rep_lodsb ldrh r4, [r9, #CPU_CX] rsbne r6, r6, #0 replodsblp add r0, r11, r5 lsr #16 add r5, r5, r6 - bl i286_memoryread + bl i286a_memoryread CPUWORK #4 subs r4, r4, #1 bne replodsblp @@ -266,7 +266,7 @@ i286a_rep_lodsw ldrh r4, [r9, #CPU_CX] rsbne r6, r6, #0 replodswlp add r0, r11, r5 lsr #16 add r5, r5, r6 - bl i286_memoryread_w + bl i286a_memoryread_w CPUWORK #4 subs r4, r4, #1 bne replodswlp @@ -290,7 +290,7 @@ i286a_rep_stosb ldrh r4, [r9, #CPU_CX] repstosblp ldrb r1, [r9, #CPU_AL] add r0, r11, r5 lsr #16 add r5, r5, r6 - bl i286_memorywrite + bl i286a_memorywrite CPUWKS #3 ble repstosbbreak subs r4, r4, #1 @@ -319,7 +319,7 @@ i286a_rep_stosw ldrh r4, [r9, #CPU_CX] repstoswlp ldrh r1, [r9, #CPU_AX] add r0, r11, r5 lsr #16 add r5, r5, r6 - bl i286_memorywrite_w + bl i286a_memorywrite_w CPUWKS #3 blt repstoswbreak subs r4, r4, #1 @@ -349,12 +349,12 @@ i286a_repe_cmpsb tst r8, #D_FLAG rsbne r6, r6, #0 repecmpsblp add r0, r2, r11 lsr #16 - bl i286_memoryread + bl i286a_memoryread ldr r2, [r9, #CPU_ES_BASE] mov r10, r0 lsl #24 add r11, r11, r6 add r0, r2, r5 lsr #16 - bl i286_memoryread + bl i286a_memoryread add r5, r5, r6 CPUWORK #9 ldr r2, [r9, #CPU_DS_FIX] @@ -364,11 +364,11 @@ repecmpsblp add r0, r2, r11 lsr #16 beq repecmpsblp repecmpsbbreak bic r8, r8, #&ff subs r1, r10, r0 lsl #24 + eor r12, r1, r10 ldr r10, repecmpsb_flag orrvs r8, r8, #O_FLAG bicvc r8, r8, #O_FLAG addcc r8, r8, #C_FLAG - eor r12, r1, r10 ldrb r2, [r10, r1 lsr #24] eor r12, r1, r0 lsl #24 and r12, r12, #(A_FLAG << 24) @@ -380,7 +380,7 @@ repecmpsbbreak bic r8, r8, #&ff strh r4, [r9, #CPU_CX] str r0, [r9, #CPU_SI] ldr pc, [sp], #4 -repecmpsb_flag dcd _szpcflag8 +repecmpsb_flag dcd iflags i286a_repe_cmpsw ldrh r4, [r9, #CPU_CX] @@ -395,12 +395,12 @@ i286a_repe_cmpsw tst r8, #D_FLAG rsbne r6, r6, #0 repecmpswlp add r0, r2, r11 lsr #16 - bl i286_memoryread_w + bl i286a_memoryread_w ldr r2, [r9, #CPU_ES_BASE] mov r10, r0 lsl #16 add r11, r11, r6 add r0, r2, r5 lsr #16 - bl i286_memoryread_w + bl i286a_memoryread_w add r5, r5, r6 CPUWORK #9 ldr r2, [r9, #CPU_DS_FIX] @@ -410,14 +410,14 @@ repecmpswlp add r0, r2, r11 lsr #16 beq repecmpswlp repecmpswbreak bic r8, r8, #&ff subs r1, r10, r0 lsl #16 + eor r12, r1, r10 + and r3, r1, #(&ff << 16) ldr r10, repecmpsw_flag orrvs r8, r8, #O_FLAG bicvc r8, r8, #O_FLAG addcc r8, r8, #C_FLAG addmi r8, r8, #S_FLAG addeq r8, r8, #Z_FLAG - and r3, r1, #(&ff << 16) - eor r12, r1, r10 ldrb r2, [r10, r3 lsr #16] eor r12, r1, r0 lsl #16 and r12, r12, #(A_FLAG << 16) @@ -430,7 +430,7 @@ repecmpswbreak bic r8, r8, #&ff strh r4, [r9, #CPU_CX] str r0, [r9, #CPU_SI] ldr pc, [sp], #4 -repecmpsw_flag dcd _szpcflag8 +repecmpsw_flag dcd iflags i286a_repne_cmpsb @@ -446,12 +446,12 @@ i286a_repne_cmpsb tst r8, #D_FLAG rsbne r6, r6, #0 repnecmpsblp add r0, r2, r11 lsr #16 - bl i286_memoryread + bl i286a_memoryread ldr r2, [r9, #CPU_ES_BASE] mov r10, r0 lsl #24 add r11, r11, r6 add r0, r2, r5 lsr #16 - bl i286_memoryread + bl i286a_memoryread add r5, r5, r6 CPUWORK #9 ldr r2, [r9, #CPU_DS_FIX] @@ -461,11 +461,11 @@ repnecmpsblp add r0, r2, r11 lsr #16 bne repnecmpsblp repnecmpsbbreak bic r8, r8, #&ff subs r1, r10, r0 lsl #24 + eor r12, r1, r10 ldr r10, repnecmpsb_flag orrvs r8, r8, #O_FLAG bicvc r8, r8, #O_FLAG addcc r8, r8, #C_FLAG - eor r12, r1, r10 ldrb r2, [r10, r1 lsr #24] eor r12, r1, r0 lsl #24 and r12, r12, #(A_FLAG << 24) @@ -477,7 +477,7 @@ repnecmpsbbreak bic r8, r8, #&ff strh r4, [r9, #CPU_CX] str r0, [r9, #CPU_SI] ldr pc, [sp], #4 -repnecmpsb_flag dcd _szpcflag8 +repnecmpsb_flag dcd iflags i286a_repne_cmpsw ldrh r4, [r9, #CPU_CX] @@ -492,12 +492,12 @@ i286a_repne_cmpsw tst r8, #D_FLAG rsbne r6, r6, #0 repnecmpswlp add r0, r2, r11 lsr #16 - bl i286_memoryread_w + bl i286a_memoryread_w ldr r2, [r9, #CPU_ES_BASE] mov r10, r0 lsl #16 add r11, r11, r6 add r0, r2, r5 lsr #16 - bl i286_memoryread_w + bl i286a_memoryread_w add r5, r5, r6 CPUWORK #9 ldr r2, [r9, #CPU_DS_FIX] @@ -507,14 +507,14 @@ repnecmpswlp add r0, r2, r11 lsr #16 bne repnecmpswlp repnecmpswbreak bic r8, r8, #&ff subs r1, r10, r0 lsl #16 + eor r12, r1, r10 + and r3, r1, #(&ff << 16) ldr r10, repnecmpsw_flag orrvs r8, r8, #O_FLAG bicvc r8, r8, #O_FLAG addcc r8, r8, #C_FLAG addmi r8, r8, #S_FLAG addeq r8, r8, #Z_FLAG - and r3, r1, #(&ff << 16) - eor r12, r1, r10 ldrb r2, [r10, r3 lsr #16] eor r12, r1, r0 lsl #16 and r12, r12, #(A_FLAG << 16) @@ -527,7 +527,7 @@ repnecmpswbreak bic r8, r8, #&ff strh r4, [r9, #CPU_CX] str r0, [r9, #CPU_SI] ldr pc, [sp], #4 -repnecmpsw_flag dcd _szpcflag8 +repnecmpsw_flag dcd iflags i286a_repe_scasb @@ -543,14 +543,14 @@ i286a_repe_scasb rsbne r6, r6, #0 repescasblp add r0, r11, r5 lsr #16 add r5, r5, r6 - bl i286_memoryread - ldrb r3, [r9, #CPU_AL] + bl i286a_memoryread + ldrb r2, [r9, #CPU_AL] CPUWORK #8 subs r4, r4, #1 beq repescasbbreak - cmp r3, r0 + cmp r2, r0 beq repescasblp -repescasbbreak SUB8 r3, r0 +repescasbbreak SUB8 r2, r0 strh r4, [r9, #CPU_CX] str r5, [r9, #CPU_SI] ldr pc, [sp], #4 @@ -568,14 +568,14 @@ i286a_repe_scasw rsbne r6, r6, #0 repescaswlp add r0, r11, r5 lsr #16 add r5, r5, r6 - bl i286_memoryread_w - ldrh r3, [r9, #CPU_AX] + bl i286a_memoryread_w + ldrh r2, [r9, #CPU_AX] CPUWORK #8 subs r4, r4, #1 beq repescaswbreak - cmp r3, r0 + cmp r2, r0 beq repescaswlp -repescaswbreak SUB16 r3, r0 +repescaswbreak SUB16 r2, r0 strh r4, [r9, #CPU_CX] str r5, [r9, #CPU_SI] ldr pc, [sp], #4 @@ -594,14 +594,14 @@ i286a_repne_scasb rsbne r6, r6, #0 repnescasblp add r0, r11, r5 lsr #16 add r5, r5, r6 - bl i286_memoryread - ldrb r3, [r9, #CPU_AL] + bl i286a_memoryread + ldrb r2, [r9, #CPU_AL] CPUWORK #8 subs r4, r4, #1 beq repnescasbbreak - cmp r3, r0 + cmp r2, r0 bne repnescasblp -repnescasbbreak SUB8 r3, r0 +repnescasbbreak SUB8 r2, r0 strh r4, [r9, #CPU_CX] str r5, [r9, #CPU_SI] ldr pc, [sp], #4 @@ -619,14 +619,14 @@ i286a_repne_scasw rsbne r6, r6, #0 repnescaswlp add r0, r11, r5 lsr #16 add r5, r5, r6 - bl i286_memoryread_w - ldrh r3, [r9, #CPU_AX] + bl i286a_memoryread_w + ldrh r2, [r9, #CPU_AX] CPUWORK #8 subs r4, r4, #1 beq repnescaswbreak - cmp r3, r0 - beq repnescaswlp -repnescaswbreak SUB16 r3, r0 + cmp r2, r0 + bne repnescaswlp +repnescaswbreak SUB16 r2, r0 strh r4, [r9, #CPU_CX] str r5, [r9, #CPU_SI] ldr pc, [sp], #4