| version 1.2, 2004/08/08 17:45:52 | version 1.5, 2005/02/04 06:42:14 | 
| Line 137  _scf:   and  byte [edi + R_Z80F], ~(H_FL | Line 137  _scf:   and  byte [edi + R_Z80F], ~(H_FL | 
 | align   16 | align   16 | 
 | _halt:                  dec             word [edi + R_Z80PC] | _halt:                  dec             word [edi + R_Z80PC] | 
 | or              byte [edi + R_Z80IFF], (1 << IFF_HALT) | or              byte [edi + R_Z80IFF], (1 << IFF_HALT) | 
 |  | mov             dword [edi + z80core_t.remainclock], 0 | 
 | ret | ret | 
 |  |  | 
 | align   16 | align   16 | 
| Line 144  _di:   or  byte [edi + R_Z80IFF], (1 << | Line 145  _di:   or  byte [edi + R_Z80IFF], (1 << | 
 | ret | ret | 
 |  |  | 
 | align   16 | align   16 | 
| _ei:                    and             byte [edi + R_Z80IFF], ~(1 << IFF_IFLAG) | _ei:                    mov             al, [edi + R_Z80IFF] | 
| movzx   ecx, word [edi + R_Z80PC] | test    al, (1 << IFF_IFLAG) | 
| call    memfetch | je              short .ed | 
| cmp             al, 0fbh | and             al, ~(1 << IFF_IFLAG) | 
| je              short .eiret | mov             edx, [edi + z80core_t.remainclock] | 
| inc             byte [edi + R_Z80R] | mov             [edi + R_Z80IFF], al | 
| inc             word [edi + R_Z80PC] | test    al, (1 << IFF_NMI) | 
| movzx   edx, byte [_cycles_main + eax] | jne             short .nextop | 
| Z80WORK edx | cmp             dword [edi + R_Z80REQIRQ], byte 0 | 
| jmp             [opcode_main + eax*4] | jne             short .eventexit | 
| .eiret:                 ret | .nextop:                cmp             edx, byte 1 | 
|  | jge             short .ed | 
|  | .eventexit:             dec             edx | 
|  | mov             dword [edi + z80core_t.remainclock], 1 | 
|  | sub             [edi + z80core_t.baseclock], edx | 
|  | .ed:                    ret | 
 |  |  | 
 | align   16 | align   16 | 
 | ld_nop:                 ret | ld_nop:                 ret |