home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 11 / z80demo.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1987-09-06  |  3.0 KB  |  48 lines

  1. (* ----------------------------------------------------------------------  *)
  2. (*                                Z80DEMO.PAS                              *)
  3. (*       Demonstriert die richtige Anwendung der Prozedur Z80_INFO in      *)
  4. (*        INLINE - Anweisungen. Dient gleichzeitig als Testprogramm.       *)
  5. (*                     Sprache:  TURBO - PASCAL 3.0 (CP/M)                 *)
  6. (* ----------------------------------------------------------------------  *)
  7. PROGRAM inline_demonstration;
  8.  
  9. (*$I Z80-INFO.INC                          Einbinden der Prozedur Z80_INFO *)
  10.  
  11. CONST WERT = $FF;
  12.  
  13. BEGIN
  14.   INLINE(
  15.        $3E/WERT/          (* LD      A,WERT      ;Demo Schleife            *)
  16. (*L1*) $CD/Z80_INFO/      (* CALL    Z80_INFO    ;Ausgabe des Prozessor -  *)
  17.                           (*                     ;status (A=FF bis 01h)    *)
  18.        $3D/               (* DEC     A           ;A <-- A - 1 (A = FEh)    *)
  19.        $E6/$07/           (* AND     07h         ;Ausblenden der 4 oberen  *)
  20.                           (*                     ;Bit's (A = 0Eh           *)
  21.        $C2/*-7/           (* JP      NZ,L1       ;Schleifenanfang          *)
  22.        $CD/Z80_INFO/      (* CALL    Z80_INFO    ;ZERO - FLAG = 1          *)
  23.        $3E/WERT/          (* LD      A,WERT                                *)
  24.        $47/               (* LD      B,A                                   *)
  25.        $CD/Z80_INFO/      (* CALL    Z80_INFO    ;B = FFh                  *)
  26.        $48/               (* LD      C,B                                   *)
  27.        $CD/Z80_INFO/      (* CALL    Z80_INFO    ;C = FFh                  *)
  28.        $57/               (* LD      D,A                                   *)
  29.        $CD/Z80_INFO/      (* CALL    Z80_INFO    ;D = FFh                  *)
  30.        $5F/               (* LD      E,A                                   *)
  31.        $CD/Z80_INFO/      (* CALL    Z80_INFO    ;E = FFh                  *)
  32.        $67/               (* LD      H,A                                   *)
  33.        $CD/Z80_INFO/      (* CALL    Z80_INFO    ;H = FFh                  *)
  34.        $6F/               (* LD      L,A                                   *)
  35.        $CD/Z80_INFO/      (* CALL    Z80_INFO    ;L = FFh                  *)
  36.        $DD/$21/WERT/WERT/ (* LD      IX,WERT,WERT;Mnemonic richtig ?       *)
  37.        $CD/Z80_INFO/      (* CALL    Z80_INFO    ;IX = FFFFh               *)
  38.        $FD/$21/WERT/WERT/ (* LD      IY,WERT,WERT                          *)
  39.        $CD/Z80_INFO/      (* CALL    Z80_INFO    ;IY = FFFh                *)
  40.        $E5/               (* PUSH    HL                                    *)
  41.        $CD/Z80_INFO/      (* CALL    Z80_INFO    ;Stapelzeiger - 1         *)
  42.        $E1/               (* POP     HL          ;Stapelzeiger + 1 !!      *)
  43.        $08/               (* EX      AF,AF'      ;Austausch der            *)
  44.        $D9/               (* EXX                 ;Register                 *)
  45.        $CD/Z80_INFO       (* CALL    Z80_INFO    ;Registeraustausch        *)
  46.    );
  47. END.
  48.