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

version 1.25, 2004/07/17 20:43:02 version 1.29, 2005/05/16 04:55:13
Line 24 Line 24
         IMPORT          iocore_out8          IMPORT          iocore_out8
         IMPORT          iocore_out16          IMPORT          iocore_out16
   
         IMPORT          dmap_i286          IMPORT          dmax86
         IMPORT          biosfunc          IMPORT          biosfunc
   
         IMPORT          i286a_cts          IMPORT          i286a_cts
Line 96  adc_r16_ea  OP_R16_EA ADC16, #2, #7 Line 96  adc_r16_ea  OP_R16_EA ADC16, #2, #7
 adc_al_d8               OP_AL_D8        ADC8, #3  adc_al_d8               OP_AL_D8        ADC8, #3
 adc_ax_d16              OP_AX_D16       ADC16, #3  adc_ax_d16              OP_AX_D16       ADC16, #3
 push_ss                 REGPUSH         #CPU_SS, #3  push_ss                 REGPUSH         #CPU_SS, #3
 pop_ss                  SEGPOPFIX       #CPU_SS, #CPU_SS_BASE, #CPU_SS_FIX, #5  ; pop_ss
   
 sbb_ea_r8               OP_EA_R8        SBB8, #2, #7  sbb_ea_r8               OP_EA_R8        SBB8, #2, #7
 sbb_ea_r16              OP_EA_R16       SBB16, #2, #7  sbb_ea_r16              OP_EA_R16       SBB16, #2, #7
Line 105  sbb_r16_ea  OP_R16_EA SBB16, #2, #7 Line 105  sbb_r16_ea  OP_R16_EA SBB16, #2, #7
 sbb_al_d8               OP_AL_D8        SBB8, #3  sbb_al_d8               OP_AL_D8        SBB8, #3
 sbb_ax_d16              OP_AX_D16       SBB16, #3  sbb_ax_d16              OP_AX_D16       SBB16, #3
 push_ds                 REGPUSH         #CPU_DS, #3  push_ds                 REGPUSH         #CPU_DS, #3
 pop_ds                  SEGPOPFIX       #CPU_DS, #CPU_DS_BASE, #CPU_DS_FIX, #5  ; pop_ds                SEGPOPFIX       #CPU_DS, #CPU_DS_BASE, #CPU_DS_FIX, #5
   
 and_ea_r8               OP_EA_R8        AND8, #2, #7  and_ea_r8               OP_EA_R8        AND8, #2, #7
 and_ea_r16              OP_EA_R16       AND16, #2, #7  and_ea_r16              OP_EA_R16       AND16, #2, #7
Line 134  xor_ax_d16  OP_AX_D16 XOR16, #3 Line 134  xor_ax_d16  OP_AX_D16 XOR16, #3
 ; segprefix_ss          !  ; segprefix_ss          !
 ; aaa                   *  ; aaa                   *
   
 cmp_ea_r8               S_EA_R8         SUB8, #2, #7  cmp_ea_r8               S_EA_R8         SUB8, #2, #6
 cmp_ea_r16              S_EA_R16        SUB16, #2, #7  cmp_ea_r16              S_EA_R16        SUB16, #2, #6
 cmp_r8_ea               S_R8_EA         SUB8, #2, #6  cmp_r8_ea               S_R8_EA         SUB8, #2, #6
 cmp_r16_ea              S_R16_EA        SUB16, #2, #6  cmp_r16_ea              S_R16_EA        SUB16, #2, #6
 cmp_al_d8               S_AL_D8         SUB8, #3  cmp_al_d8               S_AL_D8         SUB8, #3
Line 190  pop_di   REGPOP  #CPU_DI, #5 Line 190  pop_di   REGPOP  #CPU_DI, #5
 ; outsb                 *  ; outsb                 *
 ; outsw                 *  ; outsw                 *
   
 jo_short                JMPNE           #O_FLAG, #2, #7  jo_short                JMPNE           #O_FLAG, #3, #7
 jno_short               JMPEQ           #O_FLAG, #2, #7  jno_short               JMPEQ           #O_FLAG, #3, #7
 jc_short                JMPNE           #C_FLAG, #2, #7  jc_short                JMPNE           #C_FLAG, #3, #7
 jnc_short               JMPEQ           #C_FLAG, #2, #7  jnc_short               JMPEQ           #C_FLAG, #3, #7
 jz_short                JMPNE           #Z_FLAG, #2, #7  jz_short                JMPNE           #Z_FLAG, #3, #7
 jnz_short               JMPEQ           #Z_FLAG, #2, #7  jnz_short               JMPEQ           #Z_FLAG, #3, #7
 jna_short               JMPNE           #(Z_FLAG + C_FLAG), #2, #7  jna_short               JMPNE           #(Z_FLAG + C_FLAG), #3, #7
 ja_short                JMPEQ           #(Z_FLAG + C_FLAG), #2, #7  ja_short                JMPEQ           #(Z_FLAG + C_FLAG), #3, #7
 js_short                JMPNE           #S_FLAG, #2, #7  js_short                JMPNE           #S_FLAG, #3, #7
 jns_short               JMPEQ           #S_FLAG, #2, #7  jns_short               JMPEQ           #S_FLAG, #3, #7
 jp_short                JMPNE           #P_FLAG, #2, #7  jp_short                JMPNE           #P_FLAG, #3, #7
 jnp_short               JMPEQ           #P_FLAG, #2, #7  jnp_short               JMPEQ           #P_FLAG, #3, #7
 ; jl_short              +  ; jl_short              +
 ; jnl_short             +  ; jnl_short             +
 ; jle_short             +  ; jle_short             +
