Diff for /np2/i286a/i286a_8x.s between versions 1.2 and 1.11

version 1.2, 2003/12/17 03:46:27 version 1.11, 2004/07/17 20:43:02
Line 1 Line 1
   
         INCLUDE         i286a.inc          INCLUDE         i286a.inc
           INCLUDE         i286aea.inc
         INCLUDE         i286aalu.inc          INCLUDE         i286aalu.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          i286a_80          EXPORT          i286aop80
         EXPORT          i286a_81          EXPORT          i286aop81
         EXPORT          i286a_83          EXPORT          i286aop83
   
         AREA    .text, CODE, READONLY          AREA    .text, CODE, READONLY
   
 i286a_80                GETPC8  i286aop80               GETPCF8
                                 and             r6, r0, #(7 << 3)                                  and             r6, r0, #(7 << 3)
                                 cmp             r0, #&c0                                  cmp             r0, #&c0
                                 bcc             ope80m                                  bcc             ope80m
                                 CPUWORK #3                                  CPUWORK #3
                                 R8SRC   r0, r5                                  R8SRC   r0, r4
                                 add             r5, r5, #CPU_REG                                  add             r4, r4, #CPU_REG
                                 GETPC8                                  GETPC8
                                 adr             r1, op8x_reg8                                  adr             r1, op8x_reg8
                                   ldrb    r5, [r4]
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
 ope80m                  CPUWORK #7  ope80m                  CPUWORK #7
                                 bl              i286a_ea                                  bl              i286a_ea
                                 cmp             r0, #I286_MEMWRITEMAX                                  cmp             r0, #I286_MEMWRITEMAX
                                 bcs             ope80e                                  bcs             ope80e
                                 add             r5, r9, r0                                  add             r4, r9, r0
                                 GETPC8                                  GETPC8
                                 adr             r1, op8x_reg8                                  adr             r1, op8x_reg8
                                   ldrb    r5, [r4]
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
 ope80e                  mov             r4, r0  ope80e                  mov             r5, r0
                                   bl              i286a_memoryread
                                   mov             r4, r0
                                 GETPC8                                  GETPC8
                                 mov             r5, r0  
                                 bl              i286_memoryread  
                                 adr             r1, op8x_ext8                                  adr             r1, op8x_ext8
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
   
