Konference: Počítač SHARP MZ-800 a emulátory

Od: +GAMA
Datum: 20.10.2009 12:49
Předmět: Re: IFF2?


PUSH	AF                   ; nezájem, jen ukládá AF
loop: LD	A, I          ; IFF2 do F (P/V) (nastaven při povoleném přerušení,
 shozen při zakázaném nebo pokud přijde přerušení během LD A,I)
PUSH	AF                   ; A(=I) do H - nezájem, F (state 1) do L      - state
1 here
POP	HL
LD	A, I                         ; IFF2 do F (P/V)
LD	A, L                        ; přesune původní obsah F (state 1) do A
PUSH	AF                  ; původní F (state 1) do H, F (state 2) do L    -
state 2 here
POP	HL
CP	L                    ; porovnání původního F (state 1) s nedávným F
(state 2)
JR	NZ, loop               ; dokud se navzájem nerovnají (i.e., IFF2 ení při 
obou čteních stejné)
LD	(data), A               ; při nějaké smysluplné hodnotě
DI
POP	AF                 ; nezájem, jen obnoví AF a vrátí se
RET

Že by testoval, zda je v mezeře mezi přerušeními?

Ostatní příspěvky vlákna:

 
[2009/1 (32)] [2009/3 (21)] [2009/4 (42)] [2009/5 (6)] [2009/8 (9)] [2009/9 (28)] [2009/10 (50)] [2009/11 (86)] [2009/12 (89)]


[1999 (1)] [2000 (168)] [2001 (733)] [2002 (459)] [2003 (654)] [2004 (224)] [2005 (105)] [2006 (182)] [2007 (201)] [2008 (294)] [2009 (363)] [2010 (782)] [2011 (522)] [2012 (642)] [2013 (442)]