Diff for /np2/i286x/i286x.cpp between versions 1.24 and 1.27

version 1.24, 2005/02/12 12:13:58 version 1.27, 2005/03/25 14:57:56
Line 12 Line 12
 #include        "v30patch.h"  #include        "v30patch.h"
 #include        "bios.h"  #include        "bios.h"
 #include        "dmax86.h"  #include        "dmax86.h"
   #if defined(ENABLE_TRAP)
   #include        "steptrap.h"
   #include        "inttrap.h"
   #endif
   
   
         I286CORE        i286core;          I286CORE        i286core;
Line 264  LABEL void i286x(void) { Line 268  LABEL void i286x(void) {
                                 cmp             dmac.working, 0                                  cmp             dmac.working, 0
                                 jne             short i286_dma_mnlp                                  jne             short i286_dma_mnlp
   
 i286_mnlp:              movzx   eax, bl  i286_mnlp:
   #if defined(ENABLE_TRAP)
                                   mov             edx, esi
                                   movzx   ecx, I286_CS
                                   call    steptrap
   #endif
                                   movzx   eax, bl
                                 call    i286op[eax*4]                                  call    i286op[eax*4]
                                 cmp             I286_REMCLOCK, 0                                  cmp             I286_REMCLOCK, 0
                                 jg              i286_mnlp                                  jg              i286_mnlp
Line 274  i286_mnlp:  movzx eax, bl Line 284  i286_mnlp:  movzx eax, bl
                                 ret                                  ret
   
                                 align   16                                  align   16
 i286_dma_mnlp:  movzx   eax, bl  i286_dma_mnlp:
   #if defined(ENABLE_TRAP)
                                   mov             edx, esi
                                   movzx   ecx, I286_CS
                                   call    steptrap
   #endif
                                   movzx   eax, bl
                                 call    i286op[eax*4]                                  call    i286op[eax*4]
                                 call    dmax86                                  call    dmax86
                                 cmp             I286_REMCLOCK, 0                                  cmp             I286_REMCLOCK, 0
Line 285  i286_dma_mnlp: movzx eax, bl Line 301  i286_dma_mnlp: movzx eax, bl
                                 ret                                  ret
   
                                 align   16                                  align   16
 i286_trapping:  movzx   eax, bl  i286_trapping:
   #if defined(ENABLE_TRAP)
                                   mov             edx, esi
                                   movzx   ecx, I286_CS
                                   call    steptrap
   #endif
                                   movzx   eax, bl
                                 call    i286op[eax*4]                                  call    i286op[eax*4]
                                 cmp             I286_TRAP, 0                                  cmp             I286_TRAP, 0
                                 je              i286notrap                                  je              i286notrap
Line 3431  I286 mov_ea8_data8(void) {      // C6: m Line 3453  I286 mov_ea8_data8(void) {      // C6: m
                                 bt              bp, 2                                  bt              bp, 2
                                 rcl             ebp, 1                                  rcl             ebp, 1
                                 and             ebp, 7                                  and             ebp, 7
                                 GET_NEXTPRE2                                  GET_NEXTPRE3
                                 mov             byte ptr I286_REG[ebp], dh                                  mov             byte ptr I286_REG[ebp], dh
                                 ret                                  ret
                                 align   16                                  align   16
Line 3487  I286 _enter(void) {        // C8: enter  Line 3509  I286 _enter(void) {        // C8: enter 
                                 je              enter0                                  je              enter0
                                 dec             eax                                  dec             eax
                                 je              enter1                                  je              enter1
                                 lea             ecx, [eax*4 + 12]                                  lea             ecx, [eax*4 + 12 + 4]
                                 I286CLOCK(ecx)                                  I286CLOCK(ecx)
                                 push    ebx                                  push    ebx
                                 movzx   ebx, I286_BP                                  movzx   ebx, I286_BP
Line 3635  I286 int_data8(void) {       // CD: int  Line 3657  I286 int_data8(void) {       // CD: int 
                                 lea             ecx, [edi + ebp]                                  lea             ecx, [edi + ebp]
                                 mov             dx, I286_CS                                  mov             dx, I286_CS
                                 call    i286_memorywrite_w                                  call    i286_memorywrite_w
   #if defined(ENABLE_TRAP)
                                   movzx   eax, bh
                                   push    eax
                                   lea             edx, [esi - 1]
                                   movzx   ecx, I286_CS
                                   call    softinttrap
   #endif
                                 movzx   eax, bh                                  movzx   eax, bh
                                 sub             bp, 2                                  sub             bp, 2
                                 mov             I286_SP, bp                                  mov             I286_SP, bp

Removed from v.1.24  
changed lines
  Added in v.1.27


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