home *** CD-ROM | disk | FTP | other *** search
- PROGRAM Memory_Display;
-
- { This program displays the contents of memory onto the IBM PC's screen. }
- { The user may move though the memory by using the Page Up, Page Dn, Home, }
- { End, and Up Arrow and Down Arrow keys. }
-
- { July 10, 1984. Jeff Firestone. }
-
- VAR
- i : INTEGER;
- Done : BOOLEAN;
- Mptr, Scrn, Pntr : ^CHAR;
-
-
- PROCEDURE ReadCommand;
- VAR key : CHAR;
- BEGIN
- READ(KBD, key);
- IF KEYPRESSED THEN
- BEGIN
- READ(KBD, key);
- CASE key OF
- 'Q' : memw[SEG(Mptr):OFS(Mptr)+2]:= memw[SEG(Mptr):OFS(Mptr)+2] + 120;
- 'I' : memw[SEG(Mptr):OFS(Mptr)+2]:= memw[SEG(Mptr):OFS(Mptr)+2] - 120;
- 'P' : memw[SEG(Mptr):OFS(Mptr)+2]:= memw[SEG(Mptr):OFS(Mptr)+2] + 5;
- 'H' : memw[SEG(Mptr):OFS(Mptr)+2]:= memw[SEG(Mptr):OFS(Mptr)+2] - 5;
- 'G' : memw[SEG(Mptr):OFS(Mptr)+2]:= 0;
- 'O' : memw[SEG(Mptr):OFS(Mptr)+2]:= $9F88;
- END;
- memw[SEG(Mptr):OFS(Mptr)]:= 0;
- END; { IF KeyPressed }
- IF (key = #27) THEN Done:= TRUE;
- END; { PROCEDURE ReadCommand }
-
-
- BEGIN
- Done:= FALSE;
- memw[SEG(Mptr):OFS(Mptr)+2]:= $0; memw[SEG(Mptr):OFS(Mptr)]:= 0;
- REPEAT
- Pntr:= Mptr;
- GOTOXY(30,1);
- WRITE('Memory Address = ');
- WRITE(memw[SEG(Mptr):OFS(Mptr)+2],':',memw[SEG(Mptr):OFS(Mptr)]);
- CLREOL;
- memw[SEG(Scrn):OFS(Scrn)+2]:= $B80A; memw[SEG(Scrn):OFS(Scrn)]:= 0;
- FOR i:= 0 TO 1920 DO
- BEGIN
- Scrn^:= Pntr^;
- memw[SEG(Pntr):OFS(Pntr)]:= memw[SEG(Pntr):OFS(Pntr)] + 1;
- memw[SEG(Scrn):OFS(Scrn)]:= memw[SEG(Scrn):OFS(Scrn)] + 2;
- END;
- ReadCommand;
- UNTIL Done;
- CLRSCR;
- END.