home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol028 / halt.src < prev    next >
Text File  |  1984-04-29  |  657b  |  42 lines

  1. ;PROCEDURE HALT(message: S$255);
  2. ;
  3. ;USE THIS PROCEDURE ONLY FOR FATAL ERROS OR TOTAL
  4. ;DISASTERS. NO FILES WILL BE CLOSED. RETURN IS TO THE
  5. ;CP/M CCP.
  6. ;
  7. ;DECLARE IN YOUR PASCAL PROGRAM AS:
  8. ;TYPE    S$255 = STRING 255;
  9. ;    PROCEDURE HALT(MESSAGE:S$255);EXTERNAL;
  10. ;
  11. ;CALL AS:
  12. ;    HALT('Halted in procedure X');
  13. ;
  14.     NAME HALT
  15.     ENTRY HALT
  16. ;begin
  17. HALT:
  18.     ENTR    D,2,0
  19. ;  writeln(message);
  20.     LXI    H,1793
  21.     PUSH    H
  22.     LXI    B,256
  23.     PUSH    B
  24.     LXI    H,-256
  25.     DADD    S
  26.     SPHL
  27.     XCHG
  28.     PUSH    IX
  29.     POP    H
  30.     LXI    B,8
  31.     DADD    B
  32.     LXI    B,256
  33.     LDIR
  34.     LXI    B,260
  35.     CALL    L109
  36. ;(*
  37.     mvi c,0 ;CP/M code to restart
  38.     call 5    ;There is NO return from this call!
  39. ;*)
  40. ;end;
  41.     EXIT    D,256
  42.