Diff for /np2/i286a/i286a_sf.s between versions 1.2 and 1.7

version 1.2, 2003/12/17 10:41:06 version 1.7, 2003/12/22 10:24:50
Line 1 Line 1
   
         INCLUDE         i286a.inc          INCLUDE         i286a.inc
           INCLUDE         i286aea.inc
         INCLUDE         i286asft.inc          INCLUDE         i286asft.inc
   
         IMPORT          _szpcflag8  
         IMPORT          i286a_ea          IMPORT          i286a_ea
         IMPORT          i286_memoryread          IMPORT          i286a_memoryread
         IMPORT          i286_memoryread_w          IMPORT          i286a_memoryread_w
         IMPORT          i286_memorywrite          IMPORT          i286a_memorywrite
         IMPORT          i286_memorywrite_w          IMPORT          i286a_memorywrite_w
   
         EXPORT          i286asft8_1          EXPORT          i286asft8_1
         EXPORT          i286asft16_1          EXPORT          i286asft16_1
Line 18 Line 18
   
         AREA    .text, CODE, READONLY          AREA    .text, CODE, READONLY
   
 i286asft8_1             GETPC8  i286asft8_1             GETPCF8
                                 and             r6, r0, #(7 << 3)                                  and             r6, r0, #(7 << 3)
                                 cmp             r0, #&c0                                  cmp             r0, #&c0
                                 bcc             sft8m                                  bcc             sft8m
Line 37  sft8m   CPUWORK #7 Line 37  sft8m   CPUWORK #7
                                 ldrb    r4, [r5]                                  ldrb    r4, [r5]
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
 sft8e                   mov             r5, r0  sft8e                   mov             r5, r0
                                 bl              i286_memoryread                                  bl              i286a_memoryread
                                 adr             r1, sft_ext8                                  adr             r1, sft_ext8
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
   
Line 84  sar_r8_1  SAR8 r4 Line 84  sar_r8_1  SAR8 r4
 rol_e8_1                ROL8    r0  rol_e8_1                ROL8    r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 ror_e8_1                ROR8    r0  ror_e8_1                ROR8    r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 rcl_e8_1                RCL8    r0  rcl_e8_1                RCL8    r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 rcr_e8_1                RCR8    r0  rcr_e8_1                RCR8    r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 shl_e8_1                SHL8    r0  shl_e8_1                SHL8    r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 shr_e8_1                SHR8    r0  shr_e8_1                SHR8    r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 sar_e8_1                SAR8    r0  sar_e8_1                SAR8    r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
   
   
 ; ----  ; ----
   
 i286asft16_1    GETPC8  i286asft16_1    GETPCF8
                                 and             r6, r0, #(7 << 3)                                  and             r6, r0, #(7 << 3)
                                 cmp             r0, #&c0                                  cmp             r0, #&c0
                                 bcc             sft16m                                  bcc             sft16m
Line 125  i286asft16_1 GETPC8 Line 125  i286asft16_1 GETPC8
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
 sft16m                  CPUWORK #7  sft16m                  CPUWORK #7
                                 bl              i286a_ea                                  bl              i286a_ea
                                 tst             r0, #1                                  WORDACC r0, sft16e
                                 bne             sft16e  
                                 cmp             r0, #I286_MEMWRITEMAX  
                                 bcs             sft16e  
                                 add             r5, r9, r0                                  add             r5, r9, r0
                                 adr             r1, sft_reg16                                  adr             r1, sft_reg16
                                 ldrh    r4, [r5]                                  ldrh    r4, [r5]
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
 sft16e                  mov             r5, r0  sft16e                  mov             r5, r0
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 adr             r1, sft_ext16                                  adr             r1, sft_ext16
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
   
Line 181  sar_r16_1  SAR16 r4 Line 178  sar_r16_1  SAR16 r4
 rol_e16_1               ROL16   r0  rol_e16_1               ROL16   r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 ror_e16_1               ROR16   r0  ror_e16_1               ROR16   r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 rcl_e16_1               RCL16   r0  rcl_e16_1               RCL16   r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 rcr_e16_1               RCR16   r0  rcr_e16_1               RCR16   r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 shl_e16_1               SHL16   r0  shl_e16_1               SHL16   r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 shr_e16_1               SHR16   r0  shr_e16_1               SHR16   r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 sar_e16_1               SAR16   r0  sar_e16_1               SAR16   r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
   
   
 ; ----  ; ----
   
 i286asft8_cl    GETPC8  i286asft8_cl    GETPCF8
                                 and             r6, r0, #(7 << 3)                                  and             r6, r0, #(7 << 3)
                                 cmp             r0, #&c0                                  cmp             r0, #&c0
                                 bcc             sft8clm                                  bcc             sft8clm
