| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- (* Copyright (C) 1987 Jensen & Partners International *)
- DEFINITION MODULE AsmLib;
- IMPORT SYSTEM;
- PROCEDURE HashString(S: ARRAY OF CHAR; Range: CARDINAL) : CARDINAL;
- PROCEDURE Move(Source,Dest: ADDRESS; Count: CARDINAL);
- PROCEDURE Fill(Dest: ADDRESS; Count: CARDINAL; Value: BYTE);
- PROCEDURE WordFill(Dest: ADDRESS; WordCount: CARDINAL; Value: WORD);
- PROCEDURE WordMove(Source,Dest: ADDRESS; WordCount: CARDINAL);
- PROCEDURE AddAddr(A: ADDRESS; increment: CARDINAL) : ADDRESS;
- PROCEDURE SubAddr(A: ADDRESS; decrement: CARDINAL) : ADDRESS;
- PROCEDURE IncAddr(VAR A: ADDRESS; increment: CARDINAL);
- PROCEDURE DecAddr(VAR A: ADDRESS; decrement: CARDINAL);
- PROCEDURE UserBreak;
- PROCEDURE FatalError(S: ARRAY OF CHAR);
- PROCEDURE Terminate(P: PROC; VAR C: PROC);
- PROCEDURE SetReturnCode(code: SHORTCARD);
- PROCEDURE EnableBreakCheck;
- PROCEDURE DisableBreakCheck;
- TYPE
- LongLabel = ARRAY[0..3] OF CARDINAL ;
- (*$C 00*) (* save no registers *)
- PROCEDURE SetJmp (VAR Lbl: LongLabel) : CARDINAL;
- (*$C FF*) (* no return *)
- PROCEDURE LongJmp(VAR Lbl: LongLabel; result: CARDINAL);
- (*$C F0*) (* restore default register save mask *)
- PROCEDURE ScanR (Dest: ADDRESS; Count: CARDINAL; Value: BYTE) : CARDINAL;
- PROCEDURE ScanL (Dest: ADDRESS; Count: CARDINAL; Value: BYTE) : CARDINAL;
- PROCEDURE ScanNeR(Dest: ADDRESS; Count: CARDINAL; Value: BYTE) : CARDINAL;
- PROCEDURE ScanNeL(Dest: ADDRESS; Count: CARDINAL; Value: BYTE) : CARDINAL;
- PROCEDURE Compare(Source,Dest: ADDRESS; Len: CARDINAL) : CARDINAL;
- TYPE
- CommandType = POINTER TO ARRAY[0..126] OF CHAR;
- VAR
- PSP : CARDINAL;
- CommandLine : CommandType;
- PROCEDURE Environment(N: CARDINAL) : CommandType;
- PROCEDURE Dos(VAR R: SYSTEM.Registers); (* INT 21H Function Call *)
- PROCEDURE Intr(VAR R: SYSTEM.Registers; I: CARDINAL);
- PROCEDURE ParamStr(VAR S: ARRAY OF CHAR; N: CARDINAL);
- PROCEDURE ParamCount() : CARDINAL;
- PROCEDURE Delay(Time: CARDINAL);
- PROCEDURE Sound(FreqHz: CARDINAL);
- PROCEDURE NoSound;
- PROCEDURE Speaker(TotalTime,OnTime,OffTime: CARDINAL);
- (* Support Procedures for window handling *)
- PROCEDURE BufferToScreen ( X,Y : CARDINAL; (* Destination co-ordinates *)
- Source : ADDRESS; (* Address of source buffer *)
- Len : CARDINAL); (* Length to write *)
- PROCEDURE ScreenToBuffer ( X,Y : CARDINAL; (* Source co-ordinates *)
- Dest : ADDRESS; (* Address of source buffer *)
- Len : CARDINAL); (* Length to read *)
- PROCEDURE BufferWrite ( Buff : ADDRESS; (* Destination *)
- Str : ADDRESS; (* Source *)
- Len : CARDINAL;
- Attr : CARDINAL); (* Attribute *)
- PROCEDURE SetVideoPage(page: CARDINAL);
- PROCEDURE PalXlat ( To : ADDRESS ; (* Destination *)
- From : ADDRESS ; (* Source *)
- Len : CARDINAL ;
- Pallete : ADDRESS ) ; (* Attribute *)
- PROCEDURE ActivePage () : SHORTCARD ;
- PROCEDURE InitScreenType( IsSnow : BOOLEAN ) ;
- (* String procedures *)
- PROCEDURE Caps(VAR S: ARRAY OF CHAR);
- PROCEDURE CompareStr(S1,S2: ARRAY OF CHAR) : INTEGER;
- PROCEDURE Length(S : ARRAY OF CHAR) : CARDINAL;
- PROCEDURE Concat(VAR R: ARRAY OF CHAR; S1,S2: ARRAY OF CHAR);
- PROCEDURE Append(VAR R: ARRAY OF CHAR; S: ARRAY OF CHAR);
- PROCEDURE Copy (VAR R: ARRAY OF CHAR; S: ARRAY OF CHAR);
- PROCEDURE Slice (VAR R: ARRAY OF CHAR; S: ARRAY OF CHAR; P,L: CARDINAL);
- PROCEDURE Pos(S,P: ARRAY OF CHAR) : CARDINAL;
- PROCEDURE DosExec(name: ARRAY OF CHAR; paramblock: ADDRESS) : CARDINAL;
- PROCEDURE Disable8087ContextSave;
- PROCEDURE SetInProgramFlag( on:BOOLEAN );
- PROCEDURE GetInProgramFlag():BOOLEAN;
- END AsmLib.
|