(*-----------------------------------------------*) (* Z80DEMO.PAS *) (* Demonstriert die richtige Anwendung der *) (* Prozedur Z80_INFO in INLINE - Anweisungen. *) (* Dient gleichzeitig als Testprogramm. *) (* (c)1991 H.Hagemeyer & CPC International *) (*-----------------------------------------------*) PROGRAM inline_demonstration; (*$I Z80-INFO.INC Einbinden der Prozedur Z80_INFO*) CONST WERT = $FF; BEGIN INLINE( $3E/WERT/ (* LD A,WERT ;Demo Schleife *) (*L1*) $CD/Z80_INFO/ (* CALL Z80_INFO ;Ausgabe des Prozessor - *) (* status (A=FF bis 01h)*) $3D/ (* DEC A ;A <-- A - 1 (A = FEh) *) $E6/$07/ (* AND 07h ;Ausblenden der 4 oberen*) (* ;Bit's (A = 0Eh *) $C2/*-7/ (* JP NZ,L1 ;Schleifenanfang *) $CD/Z80_INFO/ (* CALL Z80_INFO ;ZERO - FLAG = 1 *) $3E/WERT/ (* LD A,WERT *) $47/ (* LD B,A *) $CD/Z80_INFO/ (* CALL Z80_INFO ;B = FFh *) $48/ (* LD C,B *) $CD/Z80_INFO/ (* CALL Z80_INFO ;C = FFh *) $57/ (* LD D,A *) $CD/Z80_INFO/ (* CALL Z80_INFO ;D = FFh *) $5F/ (* LD E,A *) $CD/Z80_INFO/ (* CALL Z80_INFO ;E = FFh *) $67/ (* LD H,A *) $CD/Z80_INFO/ (* CALL Z80_INFO ;H = FFh *) $6F/ (* LD L,A *) $CD/Z80_INFO/ (* CALL Z80_INFO ;L = FFh *) $DD/$21/WERT/WERT/ (* LD IX,WERT*) $CD/Z80_INFO/ (* CALL Z80_INFO ;IX = FFFFh *) $FD/$21/WERT/WERT/ (* LD IY,WERT,WERT *) $CD/Z80_INFO/ (* CALL Z80_INFO ;IY = FFFh *) $E5/ (* PUSH HL *) $CD/Z80_INFO/ (* CALL Z80_INFO ;Stapelzeiger - 1 *) $E1/ (* POP HL ;Stapelzeiger + 1 !! *) $08/ (* EX AF,AF' ;Austausch der *) $D9/ (* EXX ;Register *) $CD/Z80_INFO (* CALL Z80_INFO;Register- austausch *) ); END.