Line 58  op8x_ext8  dcd  add_r8_e Line 60  op8x_ext8  dcd  add_r8_e
                                 dcd             xor_r8_e                                  dcd             xor_r8_e
                                 dcd             cmp_r8_e                                  dcd             cmp_r8_e
   
 add_r8_i                ldrb    r6, [r5]  add_r8_i                ADD8    r5, r0
                                 ADD8    r6, r0                                  strb    r1, [r4]
                                 strb    r1, [r5]  
                                 mov             pc, r11                                  mov             pc, r11
 or_r8_i                 ldrb    r6, [r5]  or_r8_i                 OR8             r5, r0
                                 OR8             r6, r0                                  strb    r1, [r4]
                                 strb    r1, [r5]  
                                 mov             pc, r11                                  mov             pc, r11
 adc_r8_i                ldrb    r6, [r5]  adc_r8_i                ADC8    r5, r0
                                 ADC8    r6, r0                                  strb    r1, [r4]
                                 strb    r1, [r5]  
                                 mov             pc, r11                                  mov             pc, r11
 sbb_r8_i                ldrb    r6, [r5]  sbb_r8_i                SBB8    r5, r0
                                 SBB8    r6, r0                                  strb    r1, [r4]
                                 strb    r1, [r5]  
                                 mov             pc, r11                                  mov             pc, r11
 and_r8_i                ldrb    r6, [r5]  and_r8_i                AND8    r5, r0
                                 AND8    r6, r0                                  strb    r1, [r4]
                                 strb    r1, [r5]  
                                 mov             pc, r11                                  mov             pc, r11
 sub_r8_i                ldrb    r6, [r5]  sub_r8_i                SUB8    r5, r0
                                 SUB8    r6, r0                                  strb    r1, [r4]
                                 strb    r1, [r5]  
                                 mov             pc, r11                                  mov             pc, r11
 xor_r8_i                ldrb    r6, [r5]  xor_r8_i                XOR8    r5, r0
                                 XOR8    r6, r0                                  strb    r1, [r4]
                                 strb    r1, [r5]  
                                 mov             pc, r11                                  mov             pc, r11
 cmp_r8_i                ldrb    r6, [r5]  cmp_r8_i                SUB8    r5, r0
                                 SUB8    r6, r0  
                                 mov             pc, r11                                  mov             pc, r11
   
 add_r8_e                ADD8    r0, r4  add_r8_e                ADD8    r4, r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 or_r8_e                 OR8             r0, r4  or_r8_e                 OR8             r4, r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 adc_r8_e                ADC8    r0, r4  adc_r8_e                ADC8    r4, r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 sbb_r8_e                SBB8    r0, r4  sbb_r8_e                SBB8    r4, r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 and_r8_e                AND8    r0, r4  and_r8_e                AND8    r4, r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 sub_r8_e                SUB8    r0, r4  sub_r8_e                SUB8    r4, r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 xor_r8_e                XOR8    r0, r4  xor_r8_e                XOR8    r4, r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite                                  b               i286a_memorywrite
 cmp_r8_e                SUB8    r0, r4  cmp_r8_e                SUB8    r4, r0
                                 mov             pc, r11                                  mov             pc, r11
   
   
 ; ----  ; ----
   
 i286a_81                GETPC8  i286aop81               GETPCF8
                                 and             r6, r0, #(7 << 3)                                  and             r6, r0, #(7 << 3)
                                 cmp             r0, #&c0                                  cmp             r0, #&c0
                                 bcc             ope81m                                  bcc             ope81m
                                 CPUWORK #3                                  CPUWORK #3
                                 R16SRC  r0, r5                                  R16SRC  r0, r4
                                 add             r5, r5, #CPU_REG                                  add             r4, r4, #CPU_REG
                                 GETPC16                                  GETPC16
                                 adr             r1, op8x_reg16                                  adr             r1, op8x_reg16
                                   ldrh    r5, [r4]
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
 ope81m                  CPUWORK #7  ope81m                  CPUWORK #7
                                 bl              i286a_ea                                  bl              i286a_ea
                                 tst             r0, #1                                  ACCWORD r0, ope81e
                                 bne             ope81e                                  add             r4, r9, r0
                                 cmp             r0, #I286_MEMWRITEMAX  
                                 bcs             ope81e  
                                 add             r5, r9, r0  
                                 GETPC16                                  GETPC16
                                 adr             r1, op8x_reg16                                  adr             r1, op8x_reg16
                                   ldrh    r5, [r4]
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
 ope81e                  mov             r4, r0  ope81e                  mov             r5, r0
                                   bl              i286a_memoryread_w
                                   mov             r4, r0
                                 GETPC16                                  GETPC16
                                 mov             r5, r0  
                                 bl              i286_memoryread_w  
                                 adr             r1, op8x_ext16                                  adr             r1, op8x_ext16
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
   
 i286a_83                GETPC8  i286aop83               GETPCF8
                                 and             r6, r0, #(7 << 3)                                  and             r6, r0, #(7 << 3)
                                 cmp             r0, #&c0                                  cmp             r0, #&c0
                                 bcc             ope83m                                  bcc             ope83m
                                 CPUWORK #3                                  CPUWORK #3
                                 R16SRC  r0, r5                                  R16SRC  r0, r4
                                 add             r5, r5, #CPU_REG                                  add             r4, r4, #CPU_REG
                                 GETPC8                                  GETPC8
                                 tst             r0, #(1 << 7)                                  tst             r0, #(1 << 7)
                                 orrne   r0, r0, #(&ff << 8)                                  orrne   r0, r0, #(&ff << 8)
                                 adr             r1, op8x_reg16                                  adr             r1, op8x_reg16
                                   ldrh    r5, [r4]
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
 ope83m                  CPUWORK #7  ope83m                  CPUWORK #7
                                 bl              i286a_ea                                  bl              i286a_ea
                                 tst             r0, #1                                  ACCWORD r0, ope83e
                                 bne             ope83e                                  add             r4, r9, r0
                                 cmp             r0, #I286_MEMWRITEMAX  
                                 bcs             ope83e  
                                 add             r5, r9, r0  
                                 GETPC8                                  GETPC8
                                 tst             r0, #(1 << 7)                                  tst             r0, #(1 << 7)
                                 orrne   r0, r0, #(&ff << 8)                                  orrne   r0, r0, #(&ff << 8)
                                 adr             r1, op8x_reg16                                  adr             r1, op8x_reg16
                                   ldrh    r5, [r4]
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
 ope83e                  mov             r4, r0  ope83e                  mov             r5, r0
                                   bl              i286a_memoryread_w
                                   mov             r4, r0
                                 GETPC8                                  GETPC8
                                 mov             r5, r0  
                                 tst             r0, #(1 << 7)                                  tst             r0, #(1 << 7)
                                 orrne   r5, r5, #(&ff << 8)                                  orrne   r0, r0, #(&ff << 8)
                                 bl              i286_memoryread_w  
                                 adr             r1, op8x_ext16                                  adr             r1, op8x_ext16
                                 ldr             pc, [r1, r6 lsr #1]                                  ldr             pc, [r1, r6 lsr #1]
   
Line 202  op8x_ext16  dcd  add_r16_e Line 194  op8x_ext16  dcd  add_r16_e
                                 dcd             xor_r16_e                                  dcd             xor_r16_e
                                 dcd             cmp_r16_e                                  dcd             cmp_r16_e
   
 add_r16_i               ldrh    r6, [r5]  add_r16_i               ADD16   r5, r0
                                 ADD16   r6, r0                                  strh    r1, [r4]
                                 strh    r1, [r5]  
                                 mov             pc, r11                                  mov             pc, r11
 or_r16_i                ldrh    r6, [r5]  or_r16_i                OR16    r5, r0
                                 OR16    r6, r0                                  strh    r1, [r4]
                                 strh    r1, [r5]  
                                 mov             pc, r11                                  mov             pc, r11
 adc_r16_i               ldrh    r6, [r5]  adc_r16_i               ADC16   r5, r0
                                 ADC16   r6, r0                                  strh    r1, [r4]
                                 strh    r1, [r5]  
                                 mov             pc, r11                                  mov             pc, r11
 sbb_r16_i               ldrh    r6, [r5]  sbb_r16_i               SBB16   r5, r0
                                 SBB16   r6, r0                                  strh    r1, [r4]
                                 strh    r1, [r5]  
                                 mov             pc, r11                                  mov             pc, r11
 and_r16_i               ldrh    r6, [r5]  and_r16_i               AND16   r5, r0
                                 AND16   r6, r0                                  strh    r1, [r4]
                                 strh    r1, [r5]  
                                 mov             pc, r11                                  mov             pc, r11
 sub_r16_i               ldrh    r6, [r5]  sub_r16_i               SUB16   r5, r0
                                 SUB16   r6, r0                                  strh    r1, [r4]
                                 strh    r1, [r5]  
                                 mov             pc, r11                                  mov             pc, r11
 xor_r16_i               ldrh    r6, [r5]  xor_r16_i               XOR16   r5, r0
                                 XOR16   r6, r0                                  strh    r1, [r4]
                                 strh    r1, [r5]  
                                 mov             pc, r11                                  mov             pc, r11
 cmp_r16_i               ldrh    r6, [r5]  cmp_r16_i               SUB16   r5, r0
                                 SUB16   r6, r0  
                                 mov             pc, r11                                  mov             pc, r11
   
 add_r16_e               ADD16   r0, r4  add_r16_e               ADD16   r4, r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 or_r16_e                OR16    r0, r4  or_r16_e                OR16    r4, r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 adc_r16_e               ADC16   r0, r4  adc_r16_e               ADC16   r4, r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 sbb_r16_e               SBB16   r0, r4  sbb_r16_e               SBB16   r4, r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 and_r16_e               AND16   r0, r4  and_r16_e               AND16   r4, r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 sub_r16_e               SUB16   r0, r4  sub_r16_e               SUB16   r4, r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 xor_r16_e               XOR16   r0, r4  xor_r16_e               XOR16   r4, r0
                                 mov             r0, r5                                  mov             r0, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
 cmp_r16_e               SUB16   r0, r4  cmp_r16_e               SUB16   r4, r0
                                 mov             pc, r11                                  mov             pc, r11
   
         END          END

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


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