home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1988 / 10_11 / mmr / makemark.pas next >
Encoding:
Pascal/Delphi Source File  |  1988-07-19  |  1.9 KB  |  40 lines

  1. (* ------------------------------------------------------------------------- *)
  2. (*                            MAKEMARK.PAS (v1.1)                            *)
  3. (*              Erzeugen der superkurzen MARKer-Datei MARK.COM               *)
  4. (*      Copyright (c) 1988  Karsten Gieselmann  &  TOOLBOX                   *)
  5. (* ------------------------------------------------------------------------- *)
  6.  
  7. PROGRAM MakeMark;
  8.  
  9. CONST
  10.   ComFileName = 'MARK.COM';                       (* Name des MARK-Programms *)
  11.  
  12.   Code : ARRAY [1..23] OF BYTE = (       (* der Code der Binärdatei MARK.COM *)
  13.  
  14.          $FA,               (*  CLI              ;Interrupts verbieten       *)
  15.          $0E,               (*  PUSH    CS       ;Codesegment...             *)
  16.          $07,               (*  POP     ES       ;...nach ES laden           *)
  17.          $33,$C0,           (*  XOR     AX,AX    ;AX löschen...              *)
  18.          $8E,$D8,           (*  MOV     DS,AX    ;...als Segment nach DS...  *)
  19.          $89,$C6,           (*  MOV     SI,AX    ;...und als Offset nach SI  *)
  20.          $BF,$17,$01,       (*  MOV     DI,0117  ;Beginn der IntVec-Tabelle  *)
  21.          $B9,$00,$02,       (*  MOV     CX,0200  ;Länge der Tabelle          *)
  22.          $F3,               (*  REPZ             ;Kopieren bis Tabellenende  *)
  23.          $A5,               (*  MOVSW            ;                           *)
  24.          $FB,               (*  STI              ;Interrupts zulassen        *)
  25.          $BA,$17,$05,       (*  MOV     DX,0517  ;22 Code-, 1024 Datenbytes  *)
  26.          $CD,$27);          (*  INT     27       ;...resident machen         *)
  27.  
  28. VAR
  29.   ComFile : FILE OF BYTE;
  30.   Count   : BYTE;
  31.  
  32. BEGIN
  33.   Assign (ComFile, ComFileName);
  34.   ReWrite (ComFile);
  35.   FOR Count:=1 TO SizeOf(Code) DO
  36.     Write (ComFile, Code[Count]);
  37.   Close (ComFile);
  38.   WriteLn (^M^J'COM-File ', ComFileName, ' generiert!'^M^J);
  39. END.
  40.