Diff for /np2/i286a/i286a_fe.s between versions 1.4 and 1.6

version 1.4, 2003/12/18 13:21:32 version 1.6, 2003/12/19 00:25:49
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          i286a_a          IMPORT          i286a_a
         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
   
         EXPORT          i286aopfe          EXPORT          i286aopfe
Line 52  callea16  cmp  r0, #&c0 Line 53  callea16  cmp  r0, #&c0
                                 b               call16e                                  b               call16e
 call16m                 CPUWORK #11  call16m                 CPUWORK #11
                                 bl              i286a_ea                                  bl              i286a_ea
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 mov             r1, r8 lsr #16                                  mov             r1, r8 lsr #16
                                 sub             r8, r8, r1 lsl #16                                  sub             r8, r8, r1 lsl #16
                                 orr             r8, r8, r0 lsl #16                                  orr             r8, r8, r0 lsl #16
Line 63  call16e   ldrh r2, [r9, #CPU_SP] Line 64  call16e   ldrh r2, [r9, #CPU_SP]
                                 strh    r2, [r9, #CPU_SP]                                  strh    r2, [r9, #CPU_SP]
                                 add             r0, r2, r3                                  add             r0, r2, r3
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
   
 callfarea16             cmp             r0, #&c0  callfarea16             cmp             r0, #&c0
                                 bcs             callfar16r                                  bcs             callfar16r
Line 72  callfarea16  cmp  r0, #&c0 Line 73  callfarea16  cmp  r0, #&c0
                                 add             r4, r0, #2                                  add             r4, r0, #2
                                 add             r0, r0, r6                                  add             r0, r0, r6
                                 bic             r4, r4, #(1 << 16)                                  bic             r4, r4, #(1 << 16)
                                 bl              i286_memoryread_w                       ; ip                                  bl              i286a_memoryread_w                      ; ip
                                 mov             r5, r8 lsr #16                                  mov             r5, r8 lsr #16
                                 add             r8, r8, r0 lsl #16                                  add             r8, r8, r0 lsl #16
                                 sub             r8, r8, r5 lsl #16                                  sub             r8, r8, r5 lsl #16
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                 bl              i286_memoryread_w                       ; cs                                  bl              i286a_memoryread_w                      ; cs
                                 mov             r2, r0 lsl #4                                  mov             r2, r0 lsl #4
                                 ldrh    r1, [r9, #CPU_CS]                                  ldrh    r1, [r9, #CPU_CS]
                                 strh    r0, [r9, #CPU_CS]                                  strh    r0, [r9, #CPU_CS]
Line 87  callfarea16  cmp  r0, #&c0 Line 88  callfarea16  cmp  r0, #&c0
                                 subs    r4, r4, #2                                  subs    r4, r4, #2
                                 addcc   r4, r4, #&10000                                  addcc   r4, r4, #&10000
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                 bl              i286_memorywrite_w                      ; cs                                  bl              i286a_memorywrite_w                     ; cs
                                 subs    r4, r4, #2                                  subs    r4, r4, #2
                                 addcc   r4, r4, #&10000                                  addcc   r4, r4, #&10000
                                 mov             r1, r5                                  mov             r1, r5
                                 strh    r4, [r9, #CPU_SP]                                  strh    r4, [r9, #CPU_SP]
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                      ; ip                                  b               i286a_memorywrite_w                     ; ip
 callfar16r              mov             r6, #6  callfar16r              mov             r6, #6
                                 sub             r8, r8, #(2 << 16)                                  sub             r8, r8, #(2 << 16)
                                 b               i286a_localint                                  b               i286a_localint
Line 110  jmpea16   cmp  r0, #&c0 Line 111  jmpea16   cmp  r0, #&c0
                                 mov             pc, r11                                  mov             pc, r11
 jmp16m                  CPUWORK #11  jmp16m                  CPUWORK #11
                                 bl              i286a_ea                                  bl              i286a_ea
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 mov             r8, r8 lsl #16                                  mov             r8, r8 lsl #16
                                 mov             r8, r8 lsr #16                                  mov             r8, r8 lsr #16
                                 orr             r8, r8, r0 lsl #16                                  orr             r8, r8, r0 lsl #16
Line 123  jmpfarea16  cmp  r0, #&c0 Line 124  jmpfarea16  cmp  r0, #&c0
                                 add             r4, r0, #2                                  add             r4, r0, #2
                                 add             r0, r0, r6                                  add             r0, r0, r6
                                 bic             r4, r4, #(1 << 16)                                  bic             r4, r4, #(1 << 16)
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 mov             r8, r8 lsl #16                                  mov             r8, r8 lsl #16
                                 mov             r8, r8 lsr #16                                  mov             r8, r8 lsr #16
                                 orr             r8, r8, r0 lsl #16                                  orr             r8, r8, r0 lsl #16
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 mov             r1, r0 lsl #4                                  mov             r1, r0 lsl #4
                                 strh    r0, [r9, #CPU_CS]                                  strh    r0, [r9, #CPU_CS]
                                 str             r1, [r9, #CPU_CS_BASE]                                  str             r1, [r9, #CPU_CS_BASE]
Line 145  pushea16  cmp  r0, #&c0 Line 146  pushea16  cmp  r0, #&c0
                                 b               push16e                                  b               push16e
 push16m                 CPUWORK #5  push16m                 CPUWORK #5
                                 bl              i286a_ea                                  bl              i286a_ea
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 mov             r1, r0                                  mov             r1, r0
 push16e                 ldrh    r2, [r9, #CPU_SP]  push16e                 ldrh    r2, [r9, #CPU_SP]
                                 ldr             r3, [r9, #CPU_SS_BASE]                                  ldr             r3, [r9, #CPU_SS_BASE]
Line 154  push16e   ldrh r2, [r9, #CPU_SP] Line 155  push16e   ldrh r2, [r9, #CPU_SP]
                                 strh    r2, [r9, #CPU_SP]                                  strh    r2, [r9, #CPU_SP]
                                 add             r0, r2, r3                                  add             r0, r2, r3
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
   
 popea16                 CPUWORK #5  popea16                 CPUWORK #5
                                 ldrh    r2, [r9, #CPU_SP]                                  ldrh    r2, [r9, #CPU_SP]
Line 164  popea16   CPUWORK #5 Line 165  popea16   CPUWORK #5
                                 add             r2, r2, #2                                  add             r2, r2, #2
                                 bic             r2, r2, #&10000                                  bic             r2, r2, #&10000
                                 strh    r2, [r9, #CPU_SP]                                  strh    r2, [r9, #CPU_SP]
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 cmp             r6, #&c0                                  cmp             r6, #&c0
                                 bcc             pop16m                                  bcc             pop16m
                                 R16SRC  r6, r1                                  R16SRC  r6, r1
                                 ldrh    r0, [r1, #CPU_REG]                                  strh    r0, [r1, #CPU_REG]
                                 mov             pc, r11                                  mov             pc, r11
 pop16m                  mov             r5, r0  pop16m                  mov             r5, r0
                                 mov             r0, r6                                  mov             r0, r6
                                 bl              i286a_ea                                  bl              i286a_ea
                                 mov             r1, r5                                  mov             r1, r5
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memoryread_w                                  b               i286a_memoryread_w
   
         END          END
   

Removed from v.1.4  
changed lines
  Added in v.1.6


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