Diff for /np2/i286a/i286a_mn.s between versions 1.19 and 1.21

version 1.19, 2003/12/26 00:11:51 version 1.21, 2004/01/07 06:53:47
Line 918  pushf   CPUWORK #3 Line 918  pushf   CPUWORK #3
                                 b               i286a_memorywrite_w                                  b               i286a_memorywrite_w
   
 popf                    POP             #5  popf                    POP             #5
                   if 1
                                   mov             r8, r8 lsr #16
                                   bic             r1, r0, #&f000                                  ; i286
                                   and             r2, r0, #(I_FLAG + T_FLAG)
                                   orr             r8, r1, r8 lsl #16
                                   cmp             r2, #(I_FLAG + T_FLAG)
                                   beq             popf_withirq
                   else
                                 mov             r2, #3                                  mov             r2, #3
                                 mov             r8, r8 lsr #16                                  mov             r8, r8 lsr #16
                                 and             r2, r2, r0 lsr #8                                  and             r2, r2, r0 lsr #8
Line 926  popf   POP  #5 Line 934  popf   POP  #5
                                 orr             r8, r1, r8 lsl #16                                  orr             r8, r1, r8 lsl #16
                                 strb    r2, [r9, #CPU_TRAP]                                  strb    r2, [r9, #CPU_TRAP]
                                 bne             popf_withirq                                  bne             popf_withirq
                   endif
                                 ldr             r0, popf_pic                                  ldr             r0, popf_pic
                                 NOINTREXIT                                  NOINTREXIT
 popf_withirq    I286IRQCHECKTERM  popf_withirq    I286IRQCHECKTERM
Line 1372  iret   bl  extirq_pop Line 1381  iret   bl  extirq_pop
                                 add             r4, r4, #2                                  add             r4, r4, #2
                                 bl              i286a_memoryread_w                                  bl              i286a_memoryread_w
                                 strh    r4, [r9, #CPU_SP]                                  strh    r4, [r9, #CPU_SP]
                   if 1
                                   bic             r1, r0, #&f000
                                   and             r2, r0, #(I_FLAG + T_FLAG)
                                   orr             r8, r1, r8
                                   cmp             r2, #(I_FLAG + T_FLAG)
                                   beq             iret_withirq
                   else
                                 mov             r2, #3                                  mov             r2, #3
                                 bic             r1, r0, #&f000                                  ; i286                                  bic             r1, r0, #&f000                                  ; i286
                                 and             r2, r2, r0 lsr #8                                  and             r2, r2, r0 lsr #8
Line 1379  iret   bl  extirq_pop Line 1395  iret   bl  extirq_pop
                                 ands    r2, r2, r2 lsr #1                                  ands    r2, r2, r2 lsr #1
                                 strb    r2, [r9, #CPU_TRAP]                                  strb    r2, [r9, #CPU_TRAP]
                                 bne             iret_withirq                                  bne             iret_withirq
                   endif
                                 ldr             r0, iret_pic                                  ldr             r0, iret_pic
                                 NOINTREXIT                                  NOINTREXIT
 iret_withirq    I286IRQCHECKTERM  iret_withirq    I286IRQCHECKTERM
Line 1621  stc    CPUWORK #2 Line 1638  stc    CPUWORK #2
                                 mov             pc, r11                                  mov             pc, r11
   
 cli                             CPUWORK #2  cli                             CPUWORK #2
                   if 1
                                   bic             r8, r8, #I_FLAG
                   else
                                 mov             r0, #0                                  mov             r0, #0
                                 bic             r8, r8, #I_FLAG                                  bic             r8, r8, #I_FLAG
                                 strb    r0, [r9, #CPU_TRAP]                                  strb    r0, [r9, #CPU_TRAP]
                   endif
                                 mov             pc, r11                                  mov             pc, r11
   
 sti                             CPUWORK #2  sti                             CPUWORK #2
                                 tst             r8, #I_FLAG                                  tst             r8, #I_FLAG
                                 bne             sti_noirq                                  bne             sti_noirq
 sti_set                 orr             r8, r8, #I_FLAG  sti_set                 orr             r8, r8, #I_FLAG
                   if 1
                                   ldr             r0, sti_pic
                                   tst             r8, #T_FLAG
                                   bne             sti_withirq
                   else
                                 mov             r1, #(T_FLAG >> 8)                                  mov             r1, #(T_FLAG >> 8)
                                 ands    r1, r1, r8 lsr #8                                  ands    r1, r1, r8 lsr #8
                                 ldr             r0, sti_pic                                  ldr             r0, sti_pic
                                 strneb  r1, [r9, #CPU_TRAP]                                  strneb  r1, [r9, #CPU_TRAP]
                                 bne             sti_withirq                                  bne             sti_withirq
                   endif
                                 PICEXISTINTR    sti_noirq                                  PICEXISTINTR    sti_noirq
                                 bne             sti_withirq                                  bne             sti_withirq
 sti_noirq               NEXT_OPCODE  sti_noirq               NEXT_OPCODE
Line 1678  i286a   stmdb sp!, {r4 - r11, lr} Line 1705  i286a   stmdb sp!, {r4 - r11, lr}
                                 ldr             r10, ias_r10                                  ldr             r10, ias_r10
                                 CPULD                                  CPULD
                                 ldr             r5, [r9, #CPU_CS_BASE]                                  ldr             r5, [r9, #CPU_CS_BASE]
                                 ldr             r1, [r2, #DMAC_WORKING]                                  ldrb    r1, [r2, #DMAC_WORKING]
                                 and             r0, r8, #(I_FLAG + T_FLAG)                                  and             r0, r8, #(I_FLAG + T_FLAG)
                                 cmp             r0, #(I_FLAG + T_FLAG)                                  cmp             r0, #(I_FLAG + T_FLAG)
                                 beq             i286awithtrap                                  beq             i286awithtrap

Removed from v.1.19  
changed lines
  Added in v.1.21


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