Diff for /np2/i286a/i286a_mn.s between versions 1.6 and 1.7

version 1.6, 2003/12/17 14:04:43 version 1.7, 2003/12/18 13:21:32
Line 497  push_d16  CPUWORK #3 Line 497  push_d16  CPUWORK #3
                                 GETPC16                                  GETPC16
                                 ldrh    r2, [r9, #CPU_SP]                                  ldrh    r2, [r9, #CPU_SP]
                                 ldr             r3, [r9, #CPU_SS_BASE]                                  ldr             r3, [r9, #CPU_SS_BASE]
                                   mov             r1, r0
                                 subs    r2, r2, #2                                  subs    r2, r2, #2
                                 addcc   r2, r2, #&10000                                  addcc   r2, r2, #&10000
                                 mov             r1, r0  
                                 strh    r2, [r9, #CPU_SP]                                  strh    r2, [r9, #CPU_SP]
                                 add             r0, r2, r3                                  add             r0, r2, r3
                                 mov             lr, r11                                  mov             lr, r11
Line 525  push_d8   CPUWORK #3 Line 525  push_d8   CPUWORK #3
                                 GETPC8                                  GETPC8
                                 ldrh    r2, [r9, #CPU_SP]                                  ldrh    r2, [r9, #CPU_SP]
                                 ldr             r3, [r9, #CPU_SS_BASE]                                  ldr             r3, [r9, #CPU_SS_BASE]
                                   mov             r0, r0 lsl #24
                                 subs    r2, r2, #2                                  subs    r2, r2, #2
                                 addcc   r2, r2, #&10000                                  addcc   r2, r2, #&10000
                                 mov             r0, r0 lsl #24  
                                 mov             r1, r0 asr #24                                  mov             r1, r0 asr #24
                                 strh    r2, [r9, #CPU_SP]                                  strh    r2, [r9, #CPU_SP]
                                 add             r0, r2, r3                                  add             r0, r2, r3
Line 552  imul_r_ea_d8 REG16EA r5, #21, #24 Line 552  imul_r_ea_d8 REG16EA r5, #21, #24
   
 insb                    CPUWORK #5  insb                    CPUWORK #5
                                 ldrh    r0, [r9, #CPU_DX]                                  ldrh    r0, [r9, #CPU_DX]
                                   CPUSV
                                 bl              iocore_inp8                                  bl              iocore_inp8
                                   CPULD
                                 ldrh    r2, [r9, #CPU_DI]                                  ldrh    r2, [r9, #CPU_DI]
                                 ldr             r3, [r9, #CPU_ES_BASE]                                  ldr             r3, [r9, #CPU_ES_BASE]
                                 mov             r1, r0                                  mov             r1, r0
Line 566  insb   CPUWORK #5 Line 568  insb   CPUWORK #5
   
 insw                    CPUWORK #5  insw                    CPUWORK #5
                                 ldrh    r0, [r9, #CPU_DX]                                  ldrh    r0, [r9, #CPU_DX]
                                   CPUSV
                                 bl              iocore_inp16                                  bl              iocore_inp16
                                   CPULD
                                 ldrh    r2, [r9, #CPU_DI]                                  ldrh    r2, [r9, #CPU_DI]
                                 ldr             r3, [r9, #CPU_ES_BASE]                                  ldr             r3, [r9, #CPU_ES_BASE]
                                 mov             r1, r0                                  mov             r1, r0
Line 777  cwd    CPUWORK #2 Line 781  cwd    CPUWORK #2
                                 mov             pc, r11                                  mov             pc, r11
   
 call_far                CPUWORK #13  call_far                CPUWORK #13
                                 ldrh    r1, [r9, #CPU_CS]  
                                 ldrh    r4, [r9, #CPU_SP]                                  ldrh    r4, [r9, #CPU_SP]
                                   ldrh    r1, [r9, #CPU_CS]
                                 ldr             r5, [r9, #CPU_SS_BASE]                                  ldr             r5, [r9, #CPU_SS_BASE]
                                 mov             r4, r4 lsl #16                                  mov             r4, r4 lsl #16
                                 sub             r4, r4, #(2 << 16)                                  sub             r4, r4, #(2 << 16)
                                 add             r0, r5, r4 lsr #16                                  add             r0, r5, r4 lsr #16
                                 bl              i286_memorywrite_w                                  bl              i286_memorywrite_w                      ; cs
                                 add             r12, r8, #(4 << 16)  
                                 sub             r4, r4, #(2 << 16)                                  sub             r4, r4, #(2 << 16)
                                   add             r12, r8, #(4 << 16)
                                   mov             r4, r4, lsr #16
                                 mov             r1, r12 lsr #16                                  mov             r1, r12 lsr #16
                                 add             r0, r5, r4 lsr #16                                  add             r0, r4, r5
                                 bl              i286_memorywrite_w                                  bl              i286_memorywrite_w                      ; ip
                                 ldr             r5, [r9, #CPU_CS_BASE]                                  ldr             r5, [r9, #CPU_CS_BASE]
                                 strh    r4, [r9, #CPU_SP]                                  strh    r4, [r9, #CPU_SP]
                                 add             r0, r5, r8 lsr #16                                  add             r0, r5, r8 lsr #16
                                 bl              i286_memoryread_w                                  bl              i286_memoryread_w                       ; newip
                                 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
Line 1050  les_r16_ea  GETPC8 Line 1055  les_r16_ea  GETPC8
                                 add             r0, r0, r6                                  add             r0, r0, r6
                                 bic             r4, r4, #(1 << 16)                                  bic             r4, r4, #(1 << 16)
                                 bl              i286_memoryread_w                                  bl              i286_memoryread_w
                                 ldrh    r0, [r5, #CPU_REG]                                  strh    r0, [r5, #CPU_REG]
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                 bl              i286_memoryread_w                                  bl              i286_memoryread_w
                                 mov             r1, r0 lsl #4                                  mov             r1, r0 lsl #4
                                 ldr             r0, [r5, #CPU_ES]                                  strh    r0, [r9, #CPU_ES]
                                 ldr             r1, [r5, #CPU_ES_BASE]                                  str             r1, [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 1071  lds_r16_ea  GETPC8 Line 1076  lds_r16_ea  GETPC8
                                 add             r0, r0, r6                                  add             r0, r0, r6
                                 bic             r4, r4, #(1 << 16)                                  bic             r4, r4, #(1 << 16)
                                 bl              i286_memoryread_w                                  bl              i286_memoryread_w
                                 ldrh    r0, [r5, #CPU_REG]                                  strh    r0, [r5, #CPU_REG]
                                 add             r0, r4, r6                                  add             r0, r4, r6
                                 bl              i286_memoryread_w                                  bl              i286_memoryread_w
                                 mov             r1, r0 lsl #4                                  mov             r1, r0 lsl #4
                                 ldr             r0, [r5, #CPU_ES]                                  strh    r0, [r9, #CPU_DS]
                                 ldr             r1, [r5, #CPU_DS_BASE]                                  str             r1, [r9, #CPU_DS_BASE]
                                 ldr             r1, [r5, #CPU_DS_FIX]                                  str             r1, [r9, #CPU_DS_FIX]
                                 mov             pc, r11                                  mov             pc, r11
   
 mov_ea8_d8              GETPC8  mov_ea8_d8              GETPC8
Line 1288  xlat   CPUWORK #5 Line 1293  xlat   CPUWORK #5
                                 ldrb    r0, [r9, #CPU_AL]                                  ldrb    r0, [r9, #CPU_AL]
                                 ldrh    r1, [r9, #CPU_BX]                                  ldrh    r1, [r9, #CPU_BX]
                                 ldr             r2, [r9, #CPU_DS_FIX]                                  ldr             r2, [r9, #CPU_DS_FIX]
                                   ;
                                 add             r0, r1, r0                                  add             r0, r1, r0
                                 bic             r0, r0, #(1 << 16)                                  bic             r0, r0, #(1 << 16)
                                 add             r0, r2, r0                                  add             r0, r2, r0
Line 1344  jcxzj   JMPS #8 Line 1350  jcxzj   JMPS #8
   
 in_al_d8                CPUWORK #5  in_al_d8                CPUWORK #5
                                 GETPC8                                  GETPC8
                                   add             r3, r0, r8 lsr #16
                                   CPUSV
                                   str             r3, [r9, #CPU_INPUT]
                                 bl              iocore_inp8                                  bl              iocore_inp8
                                   CPULD
                                   mov             r3, #0
                                 strb    r0, [r9, #CPU_AL]                                  strb    r0, [r9, #CPU_AL]
                                   str             r3, [r9, #CPU_INPUT]
                                 mov             pc, r11                                  mov             pc, r11
   
 in_ax_d8                CPUWORK #5  in_ax_d8                CPUWORK #5
                                 GETPC8                                  GETPC8
                                   CPUSV
                                 bl              iocore_inp16                                  bl              iocore_inp16
                                   CPULD
                                 strh    r0, [r9, #CPU_AX]                                  strh    r0, [r9, #CPU_AX]
                                 mov             pc, r11                                  mov             pc, r11
   
Line 1384  call_near  CPUWORK #7 Line 1398  call_near  CPUWORK #7
                                 b               i286_memorywrite_w                                  b               i286_memorywrite_w
   
 jmp_near                CPUWORK #7  jmp_near                CPUWORK #7
                                 GETPC16                                  ldr             r4, [r9, #CPU_CS_BASE]
                                 add             r8, r8, r0 lsl #16                                  add             r5, r8, #(2 << 16)
                                   ;
                                   add             r0, r4, r8 lsr #16
                                   bl              i286_memoryread_w
                                   add             r8, r5, r0 lsl #16
                                 mov             pc, r11                                  mov             pc, r11
   
 jmp_far                 CPUWORK #11  jmp_far                 CPUWORK #11
                                 ldr             r4, [r9, #CPU_CS_BASE]                                  ldr             r4, [r9, #CPU_CS_BASE]
                                   add             r5, r8, #(2 << 16)
                                   mov             r6, r8 lsl #16
                                 add             r0, r4, r8 lsr #16                                  add             r0, r4, r8 lsr #16
                                 bl              i286_memoryread_w                                  bl              i286_memoryread_w
                                 add             r8, r8, #(2 << 16)                                  mov             r8, r0 lsl #16
                                 mov             r1, r0, lsl #16                                  add             r0, r4, r5 lsr #16
                                 add             r0, r4, r8 lsr #16  
                                 mov             r8, r8, lsl #16  
                                 orr             r8, r0, r8 lsr #16  
                                 bl              i286_memoryread_w                                  bl              i286_memoryread_w
                                   add             r8, r8, r6 lsr #16
                                 mov             r1, r0 lsl #4                                  mov             r1, r0 lsl #4
                                 strh    r0, [r9, #CPU_CS]                                  strh    r0, [r9, #CPU_CS]
                                 str             r1, [r9, #CPU_CS_BASE]                                  str             r1, [r9, #CPU_CS_BASE]
Line 1405  jmp_far   CPUWORK #11 Line 1423  jmp_far   CPUWORK #11
   
 in_al_dx                CPUWORK #5  in_al_dx                CPUWORK #5
                                 ldrh    r0, [r9, #CPU_DX]                                  ldrh    r0, [r9, #CPU_DX]
                                   CPUSV
                                 bl              iocore_inp8                                  bl              iocore_inp8
                                   CPULD
                                 strb    r0, [r9, #CPU_AL]                                  strb    r0, [r9, #CPU_AL]
                                 mov             pc, r11                                  mov             pc, r11
   
 in_ax_dx                CPUWORK #5  in_ax_dx                CPUWORK #5
                                 ldrh    r0, [r9, #CPU_DX]                                  ldrh    r0, [r9, #CPU_DX]
                                   CPUSV
                                 bl              iocore_inp16                                  bl              iocore_inp16
                                   CPULD
                                 strh    r0, [r9, #CPU_AX]                                  strh    r0, [r9, #CPU_AX]
                                 mov             pc, r11                                  mov             pc, r11
   
Line 1594  optbl1   dcd  add_ea_r8   ; 00 Line 1616  optbl1   dcd  add_ea_r8   ; 00
                                 dcd             pusha                           ; 60                                  dcd             pusha                           ; 60
                                 dcd             popa                                  dcd             popa
                                 dcd             0                                       ; bound                                  dcd             0                                       ; bound
                                 dcd             0                                       ; arpl(reserved)                                  dcd             reserved                        ; arpl(reserved)
                                 dcd             0                                       ; reserved                                  dcd             reserved
                                 dcd             0                                       ; reserved                                  dcd             reserved
                                 dcd             0                                       ; reserved                                  dcd             reserved
                                 dcd             0                                       ; reserved                                  dcd             reserved
                                 dcd             0                                       ; push_d16                                  dcd                     push_d16
                                 dcd             0                                       ; imul_reg_ea_d16                                  dcd             0                                       ; imul_reg_ea_d16
                                 dcd             0                                       ; push_d8                                  dcd                     push_d8
                                 dcd             0                                       ; imul_reg_ea_d8                                  dcd             0                                       ; imul_reg_ea_d8
                                 dcd             0                                       ; insb                                  dcd                     insb
                                 dcd             0                                       ; insw                                  dcd                     insw
                                 dcd             outsb                                  dcd             outsb
                                 dcd             outsw                                  dcd             outsw
   
Line 1620  optbl1   dcd  add_ea_r8   ; 00 Line 1642  optbl1   dcd  add_ea_r8   ; 00
                                 dcd             jns_short                                  dcd             jns_short
                                 dcd             jp_short                                  dcd             jp_short
                                 dcd             jnp_short                                  dcd             jnp_short
                                 dcd             0                                       ; jl_short                                  dcd                     jl_short
                                 dcd             0                                       ; jnl_short                                  dcd                     jnl_short
                                 dcd             0                                       ; jle_short                                  dcd                     jle_short
                                 dcd             0                                       ; jnle_short                                  dcd                     jnle_short
   
                                 dcd             i286aop80                       ; 80                                  dcd             i286aop80                       ; 80
                                 dcd             i286aop81                                  dcd             i286aop81
Line 1652  optbl1   dcd  add_ea_r8   ; 00 Line 1674  optbl1   dcd  add_ea_r8   ; 00
                                 dcd             xchg_ax_di                                  dcd             xchg_ax_di
                                 dcd             cbw                                  dcd             cbw
                                 dcd             cwd                                  dcd             cwd
                                 dcd             0                                       ; call_far                                  dcd             call_far
                                 dcd             wait                                  dcd             wait
                                 dcd             0                                       ; pushf                                  dcd             0                                       ; pushf
                                 dcd             0                                       ; popf                                  dcd             0                                       ; popf
Line 1695  optbl1   dcd  add_ea_r8   ; 00 Line 1717  optbl1   dcd  add_ea_r8   ; 00
   
                                 dcd             i286asft8_d8            ; c0                                  dcd             i286asft8_d8            ; c0
                                 dcd             i286asft16_d8                                  dcd             i286asft16_d8
                                 dcd             0                                       ; ret_near_d16                                  dcd                     ret_near_d16
                                 dcd             0                                       ; ret_near                                  dcd             ret_near
                                 dcd             0                                       ; les_r16_ea                                  dcd             0                                       ; les_r16_ea (now testing i286a_a)
                                 dcd             0                                       ; lds_r16_ea                                  dcd             0                                       ; lds_r16_ea (now testing i286a_a)
                                 dcd             0                                       ; mov_ea8_d8                                  dcd                     mov_ea8_d8
                                 dcd             0                                       ; mov_ea16_d16                                  dcd                     mov_ea16_d16
                                 dcd             0                                       ; enter                                  dcd             0                                       ; enter
                                 dcd             0                                       ; leave                                  dcd             0                                       ; leave
                                 dcd             0                                       ; ret_far_d16                                  dcd                     ret_far_d16
                                 dcd             0                                       ; ret_far                                  dcd             ret_far
                                 dcd             int_03                                  dcd             int_03
                                 dcd             int_d8                                  dcd             int_d8
                                 dcd             into                                  dcd             into
Line 1716  optbl1   dcd  add_ea_r8   ; 00 Line 1738  optbl1   dcd  add_ea_r8   ; 00
                                 dcd             i286asft16_cl                                  dcd             i286asft16_cl
                                 dcd             0                                       ; aam                                  dcd             0                                       ; aam
                                 dcd             0                                       ; aad                                  dcd             0                                       ; aad
                                 dcd             0                                       ; setalc                                  dcd                     setalc
                                 dcd             0                                       ; xlat                                  dcd                     xlat
                                 dcd             esc                                  dcd             esc
                                 dcd             esc                                  dcd             esc
                                 dcd             esc                                  dcd             esc
Line 1731  optbl1   dcd  add_ea_r8   ; 00 Line 1753  optbl1   dcd  add_ea_r8   ; 00
                                 dcd             loopz                                  dcd             loopz
                                 dcd             loop                                  dcd             loop
                                 dcd             jcxz                                  dcd             jcxz
                                 dcd             0                                       ; in_al_d8                                  dcd                     in_al_d8
                                 dcd             0                                       ; in_ax_d8                                  dcd                     in_ax_d8
                                 dcd             out_d8_al                                  dcd             out_d8_al
                                 dcd             out_d8_ax                                  dcd             out_d8_ax
                                 dcd             0                                       ; call_near                                  dcd             call_near
                                 dcd             0                                       ; jmp_near                                  dcd             jmp_near
                                 dcd             0                                       ; jmp_far                                  dcd             jmp_far
                                 dcd             jmp_short                                  dcd             jmp_short
                                 dcd             0                                       ; in_al_dx                                  dcd                     in_al_dx
                                 dcd             0                                       ; in_ax_dx                                  dcd                     in_ax_dx
                                 dcd             out_dx_al                                  dcd             out_dx_al
                                 dcd             out_dx_ax                                  dcd             out_dx_ax
   
Line 1759  optbl1   dcd  add_ea_r8   ; 00 Line 1781  optbl1   dcd  add_ea_r8   ; 00
                                 dcd             cld                                  dcd             cld
                                 dcd             std                                  dcd             std
                                 dcd             i286aopfe                                  dcd             i286aopfe
                                 dcd             0                                       ; ope0xff                                  dcd                     i286aopff
   
         END          END
   

Removed from v.1.6  
changed lines
  Added in v.1.7


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