home *** CD-ROM | disk | FTP | other *** search
- PROGRAM Look2;
-
- TYPE
- String30 = String[30];
- IntArray = ARRAY[0..99] OF Integer;
-
- VAR
- OK : Boolean;
- Register : Word;
- StackMarker : Pointer;
- Before,After : Word;
- MyArray : IntArray;
-
- {$I WRITEHEX.SRC}
- {$I VARDUMP.SRC}
-
-
- FUNCTION Dummy(VAR Values : IntArray;
- Fudge : Integer;
- Level,Clearance : Char;
- Message : String30) : Boolean;
-
- VAR
- Grade,Cutoff : Char;
-
- BEGIN
- INLINE($8B/$C4/$A3/Register); { Save BP into Register }
- After := Register;
- StackMarker := Ptr(SSeg,Register); { Make a pointer SS : SP }
- Writeln('Stack BEFORE result or local variables are modified:');
- VarDump(Output,StackMarker^,Trunc(Before-After)); { Dump stack }
- Dummy := False; { Set function value }
- Grade := 'A';
- Cutoff := 'C';
- Writeln('Stack AFTER result and local variables are modified:');
- VarDump(Output,StackMarker^,Trunc(Before-After)); { Dump stack again }
- END;
-
-
-
- BEGIN
- INLINE($8B/$C4/$A3/Register); { Save SP into Register }
- Before := Register;
- OK := Dummy(MyArray,42,'Q','Z','I was born on a pirate ship. ');
- END.