Diff for /np2/i286a/i286a_f6.s between versions 1.1 and 1.5

version 1.1, 2003/12/17 14:04:43 version 1.5, 2003/12/20 15:54:43
Line 1 Line 1
   
         INCLUDE         i286a.inc          INCLUDE         i286a.inc
           INCLUDE         i286aea.inc
         INCLUDE         i286aalu.inc          INCLUDE         i286aalu.inc
         INCLUDE         i286aop.inc          INCLUDE         i286aop.inc
   
         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
         IMPORT          i286a_localint          IMPORT          i286a_localint
   
         IMPORT          __imp___rt_udiv          IMPORT          __imp___rt_udiv
Line 47  test8m   CPUWORK #6 Line 48  test8m   CPUWORK #6
                                 GETPC8                                  GETPC8
                                 AND8    r4, r0                                  AND8    r4, r0
                                 mov             pc, r11                                  mov             pc, r11
 test8e                  bl              i286_memoryread  test8e                  bl              i286a_memoryread
                                 mov             r4, r0                                  mov             r4, r0
                                 GETPC8                                  GETPC8
                                 AND8    r4, r0                                  AND8    r4, r0
Line 67  mul_ea8   cmp  r0, #&c0 Line 68  mul_ea8   cmp  r0, #&c0
                                 mov             pc, r11                                  mov             pc, r11
 mul8m                   CPUWORK #16  mul8m                   CPUWORK #16
                                 bl              i286a_ea                                  bl              i286a_ea
                                 bl              i286_memoryread                                  bl              i286a_memoryread
                                 ldrb    r4, [r9, #CPU_AL]                                  ldrb    r4, [r9, #CPU_AL]
                                 MUL8    r0, r4                                  MUL8    r0, r4
                                 strh    r1, [r9, #CPU_AX]                                  strh    r1, [r9, #CPU_AX]
Line 84  imul_ea8  cmp  r0, #&c0 Line 85  imul_ea8  cmp  r0, #&c0
                                 mov             pc, r11                                  mov             pc, r11
 imul8m                  CPUWORK #16  imul8m                  CPUWORK #16
                                 bl              i286a_ea                                  bl              i286a_ea
                                 bl              i286_memoryread                                  bl              i286a_memoryread
                                 ldrb    r4, [r9, #CPU_AL]                               ; ldrsb                                  ldrb    r4, [r9, #CPU_AL]                               ; ldrsb
                                 IMUL8   r0, r4                                  IMUL8   r0, r4
                                 strh    r1, [r9, #CPU_AX]                                  strh    r1, [r9, #CPU_AX]
Line 99  div_ea8   mov  r6, r8 Line 100  div_ea8   mov  r6, r8
                                 b               div8e                                  b               div8e
 div8m                   CPUWORK #17  div8m                   CPUWORK #17
                                 bl              i286a_ea                                  bl              i286a_ea
                                 bl              i286_memoryread                                  bl              i286a_memoryread
 div8e                   cmp             r0, #0  div8e                   cmp             r0, #0
                                 beq             div8intr                                  beq             div8intr
                                 ldrh    r1, [r9, #CPU_AX]                                  ldrh    r1, [r9, #CPU_AX]
Line 126  idiv_ea8  mov  r6, r8 Line 127  idiv_ea8  mov  r6, r8
                                 b               idiv8e                                  b               idiv8e
 idiv8m                  CPUWORK #20  idiv8m                  CPUWORK #20
                                 bl              i286a_ea                                  bl              i286a_ea
                                 bl              i286_memoryread                                  bl              i286a_memoryread
 idiv8e                  movs    r0, r0, lsl #24  idiv8e                  movs    r0, r0, lsl #24
                                 beq             div8intr                                  beq             div8intr
                                 ldrsh   r1, [r9, #CPU_AX]                                  ldrsh   r1, [r9, #CPU_AX]
Line 165  test_ea_d16  cmp  r0, #&c0 Line 166  test_ea_d16  cmp  r0, #&c0
                                 R16SRC  r0, r5                                  R16SRC  r0, r5
                                 ldrh    r4, [r5, #CPU_REG]                                  ldrh    r4, [r5, #CPU_REG]
                                 GETPC16                                  GETPC16
                                 AND8    r4, r0                                  AND16   r4, r0
                                 mov             pc, r11                                  mov             pc, r11
 test16m                 CPUWORK #6  test16m                 CPUWORK #6
                                 bl              i286a_ea                                  bl              i286a_ea
Line 177  test16m   CPUWORK #6 Line 178  test16m   CPUWORK #6
                                 GETPC16                                  GETPC16
                                 AND16   r4, r0                                  AND16   r4, r0
                                 mov             pc, r11                                  mov             pc, r11
 test16e                 bl              i286_memoryread_w  test16e                 bl              i286a_memoryread_w
                                 mov             r4, r0                                  mov             r4, r0
                                 GETPC16                                  GETPC16
                                 AND16   r4, r0                                  AND16   r4, r0
Line 199  mul_ea16  cmp  r0, #&c0 Line 200  mul_ea16  cmp  r0, #&c0
                                 mov             pc, r11                                  mov             pc, r11
 mul16m                  CPUWORK #24  mul16m                  CPUWORK #24
                                 bl              i286a_ea                                  bl              i286a_ea
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 ldrh    r4, [r9, #CPU_AX]                                  ldrh    r4, [r9, #CPU_AX]
                                 MUL16   r0, r4                                  MUL16   r0, r4
                                 mov             r0, r1 lsr #16                                  mov             r0, r1 lsr #16
Line 216  imul_ea16  cmp  r0, #&c0 Line 217  imul_ea16  cmp  r0, #&c0
                                 IMUL16  r0, r4                                  IMUL16  r0, r4
                                 mov             r0, r1 lsr #16                                  mov             r0, r1 lsr #16
                                 strh    r1, [r9, #CPU_AX]                                  strh    r1, [r9, #CPU_AX]
                                 strh    r0, [r9, #CPU_AX]                                  strh    r0, [r9, #CPU_DX]
                                 mov             pc, r11                                  mov             pc, r11
 imul16m                 CPUWORK #24  imul16m                 CPUWORK #24
                                 bl              i286a_ea                                  bl              i286a_ea
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 ldrh    r4, [r9, #CPU_AX]                               ; ldrsh?                                  ldrh    r4, [r9, #CPU_AX]                               ; ldrsh?
                                 IMUL16  r0, r4                                  IMUL16  r0, r4
                                 mov             r0, r1 lsr #16                                  mov             r0, r1 lsr #16
Line 237  div_ea16  mov  r6, r8 Line 238  div_ea16  mov  r6, r8
                                 b               div16e                                  b               div16e
 div16m                  CPUWORK #25  div16m                  CPUWORK #25
                                 bl              i286a_ea                                  bl              i286a_ea
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
 div16e                  cmp             r0, #0  div16e                  cmp             r0, #0
                                 beq             div16intr                                  beq             div16intr
                                 ldrh    r2, [r9, #CPU_DX]                                  ldrh    r2, [r9, #CPU_DX]
Line 266  idiv_ea16  mov  r6, r8 Line 267  idiv_ea16  mov  r6, r8
                                 b               idiv16e                                  b               idiv16e
 idiv16m                 CPUWORK #28  idiv16m                 CPUWORK #28
                                 bl              i286a_ea                                  bl              i286a_ea
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
 idiv16e                 movs    r0, r0, lsl #16  idiv16e                 movs    r0, r0, lsl #16
                                 beq             div16intr                                  beq             div16intr
                                 ldrh    r2, [r9, #CPU_DX]                                  ldrh    r2, [r9, #CPU_DX]

Removed from v.1.1  
changed lines
  Added in v.1.5


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