home *** CD-ROM | disk | FTP | other *** search
- PROGRAM TSR_und_ICA; { Turbo Pascal ab 4.0 }
- {$A+,B-,D-,E-,F-,I-,N-,O-,R-,S-,V-}
- {$M 1024,0,0}
- { Der Schalter $A+ ist lebenswichtig bei
- PCs mit 16/32-Bit Datenbus! }
-
- USES Crt, Dos;
- TYPE
- ScreenType = RECORD
- ch : CHAR;
- Attr : BYTE;
- END;
- VAR
- Zeile1 : ARRAY[1..80] OF ScreenType ABSOLUTE $B800:0000;
- { für Hercules: $B000:0000 }
- ZeigSeg : WORD ABSOLUTE $40:$F0; { ICA-Bereich enthält }
- ZeigOfs : WORD ABSOLUTE $40:$F2; { Adresse des }
- { Datenbereichs }
- n : BYTE;
- CONST
- Data : STRING[40] = '123456 viele...';
-
- {$F+}
- PROCEDURE ZeigeDaten; INTERRUPT;
- BEGIN
- FOR n := 1 TO 40 DO
- Zeile1[n].ch := Data[n];
- END;
- {$F-}
-
- BEGIN
- IF (ZeigSeg = 0) AND (ZeigOfs = 0) THEN BEGIN
- ZeigSeg := Seg(Data);
- ZeigOfs := Ofs(Data);
- SetIntVec($1C, @ZeigeDaten); { Interrupt verbiegen }
- Keep(0);
- END ELSE
- Write(^G, 'ICA-Bereich bereits benutzt!');
- END.
-