Line 238  sft8cle   ldrb r4, [r9, #CPU_CL] Line 235  sft8cle   ldrb r4, [r9, #CPU_CL]
                                 ands    r4, r4, #&1f                                  ands    r4, r4, #&1f
                                 moveq   pc, r11                                  moveq   pc, r11
                                 mov             r5, r0                                  mov             r5, r0
                                 bl              i286_memoryread                                  bl              i286a_memoryread
                                 adr             r1, sft_ext8cl                                  adr             r1, sft_ext8cl
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
   
 i286asft8_d8    GETPC8  i286asft8_d8    GETPCF8
                                 and             r6, r0, #(7 << 3)                                  and             r6, r0, #(7 << 3)
                                 cmp             r0, #&c0                                  cmp             r0, #&c0
                                 bcc             sft8d8m                                  bcc             sft8d8m
Line 271  sft8d8e   mov  r5, r0 Line 268  sft8d8e   mov  r5, r0
                                 ands    r4, r0, #&1f                                  ands    r4, r0, #&1f
                                 moveq   pc, r11                                  moveq   pc, r11
                                 mov             r0, r5                                  mov             r0, r5
                                 bl              i286_memoryread                                  bl              i286a_memoryread
                                 adr             r1, sft_ext8cl                                  adr             r1, sft_ext8cl
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
   
Line 318  sar_r8_cl  SAR8CL r4, r0 Line 315  sar_r8_cl  SAR8CL r4, r0
 rol_e8_cl               ROL8CL  r0, r4  rol_e8_cl               ROL8CL  r0, r4
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 ror_e8_cl               ROR8CL  r0, r4  ror_e8_cl               ROR8CL  r0, r4
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 rcl_e8_cl               RCL8CL  r0, r4  rcl_e8_cl               RCL8CL  r0, r4
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 rcr_e8_cl               RCR8CL  r0, r4  rcr_e8_cl               RCR8CL  r0, r4
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 shl_e8_cl               SHL8CL  r0, r4  shl_e8_cl               SHL8CL  r0, r4
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 shr_e8_cl               SHR8CL  r0, r4  shr_e8_cl               SHR8CL  r0, r4
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 sar_e8_cl               SAR8CL  r0, r4  sar_e8_cl               SAR8CL  r0, r4
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
   
   
 ; ----  ; ----
   
 i286asft16_cl   GETPC8  i286asft16_cl   GETPCF8
                                 and             r6, r0, #(7 << 3)                                  and             r6, r0, #(7 << 3)
                                 cmp             r0, #&c0                                  cmp             r0, #&c0
                                 bcc             sft16clm                                  bcc             sft16clm
Line 363  i286asft16_cl GETPC8 Line 360  i286asft16_cl GETPC8
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
 sft16clm                CPUWORK #8  sft16clm                CPUWORK #8
                                 bl              i286a_ea                                  bl              i286a_ea
                                 tst             r0, #1                                  WORDACC r0, sft16cle
                                 bne             sft16cle  
                                 cmp             r0, #I286_MEMWRITEMAX  
                                 bcs             sft16cle  
                                 add             r5, r9, r0                                  add             r5, r9, r0
                                 ldrb    r0, [r9, #CPU_CL]                                  ldrb    r0, [r9, #CPU_CL]
                                 ands    r0, r0, #&1f                                  ands    r0, r0, #&1f
Line 380  sft16cle  ldrb r4, [r9, #CPU_CL] Line 374  sft16cle  ldrb r4, [r9, #CPU_CL]
                                 moveq   pc, r11                                  moveq   pc, r11
                                 CPUWORK r4                                  CPUWORK r4
                                 mov             r5, r0                                  mov             r5, r0
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 adr             r1, sft_ext16cl                                  adr             r1, sft_ext16cl
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
   
 i286asft16_d8   GETPC8  i286asft16_d8   GETPCF8
                                 and             r6, r0, #(7 << 3)                                  and             r6, r0, #(7 << 3)
                                 cmp             r0, #&c0                                  cmp             r0, #&c0
                                 bcc             sft16d8m                                  bcc             sft16d8m
Line 400  i286asft16_d8 GETPC8 Line 394  i286asft16_d8 GETPC8
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
 sft16d8m                CPUWORK #8  sft16d8m                CPUWORK #8
                                 bl              i286a_ea                                  bl              i286a_ea
                                 tst             r0, #1                                  WORDACC r0, sft16d8e
                                 bne             sft16d8e  
                                 cmp             r0, #I286_MEMWRITEMAX  
                                 bcs             sft16d8e  
                                 add             r5, r9, r0                                  add             r5, r9, r0
                                 GETPC8                                  GETPC8
                                 ands    r0, r0, #&1f                                  ands    r0, r0, #&1f
Line 418  sft16d8e  mov  r5, r0 Line 409  sft16d8e  mov  r5, r0
                                 moveq   pc, r11                                  moveq   pc, r11
                                 CPUWORK r4                                  CPUWORK r4
                                 mov             r0, r5                                  mov             r0, r5
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 adr             r1, sft_ext16cl                                  adr             r1, sft_ext16cl
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
   
Line 465  sar_r16_cl  SAR16CL r4, r0 Line 456  sar_r16_cl  SAR16CL r4, r0
 rol_e16_cl              ROL16CL r0, r4  rol_e16_cl              ROL16CL r0, r4
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 ror_e16_cl              ROR16CL r0, r4  ror_e16_cl              ROR16CL r0, r4
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 rcl_e16_cl              RCL16CL r0, r4  rcl_e16_cl              RCL16CL r0, r4
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 rcr_e16_cl              RCR16CL r0, r4  rcr_e16_cl              RCR16CL r0, r4
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 shl_e16_cl              SHL16CL r0, r4  shl_e16_cl              SHL16CL r0, r4
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 shr_e16_cl              SHR16CL r0, r4  shr_e16_cl              SHR16CL r0, r4
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 sar_e16_cl              SAR16CL r0, r4  sar_e16_cl              SAR16CL r0, r4
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
   
         END          END
   

Removed from v.1.2  
changed lines
  Added in v.1.7


RetroPC.NET-CVS <cvs@retropc.net>