home *** CD-ROM | disk | FTP | other *** search
-
- (*****************************************************
- *
- * PEEK/POKE PROGRAM
- *
- * Bob Harsch said he needed this for a program and
- * afterward thought someone else could use it so he
- * gave us a copy for the Pascal/Z Users Group.
- *
- * August 1980
- *
- *******************************************************
-
- {$E+ }
- PROGRAM PEEKPOKE;
-
- TYPE BYTE= 0..255;
- CONTENTS= PACKED RECORD
- BYT: BYTE { byte in memory }
- END; { of record }
- FORM=(INTEGR,ADDRESS);
- REFERENCE= RECORD
- CASE FORM OF
- INTEGR: (I: INTEGER);
- ADDRESS: (P: ^CONTENTS)
- END;
-
- VAR K,I: INTEGER;
-
- FUNCTION PEEK(ADDR: INTEGER): BYTE;
- VAR TEMP: REFERENCE;
- BEGIN { of function peek }
- TEMP.I:= ADDR;
- PEEK:= TEMP.P^.BYT
- END; { of function peek }
-
- PROCEDURE POKE(ADDR: INTEGER; BITS8: BYTE);
- VAR TEMP: REFERENCE;
- BEGIN { of procedure poke }
- TEMP.I:= ADDR;
- TEMP.P^.BYT:= BITS8
- END; { of procedure poke }
-
-
-
- BEGIN { of main program }
- K:= -1024 + 5*64; { screen address }
- WRITE(PEEK(128):3,'--');
- FOR I:= 129 TO 160 DO
- BEGIN
- WRITE(CHR(PEEK(I)));
- POKE(K, PEEK(I));
- K:= K + 1;
- END;
- WRITELN
- END.