Diff for /np2/i286a/i286a_i.s between versions 1.2 and 1.4

version 1.2, 2003/12/17 14:04:43 version 1.4, 2003/12/18 23:07:49
Line 1 Line 1
   
         INCLUDE         i286a.inc          INCLUDE         i286a.inc
   
         IMPORT          i286core  
         IMPORT          i286_memorywrite_w          IMPORT          i286_memorywrite_w
         EXPORT          i286a_localint          EXPORT          i286a_localint
   
         AREA    .text, CODE, READONLY          AREA    .text, CODE, READONLY
   
                                 ; r6 - num / r8 - IP / r11 - ret                                  ; r6 - num / r8 - IP / r11 - ret
 i286a_localint  CPUWORK #20  i286a_localint  ldrh    r4, [r9, #CPU_SP]
                                 ldrh    r4, [r9, #CPU_SP]  
                                 ldr             r5, [r9, #CPU_SS_BASE]                                  ldr             r5, [r9, #CPU_SS_BASE]
                                   CPUWORK #20
                                 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  
                                 mov             r1, r8                                  mov             r1, r8
                                   add             r0, r5, r4 lsr #16
                                 bl              i286_memorywrite_w                                  bl              i286_memorywrite_w
                                 sub             r4, r4, #(2 << 16)                                  sub             r4, r4, #(2 << 16)
                                 add             r0, r5, r4 lsr #16  
                                 ldrh    r1, [r9, #CPU_CS]                                  ldrh    r1, [r9, #CPU_CS]
                                   add             r0, r5, r4 lsr #16
                                 bl              i286_memorywrite_w                                  bl              i286_memorywrite_w
                                 sub             r4, r4, #(2 << 16)                                  sub             r4, r4, #(2 << 16)
                                   mov             r1, r8 lsr #16
                                 mov             r4, r4 lsr #16                                  mov             r4, r4 lsr #16
                                   sub             r8, r8, r1 lsl #16
                                 add             r0, r4, r5                                  add             r0, r4, r5
                                 mov             r1, r8 lsr #16  
                                 strh    r4, [r9, #CPU_SP]                                  strh    r4, [r9, #CPU_SP]
                                 sub             r8, r8, r1 lsl #16  
                                 bl              i286_memorywrite_w                                  bl              i286_memorywrite_w
                                 mov             r0, #0                                  mov             r0, #0
                                 strb    r0, [r9, #CPU_TRAP]  
                                 ldr             r1, [r9, r6 lsl #2]                                  ldr             r1, [r9, r6 lsl #2]
                                   strb    r0, [r9, #CPU_TRAP]
                                 bic             r8, r8, #(T_FLAG + I_FLAG)                                  bic             r8, r8, #(T_FLAG + I_FLAG)
                                 mov             r0, r1 lsr #16                                  mov             r0, r1 lsr #16
                                 orr             r8, r8, r1 lsl #16                                  orr             r8, r8, r1 lsl #16

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


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