Diff for /np2/i286a/i286a_0f.s between versions 1.2 and 1.4

version 1.2, 2003/12/18 19:14:08 version 1.4, 2003/12/21 23:27:08
Line 5 Line 5
   
         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
   
Line 18 Line 18
   
   
 i286a_cts               mov             r6, r8  i286a_cts               mov             r6, r8
                                 GETPC8                                  GETPCF8
                                 cmp             r0, #1                                  cmp             r0, #1
                                 bne             cts_ldall                                  bne             cts_ldall
                                 GETPC8                                  GETPCF8
                                 and             r12, r0, #(7 << 3)                                  and             r12, r0, #(7 << 3)
                                 add             pc, pc, r12 lsr #1                                  add             pc, pc, r12 lsr #1
                                 nop                                  nop
Line 42  sgdt   cmp  r0, #&c0 Line 42  sgdt   cmp  r0, #&c0
                                 ldrh    r1, [r9, #(CPU_GDTR + 0)]                                  ldrh    r1, [r9, #(CPU_GDTR + 0)]
                                 add             r0, r0, r6                                  add             r0, r0, r6
                                 bic             r4, r4, #(1 << 16)                                  bic             r4, r4, #(1 << 16)
                                 bl              i286_memorywrite_w                                  bl              i286a_memorywrite_w
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                 ldrh    r1, [r9, #(CPU_GDTR + 2)]                                  ldrh    r1, [r9, #(CPU_GDTR + 2)]
                                 add             r4, r4, #2                                  add             r4, r4, #2
                                 bl              i286_memorywrite_w                                  bl              i286a_memorywrite_w
                                 ldrb    r1, [r9, #(CPU_GDTR + 4)]                                  ldrb    r1, [r9, #(CPU_GDTR + 4)]
                                 bic             r4, r4, #(1 << 16)                                  bic             r4, r4, #(1 << 16)
                                 orr             r1, r1, #&ff00                                  orr             r1, r1, #&ff00
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
   
 sidt                    cmp             r0, #&c0  sidt                    cmp             r0, #&c0
                                 bcs             cts_intr                                  bcs             cts_intr
Line 62  sidt   cmp  r0, #&c0 Line 62  sidt   cmp  r0, #&c0
                                 ldrh    r1, [r9, #(CPU_IDTR + 0)]                                  ldrh    r1, [r9, #(CPU_IDTR + 0)]
                                 add             r0, r0, r6                                  add             r0, r0, r6
                                 bic             r4, r4, #(1 << 16)                                  bic             r4, r4, #(1 << 16)
                                 bl              i286_memorywrite_w                                  bl              i286a_memorywrite_w
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                 ldrh    r1, [r9, #(CPU_IDTR + 2)]                                  ldrh    r1, [r9, #(CPU_IDTR + 2)]
                                 add             r4, r4, #2                                  add             r4, r4, #2
                                 bl              i286_memorywrite_w                                  bl              i286a_memorywrite_w
                                 ldrb    r1, [r9, #(CPU_IDTR + 4)]                                  ldrb    r1, [r9, #(CPU_IDTR + 4)]
                                 bic             r4, r4, #(1 << 16)                                  bic             r4, r4, #(1 << 16)
                                 orr             r1, r1, #&ff00                                  orr             r1, r1, #&ff00
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
   
 lgdt                    cmp             r0, #&c0  lgdt                    cmp             r0, #&c0
                                 bcs             cts_intr                                  bcs             cts_intr
Line 81  lgdt   cmp  r0, #&c0 Line 81  lgdt   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
                                 strh    r0, [r9, #(CPU_GDTR + 0)]                                  strh    r0, [r9, #(CPU_GDTR + 0)]
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                 add             r4, r4, #2                                  add             r4, r4, #2
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 bic             r4, r4, #(1 << 16)                                  bic             r4, r4, #(1 << 16)
                                 strh    r0, [r9, #(CPU_GDTR + 2)]                                  strh    r0, [r9, #(CPU_GDTR + 2)]
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 strh    r0, [r9, #(CPU_GDTR + 4)]                                  strh    r0, [r9, #(CPU_GDTR + 4)]
                                 mov             pc, r11                                  mov             pc, r11
   
Line 100  lidt   cmp  r0, #&c0 Line 100  lidt   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
                                 strh    r0, [r9, #(CPU_IDTR + 0)]                                  strh    r0, [r9, #(CPU_IDTR + 0)]
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                 add             r4, r4, #2                                  add             r4, r4, #2
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 bic             r4, r4, #(1 << 16)                                  bic             r4, r4, #(1 << 16)
                                 strh    r0, [r9, #(CPU_IDTR + 2)]                                  strh    r0, [r9, #(CPU_IDTR + 2)]
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 strh    r0, [r9, #(CPU_IDTR + 4)]                                  strh    r0, [r9, #(CPU_IDTR + 4)]
                                 mov             pc, r11                                  mov             pc, r11
   
Line 123  smswm   CPUWORK #6 Line 123  smswm   CPUWORK #6
                                 bl              i286a_ea                                  bl              i286a_ea
                                 strh    r1, [r9, #CPU_MSW]                                  strh    r1, [r9, #CPU_MSW]
                                 mov             lr, r11                                  mov             lr, r11
                                 b               i286_memorywrite_w                                  b               i286a_memorywrite_w
   
 lmsw                    cmp             r0, #&c0  lmsw                    cmp             r0, #&c0
                                 bcc             lmswm                                  bcc             lmswm
Line 134  lmsw   cmp  r0, #&c0 Line 134  lmsw   cmp  r0, #&c0
                                 mov             pc, r11                                  mov             pc, r11
 lmswm                   CPUWORK #6  lmswm                   CPUWORK #6
                                 bl              i286a_ea                                  bl              i286a_ea
                                 bl              i286_memoryread_w                                  bl              i286a_memoryread_w
                                 strh    r0, [r9, #CPU_MSW]                                  strh    r0, [r9, #CPU_MSW]
                                 mov             pc, r11                                  mov             pc, r11
   

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


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