Diff for /np2/i286a/i286a_mn.s between versions 1.22 and 1.25

version 1.22, 2004/01/07 12:51:29 version 1.25, 2004/07/17 20:43:02
Line 701  xchg_ea_r16  EAREG16 r6 Line 701  xchg_ea_r16  EAREG16 r6
                                 strh    r1, [r6, #CPU_REG]                                  strh    r1, [r6, #CPU_REG]
                                 mov             pc, r11                                  mov             pc, r11
 xchgear16_1             bl              i286a_ea  xchgear16_1             bl              i286a_ea
                                 WORDACC r0, xchgear16_2                                  ACCWORD r0, xchgear16_2
                                 ldrh    r1, [r6, #CPU_REG]                                  ldrh    r1, [r6, #CPU_REG]
                                 ldrh    r4, [r9, r0]                                  ldrh    r4, [r9, r0]
                                 CPUWORK #5                                  CPUWORK #5
Line 781  leareg   mov  r6, #6 Line 781  leareg   mov  r6, #6
                                 sub             r8, r8, #(2 << 16)                                  sub             r8, r8, #(2 << 16)
                                 b               i286a_localint                                  b               i286a_localint
   
 mov_seg_ea              ldrh    r6, [r9, #CPU_MSW]  mov_seg_ea              ldrb    r6, [r9, #CPU_MSW]
                                 GETPCF8                                  GETPCF8
                                 adr             r2, msegea_tbl                                  adr             r2, msegea_tbl
                                 and             r1, r0, #(3 << 3)                                  and             r1, r0, #(3 << 3)
Line 919  call_far  CPUWORK #13 Line 919  call_far  CPUWORK #13
                                 add             r8, r8, #(2 << 16)                                  add             r8, r8, #(2 << 16)
                                 mov             r4, r0 lsl #16                                  mov             r4, r0 lsl #16
                                 add             r0, r5, r8 lsr #16                                  add             r0, r5, r8 lsr #16
                                   ldrb    r5, [r9, #CPU_MSW]
                                 bl              i286a_memoryread_w                                  bl              i286a_memoryread_w
                                 mov             r1, r0 lsl #4  
                                 strh    r0, [r9, #CPU_CS]                                  strh    r0, [r9, #CPU_CS]
                                 str             r1, [r9, #CPU_CS_BASE]                                  tst             r5, #MSW_PE
                                   moveq   r0, r0 lsl #4
                                   blne    i286a_selector
                                   str             r0, [r9, #CPU_CS_BASE]
                                 mov             r0, r8 lsl #16                                  mov             r0, r8 lsl #16
                                 orr             r8, r4, r0 lsr #16                                  orr             r8, r4, r0 lsr #16
                                 mov             pc, r11                                  mov             pc, r11
Line 1198  les_r16_ea  GETPCF8 Line 1201  les_r16_ea  GETPCF8
                                 bl              i286a_memoryread_w                                  bl              i286a_memoryread_w
                                 strh    r0, [r5, #CPU_REG]                                  strh    r0, [r5, #CPU_REG]
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                   ldrb    r4, [r9, #CPU_MSW]
                                 bl              i286a_memoryread_w                                  bl              i286a_memoryread_w
                                 mov             r1, r0 lsl #4  
                                 strh    r0, [r9, #CPU_ES]                                  strh    r0, [r9, #CPU_ES]
                                 str             r1, [r9, #CPU_ES_BASE]                                  tst             r4, #MSW_PE
                                   moveq   r0, r0 lsl #4
                                   blne    i286a_selector
                                   str             r0, [r9, #CPU_ES_BASE]
                                 mov             pc, r11                                  mov             pc, r11
 lr16_r                  mov             r6, #6  lr16_r                  mov             r6, #6
                                 sub             r8, r8, #(2 << 16)                                  sub             r8, r8, #(2 << 16)
Line 1219  lds_r16_ea  GETPCF8 Line 1225  lds_r16_ea  GETPCF8
                                 bl              i286a_memoryread_w                                  bl              i286a_memoryread_w
                                 strh    r0, [r5, #CPU_REG]                                  strh    r0, [r5, #CPU_REG]
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                   ldrb    r4, [r9, #CPU_MSW]
                                 bl              i286a_memoryread_w                                  bl              i286a_memoryread_w
                                 mov             r1, r0 lsl #4  
                                 strh    r0, [r9, #CPU_DS]                                  strh    r0, [r9, #CPU_DS]
                                 str             r1, [r9, #CPU_DS_BASE]                                  tst             r4, #MSW_PE
                                 str             r1, [r9, #CPU_DS_FIX]                                  moveq   r0, r0 lsl #4
                                   blne    i286a_selector
                                   str             r0, [r9, #CPU_DS_BASE]
                                   str             r0, [r9, #CPU_DS_FIX]
                                 mov             pc, r11                                  mov             pc, r11
   
 mov_ea8_d8              GETPCF8  mov_ea8_d8              GETPCF8
Line 1345  ret_far_d16  GETPC16 Line 1354  ret_far_d16  GETPC16
                                 add             r4, r4, #2                                  add             r4, r4, #2
                                 bl              i286a_memoryread_w                                  bl              i286a_memoryread_w
                                 add             r4, r6, r4                                  add             r4, r6, r4
                                 mov             r1, r0 lsl #4                                  ldrb    r1, [r9, #CPU_MSW]
                                 strh    r4, [r9, #CPU_SP]                                  strh    r4, [r9, #CPU_SP]
                                 strh    r0, [r9, #CPU_CS]                                  strh    r0, [r9, #CPU_CS]
                                 str             r1, [r9, #CPU_CS_BASE]                                  tst             r1, #MSW_PE
                                   moveq   r0, r0 lsl #4
                                   blne    i286a_selector
                                   str             r0, [r9, #CPU_CS_BASE]
                                 mov             pc, r11                                  mov             pc, r11
   
 ret_far                 ldrh    r1, [r9, #CPU_SP]  ret_far                 ldrh    r1, [r9, #CPU_SP]
Line 1364  ret_far   ldrh r1, [r9, #CPU_SP] Line 1376  ret_far   ldrh r1, [r9, #CPU_SP]
                                 add             r0, r4, r5                                  add             r0, r4, r5
                                 add             r4, r4, #2                                  add             r4, r4, #2
                                 bl              i286a_memoryread_w                                  bl              i286a_memoryread_w
                                 mov             r1, r0 lsl #4                                  ldrb    r1, [r9, #CPU_MSW]
                                 strh    r4, [r9, #CPU_SP]                                  strh    r4, [r9, #CPU_SP]
                                 strh    r0, [r9, #CPU_CS]                                  strh    r0, [r9, #CPU_CS]
                                 str             r1, [r9, #CPU_CS_BASE]                                  tst             r1, #MSW_PE
                                   moveq   r0, r0 lsl #4
                                   blne    i286a_selector
                                   str             r0, [r9, #CPU_CS_BASE]
                                 mov             pc, r11                                  mov             pc, r11
   
 int_03                  CPUWORK #3  int_03                  CPUWORK #3
Line 1385  into   CPUWORK #4 Line 1400  into   CPUWORK #4
                                 mov             r6, #4                                  mov             r6, #4
                                 b               i286a_localint                                  b               i286a_localint
   
 iret                    bl              extirq_pop  iret                    ldrh    r1, [r9, #CPU_SP]
                                 ldrh    r1, [r9, #CPU_SP]  
                                 ldr             r5, [r9, #CPU_SS_BASE]                                  ldr             r5, [r9, #CPU_SS_BASE]
                                 CPUWORK #31                                  CPUWORK #31
                                 add             r4, r1, #2                                  add             r4, r1, #2
Line 1603  jmp_far   CPUWORK #11 Line 1617  jmp_far   CPUWORK #11
                                 mov             r8, r0 lsl #16                                  mov             r8, r0 lsl #16
                                 add             r0, r4, r5 lsr #16                                  add             r0, r4, r5 lsr #16
                                 bl              i286a_memoryread_w                                  bl              i286a_memoryread_w
                                   ldrb    r1, [r9, #CPU_MSW]
                                 add             r8, r8, r6 lsr #16                                  add             r8, r8, r6 lsr #16
                                 mov             r1, r0 lsl #4  
                                 strh    r0, [r9, #CPU_CS]                                  strh    r0, [r9, #CPU_CS]
                                 str             r1, [r9, #CPU_CS_BASE]                                  tst             r1, #MSW_PE
                                   moveq   r0, r0 lsl #4
                                   blne    i286a_selector
                                   str             r0, [r9, #CPU_CS_BASE]
                                 mov             pc, r11                                  mov             pc, r11
   
 in_al_dx                CPUWORK #5  in_al_dx                CPUWORK #5
Line 1686  sti_set   orr  r8, r8, #I_FLAG Line 1703  sti_set   orr  r8, r8, #I_FLAG
                                 strneb  r1, [r9, #CPU_TRAP]                                  strneb  r1, [r9, #CPU_TRAP]
                                 bne             sti_withirq                                  bne             sti_withirq
                 endif                  endif
                                 PICEXISTINTR    sti_noirq                                  PICEXISTINTR
                                 bne             sti_withirq                                  bne             sti_withirq
 sti_noirq               NEXT_OPCODE  sti_noirq               NEXT_OPCODE
 sti_pic                 dcd             pic  sti_pic                 dcd             pic

Removed from v.1.22  
changed lines
  Added in v.1.25


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