home *** CD-ROM | disk | FTP | other *** search
- (* ---------------------------------------------------------------------- *)
- (* Z80DEMO.PAS *)
- (* Demonstriert die richtige Anwendung der Prozedur Z80_INFO in *)
- (* INLINE - Anweisungen. Dient gleichzeitig als Testprogramm. *)
- (* Sprache: TURBO - PASCAL 3.0 (CP/M) *)
- (* ---------------------------------------------------------------------- *)
- 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,WERT;Mnemonic richtig ? *)
- $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 ;Registeraustausch *)
- );
- END.
-