Line 341  reserved  mov  r6, #6 Line 341  reserved  mov  r6, #6
                                 sub             r8, r8, #(1 << 16)                                  sub             r8, r8, #(1 << 16)
                                 b               i286a_localint                                  b               i286a_localint
   
   pop_ss                  SEGPOPFIX       #CPU_SS, #CPU_SS_BASE, #CPU_SS_FIX, #5
                                   NEXT_OPCODE
   
   pop_ds                  SEGPOPFIX       #CPU_DS, #CPU_DS_BASE, #CPU_DS_FIX, #5
                                   mov             pc, r11
   
 daa                             ldrb    r0, [r9, #CPU_AL]  daa                             ldrb    r0, [r9, #CPU_AL]
                                 bic             r8, r8, #O_FLAG                                  bic             r8, r8, #O_FLAG
                                 CPUWORK #3                                  CPUWORK #3
Line 650  jle_short  tst  r8, #Z_FLAG Line 656  jle_short  tst  r8, #Z_FLAG
 jl_short                eor             r0, r8, r8 lsr #4  jl_short                eor             r0, r8, r8 lsr #4
                                 tst             r0, #S_FLAG                                  tst             r0, #S_FLAG
                                 bne             jmps                                  bne             jmps
 nojmps                  CPUWORK #2  nojmps                  CPUWORK #3
                                 add             r8, r8, #(1 << 16)                                  add             r8, r8, #(1 << 16)
                                 mov             pc, r11                                  mov             pc, r11
   
Line 1301  enterlv1  cmp  r0, #1 Line 1307  enterlv1  cmp  r0, #1
                                 strh    r2, [r9, #CPU_SP]                                  strh    r2, [r9, #CPU_SP]
                                 bl              i286a_memorywrite_w                                  bl              i286a_memorywrite_w
 enterlv2                mov             r1, r0, lsl #2  enterlv2                mov             r1, r0, lsl #2
                                 add             r1, r1, #12                                  add             r1, r1, #(12 + 4)
                                 CPUWORK r1                                  CPUWORK r1
                                 strh    r4, [r9, #CPU_BP]                                  strh    r4, [r9, #CPU_BP]
                                 str             r11, [sp, #-4]!                                  str             r11, [sp, #-4]!
Line 1735  i286a_step  stmdb sp!, {r4 - r11, lr} Line 1741  i286a_step  stmdb sp!, {r4 - r11, lr}
                                 mov             r11, pc                                  mov             r11, pc
                                 mov             pc, r1                                  mov             pc, r1
   
                                 bl              dmap_i286                                  bl              dmax86
                                 CPUSV                                  CPUSV
                                 ldmia   sp!, {r4 - r11, pc}                                  ldmia   sp!, {r4 - r11, pc}
   
Line 1777  i286awithdma adr  r4, optbl1 Line 1783  i286awithdma adr  r4, optbl1
                                 add             r8, r8, #(1 << 16)                                  add             r8, r8, #(1 << 16)
                                 mov             r11, pc                                  mov             r11, pc
                                 mov             pc, r1                                  mov             pc, r1
                                 bl              dmap_i286                                  bl              dmax86
                                 CPUDBGL                                  CPUDBGL
                                 cmp             r7, #0                                  cmp             r7, #0
                                 ldrgt   r5, [r9, #CPU_CS_BASE]                                  ldrgt   r5, [r9, #CPU_CS_BASE]
Line 1792  i286awithtrap adr  r4, optbl1 Line 1798  i286awithtrap adr  r4, optbl1
                                 add             r8, r8, #(1 << 16)                                  add             r8, r8, #(1 << 16)
                                 mov             r11, pc                                  mov             r11, pc
                                 mov             pc, r1                                  mov             pc, r1
                                 bl              dmap_i286                                  bl              dmax86
                                 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)
                                 bleq    i286a_trapint                                  bleq    i286a_trapint

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


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