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

version 1.1, 2003/12/17 14:04:43 version 1.2, 2003/12/18 19:14:08
Line 1 Line 1
   
         INCLUDE         i286a.inc          INCLUDE         i286a.inc
           INCLUDE         i286aea.inc
         INCLUDE         i286aalu.inc          INCLUDE         i286aalu.inc
   
         IMPORT          i286a_ea          IMPORT          i286a_ea
Line 22  i286a_cts  mov  r6, r8 Line 23  i286a_cts  mov  r6, r8
                                 bne             cts_ldall                                  bne             cts_ldall
                                 GETPC8                                  GETPC8
                                 and             r12, r0, #(7 << 3)                                  and             r12, r0, #(7 << 3)
                                 adr             r1, cts1tbl                                  add             pc, pc, r12 lsr #1
                                 ldr             pc, [r1, r12 lsr #1]                                  nop
 cts1tbl                 dcd             sgdt                                  b               sgdt
                                 dcd             sidt                                  b               sidt
                                 dcd             lgdt                                  b               lgdt
                                 dcd             lidt                                  b               lidt
                                 dcd             smsw                                  b               smsw
                                 dcd             smsw                                  b               smsw
                                 dcd             lmsw                                  b               lmsw
                                 dcd             lmsw                                  b               lmsw
   
 cts_ldall               cmp             r0, #5  
                                 bne             cts_intr  
   
 cts_intr                sub             r8, r6, #(1 << 16)  
                                 mov             r6, #6  
                                 b               i286a_localint  
   
 sgdt                    cmp             r0, #&c0  sgdt                    cmp             r0, #&c0
                                 bcs             cts_intr                                  bcs             cts_intr
Line 144  lmswm   CPUWORK #6 Line 138  lmswm   CPUWORK #6
                                 strh    r0, [r9, #CPU_MSW]                                  strh    r0, [r9, #CPU_MSW]
                                 mov             pc, r11                                  mov             pc, r11
   
   cts_ldall               cmp             r0, #5
                                   bne             cts_intr
                                   add             r6, r9, #&800
                                   CPUWORK #195
                                   ldrh    r0, [r6, #&04]                  ; MSW
                                   ldr             r8, [r6, #&18]                  ; IP:flag
                                   mov             r2, #3
                                   strh    r0, [r9, #CPU_MSW]
                                   and             r2, r2, r8 lsr #8
                                   bic             r8, r8, #&f000
                                   and             r2, r2, r2 lsr #1
                                   strb    r2, [r9, #CPU_TRAP]
                                   ldrh    r0, [r6, #&1e]                  ; DS
                                   ldr             r1, [r6, #&20]                  ; CS:SS
                                   ldr             r2, [r6, #&24]                  ; DI:ES
                                   strh    r0, [r9, #CPU_DS]
                                   mov             r0, r1 lsr #16
                                   strh    r1, [r9, #CPU_SS]
                                   strh    r0, [r9, #CPU_CS]
                                   mov             r0, r2 lsr #16
                                   strh    r2, [r9, #CPU_ES]
                                   strh    r0, [r9, #CPU_DI]
   
                                   ldr             r0, [r6, #&28]                  ; BP:SI
                                   ldr             r1, [r6, #&2c]                  ; BX:SP
                                   ldr             r2, [r6, #&30]                  ; CX:DX
                                   mov             r12, r0 lsr #16
                                   strh    r0, [r9, #CPU_SI]
                                   strh    r12, [r9, #CPU_BP]
                                   mov             r12, r1 lsr #16
                                   strh    r1, [r9, #CPU_SP]
                                   strh    r12, [r9, #CPU_BX]
                                   mov             r12, r2 lsr #16
                                   strh    r2, [r9, #CPU_DX]
                                   strh    r12, [r9, #CPU_CX]
   
                                   ldrh    r0, [r6, #&34]                  ; AX
                                   ldrh    r1, [r6, #&36]                  ; ES
                                   ldrb    r2, [r6, #&38]                  ; ES
                                   ldr             r3, [r6, #&3c]                  ; CS
                                   ldrh    r4, [r6, #&42]                  ; SS
                                   ldrb    r5, [r6, #&44]                  ; SS
                                   ldr             r6, [r6, #&48]                  ; DS
                                   strh    r0, [r9, #CPU_AX]
                                   orr             r1, r1, r2 lsl #16
                                   bic             r3, r3, #(&ff << 24)
                                   orr             r4, r4, r5 lsl #16
                                   bic             r6, r6, #(&ff << 24)
                                   str             r1, [r9, #CPU_ES_BASE]
                                   str             r3, [r9, #CPU_CS_BASE]
                                   str             r4, [r9, #CPU_SS_BASE]
                                   str             r6, [r9, #CPU_DS_BASE]
                                   str             r4, [r9, #CPU_SS_FIX]
                                   str             r6, [r9, #CPU_DS_FIX]
                                   I286IRQCHECKTERM
   
   cts_intr                sub             r8, r6, #(1 << 16)
                                   mov             r6, #6
                                   b               i286a_localint
   
         END          END
   

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


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