72 lines
2.0 KiB
Plaintext
72 lines
2.0 KiB
Plaintext
'***
|
|
' QB.BI - Assembly Support Include File
|
|
'
|
|
' Copyright <C> 1987 Microsoft Corporation
|
|
'
|
|
' Purpose:
|
|
' This include file defines the types and gives the DECLARE
|
|
' statements for the assembly language routines ABSOLUTE,
|
|
' INTERRUPT, INTERRUPTX, INT86OLD, and INT86XOLD.
|
|
'
|
|
'***************************************************************************
|
|
'
|
|
' Define the type needed for INTERRUPT
|
|
'
|
|
TYPE RegType
|
|
ax AS INTEGER
|
|
bx AS INTEGER
|
|
cx AS INTEGER
|
|
dx AS INTEGER
|
|
bp AS INTEGER
|
|
si AS INTEGER
|
|
di AS INTEGER
|
|
flags AS INTEGER
|
|
END TYPE
|
|
'
|
|
' Define the type needed for INTERUPTX
|
|
'
|
|
TYPE RegTypeX
|
|
ax AS INTEGER
|
|
bx AS INTEGER
|
|
cx AS INTEGER
|
|
dx AS INTEGER
|
|
bp AS INTEGER
|
|
si AS INTEGER
|
|
di AS INTEGER
|
|
flags AS INTEGER
|
|
ds AS INTEGER
|
|
es AS INTEGER
|
|
END TYPE
|
|
'
|
|
' DECLARE statements for the 5 routines
|
|
' -------------------------------------
|
|
'
|
|
' Generate a software interrupt, loading all but the segment registers
|
|
'
|
|
DECLARE SUB INTERRUPT (intnum AS INTEGER,inreg AS RegType,outreg AS RegType)
|
|
'
|
|
' Generate a software interrupt, loading all registers
|
|
'
|
|
DECLARE SUB INTERRUPTX (intnum AS INTEGER,inreg AS RegTypeX, outreg AS RegTypeX)
|
|
'
|
|
' Call a routine at an absolute address.
|
|
' NOTE: If the routine called takes parameters, then they will have to
|
|
' be added to this declare statement before the parameter given.
|
|
'
|
|
DECLARE SUB ABSOLUTE (address AS INTEGER)
|
|
'
|
|
' Generate a software interrupt, loading all but the segment registers
|
|
' (old version)
|
|
'
|
|
DECLARE SUB INT86OLD (intnum AS INTEGER,_
|
|
inarray(1) AS INTEGER,_
|
|
outarray(1) AS INTEGER)
|
|
'
|
|
' Gemerate a software interrupt, loading all the registers
|
|
' (old version)
|
|
'
|
|
DECLARE SUB INT86XOLD (intnum AS INTEGER,_
|
|
inarray(1) AS INTEGER,_
|
|
outarray(1) AS INTEGER)
|
|
'
|