home *** CD-ROM | disk | FTP | other *** search
/ The Unsorted BBS Collection / thegreatunsorted.tar / thegreatunsorted / programming / misc_programming / pcwatch.tbl < prev    next >
Text File  |  1985-07-01  |  29KB  |  577 lines

  1. ;    Tables for the IBM Personal Computer PCWATCH Program
  2. ;
  3. ;
  4. ;    There are five types of line entries in this file:
  5. ;
  6. ;        1.    Comment lines (such as this), which begin with a
  7. ;        semicolon (;)
  8. ;
  9. ;        2.    Definitions of the keys that govern the operation of
  10. ;        PCWATCH while it is active.  Three such keys may be
  11. ;        specified:
  12. ;            A. The Terminate Key,
  13. ;            B. The Suspend Key, and
  14. ;            C. The Resume Key.
  15. ;        A key definition line starts with the keywords
  16. ;        "terminate key =", or "suspend key =", or "resume key =".
  17. ;        See the PCWATCH User's Guide - Appendix B for a list of
  18. ;        allowable key name values.
  19. ;
  20. ;        3.    A definition of the interrupt vector to be used for
  21. ;        the "Exit to Debugger" function.  This entry starts
  22. ;        with the keywords "debug int =".  Although you may
  23. ;        pick any hex value from 0 to FF based on the type
  24. ;        of debugger you are using, 1 [single step], 2 [non-
  25. ;        maskable interrupt], or 3 [breakpoint] is the usual
  26. ;        choice.
  27. ;
  28. ;        4.    Interrupt descriptions, which start with "int=xx".
  29. ;
  30. ;        5.    Interrupt subfunction descriptions, which start with
  31. ;        "AH=xx" or "AL=xx".
  32. ;
  33. ;
  34. ;    Each type of entry is free-form and may be spaced any way you
  35. ;    prefer, but entry types 4 and 5 should have the following
  36. ;    fields:
  37. ;
  38. ;        a.    The interrupt or subfunction number  [mandatory]
  39. ;        b.    The function name             [mandatory]
  40. ;        c.    An attribute list             [optional]
  41. ;        d.    Descriptive commentary             [optional]
  42. ;
  43. ;
  44. ;    The interrupt or subfunction number is given as INT=xx, AH=xx,
  45. ;    or AL=xx.  AH or AL lines are used to further specify functions
  46. ;    available under the preceding entry type.  For instance, INT=13
  47. ;    (BIOS disk requests) has various subfunctions depending on the
  48. ;    value of AH.  In general, subfunctions may be specified as based
  49. ;    on AH or AL, and within either of these the other (AL or AH) may
  50. ;    also be used to specify further subfunctions.  For example,
  51. ;    INT=21 is used for DOS services, and within this interrupt AH
  52. ;    is used to designate the particular DOS service.  For AH=44 (the
  53. ;    DOS IOCTL function), AL further indicates the type of IOCTL
  54. ;    function to be performed.  Note that all entries must be given
  55. ;    in ascending sequence by interrupt number and subfunction number.
  56. ;
  57. ;
  58. ;    The function name should be enclosed in double quotation marks
  59. ;    and may be up to 15 characters in length.  The contents is
  60. ;    completely up to you, but we have used the convention that the
  61. ;    first 5 characters should indicate the type of function in an
  62. ;    unambiguous way.
  63. ;
  64. ;
  65. ;    The attribute field is optional, and can be used to group
  66. ;    functions into categories.  These catagories may also be
  67. ;    designated with the PCWATCH command for inclusion or exclusion
  68. ;    of types of functions (or events).  The attribute field starts
  69. ;    with a left bracket ([) and ends with a right bracket (]).
  70. ;    Individual attributes are specified by single letters separated
  71. ;    by commas.
  72. ;
  73. ;    The attributes that may be specified are:
  74. ;
  75. ;        B --- BIOS        Functions described in the IBM PC Technical
  76. ;                Reference manual.
  77. ;
  78. ;        C --- COMM        BIOS, DOS, or hardware functions relating
  79. ;                to communications.
  80. ;
  81. ;        D --- DOS        Functions described in the DOS manuals.
  82. ;
  83. ;        E --- EXTERNAL  Events which occur as the result of IRQ
  84. ;                signals on the IBM PC bus.
  85. ;
  86. ;        F --- FILE SYSTEM  DOS functions which relate to file
  87. ;                handling.
  88. ;
  89. ;        K --- KEYBOARD  BIOS, DOS, or hardware functions relating to
  90. ;                the use of the keyboard.
  91. ;
  92. ;        N --- NOISE     Any event or function which occurs while the
  93. ;                machine is in an idle state (ie, waiting for
  94. ;                something to do).
  95. ;
  96. ;        O --- ONEWAY    Functions which may not directly return to the
  97. ;                invoker (such as DOS program termination).
  98. ;                Note: functions which have ONEWAY sub-
  99. ;                functions will be assigned the ONEWAY
  100. ;                attribute automatically.
  101. ;
  102. ;        P --- PRINTER   BIOS, DOS, or hardware functions relating to
  103. ;                the use of the printer.
  104. ;
  105. ;        S --- DISK        BIOS, DOS, or hardware functions relating to
  106. ;                the use of diskettes or fixed disks.
  107. ;
  108. ;        T --- TIMER     BIOS, DOS, or hardware functions relating to
  109. ;                the use of the timer.
  110. ;
  111. ;        V --- VIDEO     BIOS, DOS, or hardware functions relating to
  112. ;                the use of displays.
  113. ;
  114. ;        1 --- USER DEFINED CATEGORY 1
  115. ;        2 --- USER DEFINED CATEGORY 2
  116. ;        3 --- USER DEFINED CATEGORY 3
  117. ;                You may assign these categories in any way
  118. ;                that you like.
  119. ;
  120. ;    In addition to attributes, you may indicate control block
  121. ;    formatting to be applied by PCWATCH either at entry to a function,
  122. ;    or upon exit, or both.    This is also specified as part of the
  123. ;    attribute field.  Only one type of formatting may be specified
  124. ;    for either of these occasions, although you may specify a different
  125. ;    type of formatting for entry and for exit.  To designate that a
  126. ;    control block formatting option is to be applied at entry to a
  127. ;    function follow it immediately by the letter I (for INPUT).
  128. ;    To designate a formatting option for exit only, follow it by the
  129. ;    letter O (OUTPUT).  If you omit both the following I and O, the
  130. ;    formatting option will apply to both entry and exit.
  131. ;
  132. ;    You may select control block formatting options from the following
  133. ;    list:
  134. ;
  135. ;        A --- ASCIIZ    Format the data at DS:[DX] as a DOS ASCIIZ
  136. ;                string.
  137. ;
  138. ;        G --- FCB        Format the data at DS:[DX] as a DOS FCB.
  139. ;
  140. ;        H --- DISKETTE  Format the current BIOS diskette parameters.
  141. ;
  142. ;        L --- SS:[SP]   Format up to 13 words from the stack.
  143. ;
  144. ;        M --- DISK STATUS  Format the status bytes from the disk or
  145. ;                diskette controller.
  146. ;
  147. ;        Q --- NCB        Format the data at ES:[BX] as a PC Network
  148. ;                Control Block
  149. ;
  150. ;        U --- DS:[BX]   Format 32 bytes at DS:[BX]
  151. ;
  152. ;        W --- DS:[SI]   Format 32 bytes at DS:[SI]
  153. ;
  154. ;        X --- DS:[DX]   Format 32 bytes at DS:[DX]
  155. ;
  156. ;        Y --- ES:[BX]   Format 32 bytes at ES:[BX]
  157. ;
  158. ;        Z --- ES:[DI]   Format 32 bytes at ES:[DI]
  159. ;
  160. ;
  161. ;    You may add comments as the last field of a line by starting the
  162. ;    comment with a semicolon.
  163. ;
  164. ;
  165. ;------------------------------------------------------------------------------
  166. ;
  167.     terminate key = Alt-T    ;Key to use for immediate PCWATCH termination
  168.     suspend key   = Alt-S    ;Key to suspend all PCWATCH output temporarily
  169.     resume key      = Alt-R    ;Key to resume suspended PCWATCH output
  170. ;
  171. ;   Following line is set for PCWATCH to invoke the Resident Debug Tool
  172. ;   in IBM's Profession Debug Facility - #6322117.  Change this to read
  173. ;   "debug int = 1" for use with the DOS DEBUG program.
  174. ;
  175.     debug int = 2        ;Use Non-maskable interrupt to trigger debugger
  176.  
  177. ;------------------------------------------------------------------------------
  178. ;  Interrupt       Service     Attributes      Comments
  179. ;   Number         Name    & Formatting
  180. ;------------------------------------------------------------------------------
  181. ;
  182. ;           INT 00 thru 04, 06, & 07 require the ONEWAY attribute
  183. ;
  184.     INT=00    "Int00 DivByZero"    [O]          ;Divide by zero execption
  185.     INT=01    "Int01 SinglStep"    [O]          ;Single step
  186. ;
  187. ;    INT 2 is used by the IBM PC Professional Debug Facility pushbutton.
  188. ;
  189. ;   INT=02    "Int02 Nonmask"      [O]          ;Non-maskable interrupt
  190. ;
  191.     INT=03    "Int03 BreakPt"      [O]          ;Breakpoint
  192.     INT=04    "Int04 Overflow"     [O]          ;Fixed overflow
  193.     INT=05    "Int05 PrtSc"        [B,P]        ;Print screen
  194.     INT=06    "Int06 InvalidOp"    [O]          ;PC-AT Invalid operation code
  195. ;
  196. ;   INT=07    "Int07 Reserved"     [O]          ;Reserved
  197. ;
  198. ;    The following are the default external interrupt
  199. ;    assignments for the 8259 interrupt controller.
  200. ;
  201.     INT=08    "Int08 IRQ0-time"    [E,N,T]      ;Timer 0 interrupt
  202.     INT=09    "Int09 IRQ1-keyb"    [E,K]        ;Keyboard interrupt
  203.     INT=0A    "Int0A IRQ2-slav"    [E]          ;PC-AT Slave 8259 interrupt
  204.     INT=0B    "Int0B IRQ3-com2"    [E,C]        ;COM2 RS-232 interrupt
  205.     INT=0C    "Int0C IRQ4-com1"    [E,C]        ;COM1 RS-232 interrupt
  206.     INT=0D    "Int0D IRQ5-fdsk"    [E,S]        ;PC/PC-XT/PPC Fixed disk adapter
  207.     INT=0E    "Int0E IRQ6-dskt"    [E,S]        ;Diskette adapter interrupt
  208.     INT=0F    "Int0F IRQ7-prtr"    [E,P]        ;Parallel printer interrupt
  209. ;
  210. ;    End of external interrupts
  211. ;
  212.     INT=10    "Int10 Video"        [B,V]        ;Video services
  213.       AH=00   "Int10 Set mode"     [B,V]        ;  Set mode
  214.       AH=01   "Int10 Curs type"    [B,V]        ;  Set cursor type
  215.       AH=02   "Int10 Curs posn"    [B,V]        ;  Set cursor position
  216.       AH=03   "Int10 Read curs"    [B,V]        ;  Read cursor position
  217.       AH=04   "Int10 Read lpen"    [B,V]        ;  Read light pen position
  218.       AH=05   "Int10 Sel page"     [B,V]        ;  Select active display page
  219.       AH=06   "Int10 Scroll up"    [B,V]        ;  Scroll active page up
  220.       AH=07   "Int10 Scroll dn"    [B,V]        ;  Scroll active page down
  221.       AH=08   "Int10 Read char"    [B,V]        ;  Read attribute & character
  222.       AH=09   "Int10 WriteAttr"    [B,V]        ;  Write attribute & character
  223.       AH=0A   "Int10 WriteChar"    [B,V]        ;  Write character only
  224.       AH=0B   "Int10 Set color"    [B,V]        ;  Set color palette
  225.       AH=0C   "Int10 Write dot"    [B,V]        ;  Write dot
  226.       AH=0D   "Int10 Read dot"     [B,V]        ;  Read dot
  227.       AH=0E   "Int10 Write TTY"    [B,V]        ;  Write teletype to active page
  228.       AH=0F   "Int10 State"        [B,V]        ;  Current video state
  229. ;
  230.       AH=10   "Int10 SetPalett"    [B,V]        ;  EGA/PCjr Palette registers
  231.     AL=00 "Int10 SetPalReg"    [B,V]        ;    EGA/PCjr Set palette reg
  232.     AL=01 "Int10 Overscan"     [B,V]        ;    EGA/PCjr Set overscan reg
  233.     AL=02 "Int10 SetAllPal"    [B,V]        ;    EGA/PCjr Set all registers
  234.     AL=03 "Int10 Intensify"    [B,V]        ;    EGA Toggle intensify/blink
  235.       AH=11   "Int10 Char gen"     [B,V]        ;  EGA Character generator
  236. ;
  237. ;           Next few functions entail an implied mode set
  238. ;
  239.     AL=00 "Int10 AlphaLoad"    [B,V]        ;    EGA User alpha load
  240.     AL=01 "Int10 ROM mono"     [B,V]        ;    EGA ROM monochrome font
  241.     AL=02 "Int10 ROM 8x8"      [B,V]        ;    EGA ROM 8x8 double dot font
  242.     AL=03 "Int10 BlockSpec"    [B,V]        ;    EGA Set block specifier
  243. ;
  244. ;           Next group does not entail an implied mode set
  245. ;
  246.     AL=10 "Int10 AlphaLoa2"    [B,V]        ;    EGA User alpha load
  247.     AL=11 "Int10 ROM mono2"    [B,V]        ;    EGA ROM monochrome font
  248.     AL=12 "Int10 ROM 8x8 2"    [B,V]        ;    EGA ROM 8x8 double dot font
  249. ;
  250. ;           Next group selects characters sets for graphics modes
  251. ;
  252.     AL=20 "Int10 User 8x8g"    [B,V]        ;    EGA Graphic user alpha load
  253.     AL=21 "Int10 User 8xXg"    [B,V]        ;    EGA Graphic 8 by X font
  254.     AL=22 "Int10 ROM 8x14g"    [B,V]        ;    EGA Graphic ROM 8x14 font
  255.     AL=23 "Int10 ROM 8x8g"     [B,V]        ;    EGA Graphic ROM 8x8 double
  256. ;
  257.     AL=30 "Int10 Font info"    [B,V]        ;    EGA Font Information
  258.       AH=12   "Int10 AltSelect"    [B,V]        ;  EGA Alternate select
  259.       AH=13   "Int10 Write str"    [B,V]        ;  EGA/PC-AT Write string
  260. ;
  261.     INT=11    "Int11 Equipment"    [B]          ;Equipment check
  262.     INT=12    "Int12 Mem size"     [B]          ;Memory size
  263. ;
  264.     INT=13    "Int13 Disk/ette"    [B,S,HI,MO]  ;Disk/Diskette services
  265.       AH=00   "Int13 DiskReset"    [B,S,HI]     ;  Reset disk/diskette system
  266.       AH=01   "Int13 Disk stat"    [B,S,MO]     ;  Read last operation status
  267.       AH=02   "Int13 Read secs"    [B,S,HI,MO]  ;  Read sectors
  268.       AH=03   "Int13 WriteSecs"    [B,S,HI,MO]  ;  Write sectors
  269.       AH=04   "Int13 Verify"       [B,S,HI,MO]  ;  Verify sectors
  270.       AH=05   "Int13 Format-5"     [B,S,HI,MO]  ;  Format a track
  271.       AH=06   "Int13 Format-6"     [B,S]        ;  Format with bad sector flags
  272.       AH=07   "Int13 Format-7"     [B,S]        ;  Format drive
  273.       AH=08   "Int13 Ret parms"    [B,S]        ;  Return drive parameters
  274.       AH=09   "Int13 Init driv"    [B,S]        ;  Init drive characteristics
  275.       AH=0A   "Int13 Read long"    [B,S]        ;  Read long (data+ECC)
  276.       AH=0B   "Int13 WriteLong"    [B,S]        ;  Write long (data+ECC)
  277.       AH=0C   "Int13 Seek"         [B,S]        ;  Seek
  278.       AH=0D   "Int13 ResetDriv"    [B,S]        ;  Reset based on DL
  279.       AH=0E   "Int13 Read buf"     [B,S]        ;  Read sector buffer
  280.       AH=0F   "Int13 Write buf"    [B,S]        ;  Write sector buffer
  281.       AH=10   "Int13 Test driv"    [B,S]        ;  Test drive ready
  282.       AH=11   "Int13 Recal"        [B,S]        ;  Recalibrate
  283.       AH=12   "Int13 Cntl diag"    [B,S]        ;  Controller RAM diagnostic
  284.       AH=13   "Int13 Driv diag"    [B,S]        ;  Drive diagnostic
  285.       AH=14   "Int13 Intr diag"    [B,S]        ;  Controllr internal diagnostic
  286.       AH=15   "Int13 Dasd type"    [B,S]        ;  PC-AT Read DASD type
  287.       AH=16   "Int13 Chg line"     [B,S]        ;  PC-AT Disk change line status
  288.       AH=17   "Int13 Set type"     [B,S]        ;  PC-AT Set DASD type
  289. ;
  290.     INT=14    "Int14 RS232"        [B,C]        ;Serial port services
  291.       AH=00   "Int14 Init comm"    [B,C]        ;  Init communications port
  292.       AH=01   "Int14 Send char"    [B,C]        ;  Send character
  293.       AH=02   "Int14 Recv char"    [B,C]        ;  Receive character
  294.       AH=03   "Int14 Comm stat"    [B,C]        ;  Return communications status
  295. ;
  296.     INT=15    "Int15 Cassette"     [B,N]        ;Cassette services (PC/PCjr)
  297.       AH=00   "Int15 Motor on"     [B]          ;  Start cassette motor
  298.       AH=01   "Int15 MotorOff"     [B]          ;  Stop cassette motor
  299.       AH=02   "Int15 Read cass"    [B]          ;  Read cassette
  300.       AH=03   "Int15 WriteCass"    [B]          ;  Write cassette
  301. ;
  302. ;           PC-AT System Extensions for Multitasking
  303. ;
  304.       AH=80   "Int15 Dev open"     [B]          ;PC-AT Device open
  305.       AH=81   "Int15 Dev close"    [B]          ;PC-AT Device close
  306.       AH=82   "Int15 Pgm term"     [B]          ;PC-AT Program termination
  307.       AH=83   "Int15 EventWait"    [B]          ;PC-AT Event wait
  308.       AH=84   "Int15 Joystick"     [B]          ;PC-AT Joystick support
  309.       AH=85   "Int15 Key"          [B]          ;PC-AT SysReq key
  310.     AL=00 "Int15 Key make"     [B]          ;  PC-AT SysReq key make
  311.     AL=01 "Int15 Key break"    [B]          ;  PC-AT SysReq key break
  312.       AH=86   "Int15 Wait"         [B]          ;PC-AT Wait
  313.       AH=87   "Int15 Move blk"     [B]          ;PC-AT Move block
  314.       AH=88   "Int15 ExtMemSiz"    [B]          ;PC-AT Extended memory size
  315.       AH=89   "Int15 Proc virt"    [B]          ;PC-AT Processor to virtual mode
  316.       AH=90   "Int15 Dev busy"     [B,N]        ;PC-AT Device busy
  317.       AH=91   "Int15 Dev comp"     [B,N]        ;PC-AT Interrupt complete flag
  318. ;
  319.     INT=16    "Int16 Keyboard"     [B,K,N]      ;Keyboard services
  320.       AH=00   "Int16 Read key"     [B,K]        ;  Read next char from keyboard
  321.       AH=01   "Int16 Test key"     [B,K,N]      ;  Test if char available
  322.       AH=02   "Int16 Read flag"    [B,K]        ;  Return shift status
  323. ;
  324.     INT=17    "Int17 Printer"      [B,P]        ;Printer services
  325.       AH=00   "Int17 PrintChar"    [B,P]        ;  Print character
  326.       AH=01   "Int17 InitPrint"    [B,P]        ;  Initialize printer
  327.       AH=02   "Int17 PrintStat"    [B,P]        ;  Return printer status
  328. ;
  329.     INT=18    "Int18 C Basic"      [B]          ;Enter Cassette basic
  330.     INT=19    "Int19 Reboot"       [B]          ;Load and execute bootstrap
  331. ;
  332.     INT=1A    "Int1A Timer"        [B,T,N]      ;Timer services
  333.       AH=00   "Int1A ReadTime"     [B,T,N]      ;  Read time of day clock
  334.       AH=01   "Int1A Set time"     [B,T]        ;  Set time of day clock
  335.       AH=02   "Int1A Read clk"     [B,T]        ;  PC-AT Read real time clock
  336.       AH=03   "Int1A Set clk"      [B,T]        ;  PC-AT Set real time clock
  337.       AH=04   "Int1A ReadDate"     [B,T]        ;  PC-AT Read date
  338.       AH=05   "Int1A Set date"     [B,T]        ;  PC-AT Set date
  339.       AH=06   "Int1A SetAlarm"     [B,T]        ;  PC-AT Set alarm
  340.       AH=07   "Int1A RsetAlrm"     [B,T]        ;  PC-AT Reset alarm
  341.  
  342.     INT=1B    "Int1B CtrlBreak"    [B,K]        ;BIOS level Ctrl-Break exit
  343.     INT=1C    "Int1C TimerTick"    [B,N,T]      ;Timer tick user exit
  344. ;
  345. ;    Warning: don't define table interrupt vectors for PCWATCH!
  346. ;    Make certain that any table pointer descriptions in this
  347. ;    file appear as comments only.
  348. ;
  349. ;   INT=1D        Tables only        ;Used for video parameters
  350. ;   INT=1E        Tables only        ;Used for diskette parameters
  351. ;   INT=1F        Tables only        ;Used for graphics characters
  352. ;
  353. ;           Next entry must have the ONEWAY attribute
  354. ;
  355.     INT=20    "Int20 Dos Exit"     [D,O]        ;Program termination
  356.     INT=21    "Int21 Dos Svc"      [D]          ;DOS services
  357. ;
  358. ;           Next entry must have the ONEWAY attribute
  359. ;
  360.       AH=00   "Dos00 Pgm term"     [D,O]        ;  Alternate program termination
  361.       AH=01   "Dos01 Key input"    [D,K]        ;  Keyboard Input
  362.       AH=02   "Dos02 Dsply out"    [D,K,V,N]    ;  Display output
  363.       AH=03   "Dos03 Aux input"    [D,C]        ;  Auxiliary input
  364.       AH=04   "Dos04 Aux out"      [D,C]        ;  Auxiliary output
  365.       AH=05   "Dos05 Print out"    [D,P]        ;  Printer output
  366.       AH=06   "Dos06 Con I/O"      [D,K]        ;  Direct console I/O
  367.       AH=07   "Dos07 Con input"    [D,K,V]      ;  Direct console input w/o echo
  368.       AH=08   "Dos08 No echo"      [D,K]        ;  Console input w/o echo
  369.       AH=09   "Dos09 Print str"    [D,V]        ;  Print string
  370.       AH=0A   "Dos0A Buffd ip"     [D,K,XO]     ;  Buffered keyboard input
  371.       AH=0B   "Dos0B Con stat"     [D,K,N]      ;  Check stdin status
  372.       AH=0C   "Dos0C Clear buf"    [D,K]        ;  Clear keyboard buf & invoke
  373.       AH=0D   "Dos0D DiskReset"    [D]          ;  Disk reset
  374.       AH=0E   "Dos0E SelctDisk"    [D]          ;  Select disk
  375.       AH=0F   "Dos0F Open FCB"     [D,F,G]      ;  Open file using FCB
  376.       AH=10   "Dos10 Close FCB"    [D,F,G]      ;  Close file using FCB
  377.       AH=11   "Dos11 Srch 1st"     [D,F,GI]     ;  Search for 1st entry w FCB
  378.       AH=12   "Dos12 Srch next"    [D,F,GI]     ;  Search for next entry w FCB
  379.       AH=13   "Dos13 DeleteFCB"    [D,F,G]      ;  Delete file using FCB
  380.       AH=14   "Dos14 Seql read"    [D,F,G]      ;  Sequential read using FCB
  381.       AH=15   "Dos15 Seql writ"    [D,F,G]      ;  Sequential write using FCB
  382.       AH=16   "Dos16 CreateFCB"    [D,F,G]      ;  Create file using FCB
  383.       AH=17   "Dos17 RenameFCB"    [D,F,G]      ;  Rename file using FCB
  384.       AH=18   "Dos18 Internal"     [D]
  385.       AH=19   "Dos19 Cur disk"     [D]          ;  Current disk
  386.       AH=1A   "Dos1A Set DTA"      [D]          ;  Set disk transfer address
  387.       AH=1B   "Dos1B FAT info"     [D,F]        ;  Allocation table info
  388.       AH=1C   "Dos1C FATbyDriv"    [D,F]        ;  Alloc table info for drive
  389.       AH=1D   "Dos1D Internal"     [D]
  390.       AH=1E   "Dos1E Internal"     [D]
  391.       AH=1F   "Dos1F Internal"     [D]
  392.       AH=20   "Dos20 Internal"     [D]
  393.       AH=21   "Dos21 Rand read"    [D,F,G]      ;  Random read using FCB
  394.       AH=22   "Dos22 Rand writ"    [D,F,G]      ;  Random write using FCB
  395.       AH=23   "Dos23 File size"    [D,F,G]      ;  File size using FCB
  396.       AH=24   "Dos24 SetRanRec"    [D,F,G]      ;  Set relative record# in FCB
  397.       AH=25   "Dos25 Set IV"       [D]          ;  Set interrupt vector
  398.       AH=26   "Dos26 Create PS"    [D]          ;  Create new program segment
  399.       AH=27   "Dos27 RanBlkRd"     [D,F,G]      ;  Random block read using FCB
  400.       AH=28   "Dos28 RanBlkWr"     [D,F,G]      ;  Random block write using FCB
  401.       AH=29   "Dos29 Parse fn"     [D,WI,GO]    ;  Parse filename
  402.       AH=2A   "Dos2A Get date"     [D]          ;  Get date
  403.       AH=2B   "Dos2B Set date"     [D]          ;  Set date
  404.       AH=2C   "Dos2C Get time"     [D,T,N]      ;  Get time
  405.       AH=2D   "Dos2D Set time"     [D,T]        ;  Set time
  406.       AH=2E   "Dos2E VerifySw"     [D]          ;  Set/reset verify switch
  407.       AH=2F   "Dos2F Get DTA"      [D]          ;  Get disk transfer address
  408. ;
  409. ;           DOS 2 or later from here on
  410. ;
  411.       AH=30   "Dos30 Version"      [D]          ;  Get DOS version number
  412. ;
  413. ;           Next entry must have the ONEWAY attribute
  414. ;
  415.       AH=31   "Dos31 KeepProc"     [D,O]        ;  Term process & stay resident
  416.       AH=32   "Dos32 Get DPB"      [D,F]        ;  Get disk parameter block
  417.       AH=33   "Dos33 CtrlBreak"    [D,K]        ;  Ctrl-break check
  418.       AH=34   "Dos34 GetInDos"     [D,YO]       ;  Get "in DOS" flag
  419.       AH=35   "Dos35 Get IV"       [D]          ;  Get interrupt vector
  420.       AH=36   "Dos36 FreeSpace"    [D,F]        ;  Get disk free space
  421.       AH=37   "Dos37 Switchar"     [D]          ;  Get/set switch char
  422.       AH=38   "Dos38 Intrnatnl"    [D,K,XO]     ;  Get/set country dep. info
  423.       AH=39   "Dos39 Mkdir"        [D,F,A]      ;  Create subdirectory
  424.       AH=3A   "Dos3A Rmdir"        [D,F,A]      ;  Remove subdirectory
  425.       AH=3B   "Dos3B Chdir"        [D,F,A]      ;  Change current directory
  426.       AH=3C   "Dos3C CreatFile"    [D,F,A]      ;  Create a file
  427.       AH=3D   "Dos3D Open File"    [D,F,A]      ;  Open a file
  428.       AH=3E   "Dos3E CloseFile"    [D,F,N]      ;  Close a file handle
  429.       AH=3F   "Dos3F Rd handle"    [D,F]        ;  Read from file/dev w handle
  430.       AH=40   "Dos40 Wr handle"    [D,F,N]      ;  Write to file/dev w handle
  431.       AH=41   "Dos41 EraseFile"    [D,F,A]      ;  Delete a file (Unlink)
  432.       AH=42   "Dos42 Lseek"        [D,F]        ;  Move file read/write pointer
  433.       AH=43   "Dos43 Chmod"        [D,F,A]      ;  Change file mode
  434.       AH=44   "Dos44 IOCTL"        [D,F]        ;  I/O control for devices
  435.     AL=00 "Dos44 Get info"     [D,F]        ;    Get device information
  436.     AL=01 "Dos44 Set info"     [D,F]        ;    Set device information
  437.     AL=02 "Dos44 Read ctl"     [D,F,XO]     ;    Read ctrl info from handle
  438.     AL=03 "Dos44 Write ctl"    [D,F,X]      ;    Write ctrl info to handle
  439.     AL=04 "Dos44 Read dev"     [D,F,X]      ;    Read ctrl info from drive
  440.     AL=05 "Dos44 Write dev"    [D,F,X]      ;    Write ctrl info to drive
  441.     AL=06 "Dos44 InputStat"    [D,F]        ;    Get input status
  442.     AL=07 "Dos44 OutptStat"    [D,F]        ;    Get output status
  443.     AL=08 "Dos44 Changable"    [D,F]        ;    Block device changeable?
  444.     AL=09 "Dos44 BRedirect"    [D,F]        ;    Block device redirected?
  445.     AL=0A "Dos44 HRedirect"    [D,F]        ;    Handle redirected?
  446.     AL=0B "Dos44 Chg retry"    [D,F]        ;    Change sharing retry count
  447.       AH=45   "Dos45 DupHandle"    [D,F]        ;  Duplicate file handle
  448.       AH=46   "Dos46 FrcHandle"    [D,F]        ;  Force duplicate of handle
  449.       AH=47   "Dos47 Cur dir"      [D,F,AO]     ;  Get current directory
  450.       AH=48   "Dos48 Alloc mem"    [D]          ;  Allocate memory
  451.       AH=49   "Dos49 Free mem"     [D]          ;  Free allocated memory
  452.       AH=4A   "Dos4A Set block"    [D]          ;  Modify alloc memory block
  453.       AH=4B   "Dos4B Load/Exec"    [D,A]        ;  Load or execute a program
  454.     AL=00 "Dos4B Execute"      [D,A]        ;    Execute a program
  455.     AL=03 "Dos4B Load ovly"    [D,A]        ;    Load a program
  456. ;
  457. ;           The next entry must have the ONEWAY attribute
  458. ;
  459.       AH=4C   "Dos4C Exit"         [D,O]        ;  Terminate a process (EXIT)
  460.       AH=4D   "Dos4D Ret code"     [D]          ;  Get return code of subprocess
  461.       AH=4E   "Dos4E Find 1st"     [D,F,A]      ;  Find 1st matching file
  462.       AH=4F   "Dos4F Find next"    [D,F]        ;  Find next matching file
  463.       AH=50   "Dos50 Internal"     [D]
  464.       AH=51   "Dos51 Internal"     [D]
  465.       AH=52   "Dos52 Internal"     [D]
  466.       AH=53   "Dos53 Internal"     [D]
  467.       AH=54   "Dos54 GetVerfy"     [D,S]        ;  Get verify setting
  468.       AH=55   "Dos55 Internal"     [D]
  469.       AH=56   "Dos56 RenamFile"    [D,F,A]      ;  Rename a file
  470.       AH=57   "Dos57 File date"    [D,F]        ;  Get/set file date and time
  471.       AH=58   "Dos58 Internal"     [D]
  472. ;
  473. ;           DOS 3.0 or later from here on
  474. ;
  475.       AH=59   "Dos59 GetExtErr"    [D]          ;  Get extended error
  476.       AH=5A   "Dos5A CreatTemp"    [D,F,A]      ;  Create a temporary file
  477.       AH=5B   "Dos5B CreateNew"    [D,F,A]      ;  Create a new file
  478.       AH=5C   "Dos5C Lock/Unlk"    [D,F]        ;  Lock/Unlock file access
  479.     AL=00 "Dos5C Lock"         [D,F]        ;    Lock
  480.     AL=01 "Dos5C Unlock"       [D,F]        ;    Unlock
  481.       AH=5D   "Dos5D Internal"     [D]
  482. ;
  483. ;           DOS 3.1 or later from here on
  484. ;
  485.       AH=5E   "Dos5E PCNetwork"    [D]          ;  PC Network Program services
  486.     AL=00 "Dos5E GetMachNm"    [D,C,AO]     ;    Get machine name
  487.     AL=02 "Dos5E PrntSetup"    [D,C,P,W]    ;    Printer setup
  488.       AH=5F   "Dos5F Redirect"     [D]          ;
  489.     AL=02 "Dos5F GetRList"     [D,AO]       ;  Get redirection list entry
  490.     AL=03 "Dos5F RedirDev"     [D,A]        ;  Redirect device
  491.     AL=04 "Dos5F CanRedir"     [D,A]        ;  Cancel redirection
  492.       AH=60   "Dos60 Internal"     [D]
  493.       AH=61   "Dos61 Internal"     [D]
  494.       AH=62   "Dos62 Get PSP"      [D]          ;  Get program segment address
  495. ;
  496. ;           Next 3 entries must have the ONEWAY attribute
  497. ;
  498.     INT=22    "Int22 DosTermAd"    [D,O]        ;DOS Terminate address
  499.     INT=23    "Int23 DosCBreak"    [D,K,O]      ;DOS Ctrl-Break exit
  500.     INT=24    "Int24 DosCrtErr"    [D,S,O]      ;DOS Critical error handler
  501.     INT=25    "Int25 DosAbsRd"     [D,S,UO]     ;DOS Absolute disk read
  502.     INT=26    "Int26 DosAbsWr"     [D,S,U]      ;DOS Absolute disk write
  503. ;
  504. ;           Next entry must have the ONEWAY attribute
  505. ;
  506.     INT=27    "Int27 Dos stay"     [D,O]        ;DOS Terminate & stay resident
  507.     INT=28    "Int28 Dos idle"     [D,N]        ;DOS Idle signal
  508.     INT=29    "Int29 Dos TTY"      [D,V,N]      ;DOS TTY output
  509.     INT=2A    "Int2A DosCrSec"     [D,N]        ;DOS Critical section
  510.     INT=2F    "Int2F DosMulplx"    [D,N,P,C]    ;DOS Multiplex interrupt
  511. ;
  512. ;           Following subfunctions are defined for the DOS
  513. ;           resident PRINT command:
  514. ;
  515.       AH=01   "Int2F Res print"    [D,P]        ;DOS Resident PRINT command
  516.     AL=00 "Int2F RP Instal"    [D,P]        ;  Get installed state
  517.     AL=01 "Int2F RP SubFil"    [D,P,X]      ;  Submit file
  518.     AL=02 "Int2F RP CanFil"    [D,N,P,A]    ;  Cancel file
  519.     AL=03 "Int2F RP CanAll"    [D,P]        ;  Cancel all files
  520.     AL=04 "Int2F RP Status"    [D,P,WO]     ;  Status
  521.     AL=05 "Int2F RP EndSta"    [D,P]        ;  End of status
  522.       AH=11   "Int2F DosMulplx"    [D]          ;DOS Multiplex Signals
  523. ;
  524. ;   INT=30     (Treat these as a table)     ;Not available. Used for DOS
  525. ;   INT=31                    ;  Long Jump Interface
  526. ;
  527.     INT=40    "Int40 Diskette"     [B,S,HI,MO]  ;Revectored diskette I/O
  528. ;
  529. ;   INT=41        Tables only        ;1st hard disk parameters
  530. ;
  531.     INT=42    "Int42 OrigVideo"    [B,V]        ;EGA Revectored video INT 10
  532. ;
  533. ;   INT=43        Tables only        ;EGA Video Parameters
  534. ;   INT=44        Tables only        ;EGA/PCjr 1st 128 Graphic Chars
  535. ;   INT=46        Tables only        ;PC-AT 2nd hard disk parameters
  536. ;
  537. ;   INT=48    "Int48 Key62"        [B,K]        ;PCjr Xlate from 62-key keyboard
  538. ;
  539. ;   INT=49        Tables only        ;PCjr Scan code translate table
  540. ;
  541. ;           Next 2 entries defined for PC-AT only
  542. ;
  543.     INT=4A    "Int4A UsrAlarm"     [B,T]        ;PC-AT alarm interrupt user exit
  544.     INT=50    "Int50 Periodic"     [B,T,N]      ;PC-AT Periodic/alarm interrupt
  545. ;
  546.     INT=5A    "Int5A PcCluster"    [B,C,Y]      ;PC Cluster functions
  547. ;   INT=5B    "Int5B OrigBoot"     [B,C]        ;PC Cluster revectored INT 19
  548.     INT=5C    "Int5C PcNetwork"    [B,C,Q]      ;PC Network functions
  549. ;
  550. ;           Available for user program use
  551. ;
  552.     INT=60    "Int60 User"         [1]
  553.     INT=61    "Int61 User"         [1]
  554.     INT=62    "Int62 User"         [1]
  555.     INT=63    "Int63 User"         [1]
  556.     INT=64    "Int64 User"         [1]
  557.     INT=65    "Int65 User"         [1]
  558.     INT=66    "Int66 User"         [1]
  559.     INT=67    "Int67 User"         [1]
  560. ;
  561. ;    The following 8 entries are the default external
  562. ;    interrupt assignments for the PC-AT secondary 8259.
  563. ;
  564.     INT=70    "Int70 IRQ8clock"    [E,T,N]      ;PC-AT Real-time clock
  565.     INT=71    "Int71 IRQ9redir"    [E]          ;PC-AT Redirected to IRQ2
  566.     INT=72    "Int72 IRQ10-avl"    [E]          ;PC-AT Reserved
  567.     INT=73    "Int73 IRQ11-avl"    [E]          ;PC-AT Reserved
  568.     INT=74    "Int74 IRQ12-avl"    [E]          ;PC-AT Reserved
  569.     INT=75    "Int75 IRQ13math"    [E]          ;PC-AT 80287 Coprocessor
  570.     INT=76    "Int76 IRQ14fdsk"    [E,S]        ;PC-AT Fixed disk controller
  571.     INT=77    "Int77 IRQ15-avl"    [E]          ;PC-AT Reserved
  572. ;
  573. ;   INT=E1        Tables only        ;PC Cluster disk server info
  574. ;
  575. ;   INT=E2    "IntE2 OrigTTick"    [T,N]        ;PC Cluster revectored INT 1C
  576. ;
  577.