Diff for /xmil/z80x/z80x_if.x86 between versions 1.5 and 1.6

version 1.5, 2004/08/11 12:08:17 version 1.6, 2004/08/11 13:53:54
Line 30  _z80x_ableinterrupt: Line 30  _z80x_ableinterrupt:
                                 align   16                                  align   16
 @z80x_interrupt@4:  @z80x_interrupt@4:
                                 mov             edx, _z80core                                  mov             edx, _z80core
                                 btr             dword [edx + R_Z80IFF], IFF_HALT                                  mov             al, [edx + R_Z80IFF]
                                 jnc             short .haltclr                                  test    al, (1 << IFF_HALT)
                                   je              short .setintr
                                 inc             word [edx + R_Z80PC]                                  inc             word [edx + R_Z80PC]
 .haltclr:               or              byte [edx + R_Z80IFF], ((1 << IFF_IRQ) | (1 << IFF_IFLAG))                                  and             al, ~(1 << IFF_HALT)
   .setintr:               or              al, ((1 << IFF_IRQ) | (1 << IFF_IFLAG))
                                 cmp             byte [edx + R_Z80IM], 1                                  cmp             byte [edx + R_Z80IM], 1
                                 je              short int_im1                                  mov             [edx + R_Z80IFF], al
                                 jc              short int_im0                                  je              short .im1
                                   jc              short .im0
   
 int_im2:                mov             ch, [edx + R_Z80I]  .im2:                   mov             ch, [edx + R_Z80I]
                                 movzx   ecx, cx                                  movzx   ecx, cx
                                 call    memrd16_ecx_ax                                  call    memrd16_ecx_ax
                                 sub             word [edx + R_Z80SP], byte 2                                  sub             word [edx + R_Z80SP], byte 2
Line 47  int_im2:  mov  ch, [edx + R_Z80I] Line 50  int_im2:  mov  ch, [edx + R_Z80I]
                                 mov             dx, ax                                  mov             dx, ax
                                 jmp             memwr16_ecx_dx                                  jmp             memwr16_ecx_dx
   
 int_im1:                Z80WORK byte 11  .im1:                   Z80WORK byte 11
                                 mov             ax, [edx + R_Z80PC]                                  mov             ax, [edx + R_Z80PC]
                                 mov             word [edx + R_Z80PC], 0x38                                  mov             word [edx + R_Z80PC], 0x38
                                 sub             word [edx + R_Z80SP], byte 2                                  sub             word [edx + R_Z80SP], byte 2
Line 55  int_im1:  Z80WORK byte 11 Line 58  int_im1:  Z80WORK byte 11
                                 mov             dx, ax                                  mov             dx, ax
                                 jmp             memwr16_ecx_dx                                  jmp             memwr16_ecx_dx
   
   .im0:                   cmp             cl, 0ddh
                                 align   16  
 @z80x_interrupt2@4:  
                                 mov             edx, _z80core  
                                 btr             dword [edx + R_Z80IFF], IFF_HALT  
                                 jnc             short .haltclr  
                                 inc             word [edx + R_Z80PC]  
 .haltclr:               or              byte [edx + R_Z80IFF], (1 << IFF_IFLAG)  
                                 cmp             byte [edx + R_Z80IM], 1  
                                 je              short int_im1  
                                 jnc             short int_im2  
   
 int_im0:                cmp             cl, 0ddh  
                                 je              short .ed                                  je              short .ed
                                 cmp             cl, 0edh                                  cmp             cl, 0edh
                                 je              short .ed                                  je              short .ed

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


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