|
|
| version 1.3, 2004/08/14 12:16:18 | version 1.4, 2004/08/15 17:51:53 |
|---|---|
| Line 18 section .text | Line 18 section .text |
| extern memfetch | extern memfetch |
| extern _cycles_main | extern _cycles_main |
| extern opcode_main | extern opcode_main |
| extern _ievent_eoi | |
| align 16 | align 16 |
| Line 38 _retn: and byte [edi + R_Z80IFF], ~(1 | Line 39 _retn: and byte [edi + R_Z80IFF], ~(1 |
| MRET | MRET |
| align 16 | align 16 |
| _reti: mov eax, [edi + R_Z80IRQ] | _reti: call _ievent_eoi |
| lea edx, [eax - 1] | MRET |
| and eax, edx | |
| test byte [edi + R_Z80IFF], ((1 << IFF_IFLAG) | (1 << IFF_NMI)) | |
| mov [edi + R_Z80IRQ], eax | |
| jne short .mn | |
| cmp dword [edi + R_Z80REQIRQ], byte 0 | |
| je short .mn | |
| mov eax, [edi + z80core_t.remainclock] | |
| cmp eax, byte 0 | |
| jle short .mn | |
| sub [edi + z80core_t.remainclock], eax | |
| sub [edi + z80core_t.baseclock], eax | |
| .mn: MRET | |
| align 16 | align 16 |
| adc_hl_bc: ADCR16 R_Z80BC | adc_hl_bc: ADCR16 R_Z80BC |