📄 interrup.o
字号:
0009h NOP
000Ah set ???
???
---function 01h---
20h BYTE (call) subfunction (32h-3Bh)
3Bh non-blocking I/O request (will be tested every clock tick)
21h BYTE (ret) error code
00h successful
09h invalid connection number
2Ah bad connection type
45h ???
---function 01h, subfunction 32h---
3Ah WORD (call) connection type (01h stream, 02h datagram)
---function 01h, subfunction 34h---
26h WORD (call) ???
28h WORD (call) ???
2Ah WORD (call) ???
---function 01h, subfunction 35h---
1Ah WORD (call) connection number???
26h WORD (ret) ???
---function 01h, subfunction 36h---
1Ah WORD (call) connection number???
38h WORD ???
---function 01h, subfunction 37h---
24h WORD (ret) ???
26h WORD (ret) ???
---function 01h, subfunction 38h---
1Ah WORD (call) connection number???
---function 01h, subfunction 3Ah---
22h WORD (call) ???
667Eh ???
667Fh ???
24h BYTE (call 667Eh) ???
24h WORD (return 667Fh) ???
---function 01h, subfunction 3Bh---
0Eh DWORD (call) -> function to invoke for I/O or 0000h:0000h
function called with AX = 0000h
STACK: DWORD -> request packet
WORD 0000h
should return STACK unchanged
1Ah WORD (call) connection number???
21h BYTE (ret) set to 01h when I/O becomes possible
22h BYTE (call) direction (00h write, 01h read)
34h DWORD (ret) -> next pending request packet
---function 05h---
1Eh WORD (call) ???
20h WORD (call) ???
34h DWORD (call) -> ???
---function 06h---
16h DWORD (call) -> buffer for ??? record (see #03274)
1Ah WORD (call) number of bytes to copy
22h WORD (ret) number of bytes transferred
---function 08h---
14h WORD (ret) ??? (0001h)
---function 0Ah---
16h DWORD (call) -> WORD ???
1Ch WORD (call) must be 000Ah for BWLWP35
(Table 03273)
Values for Excelan error code:
0000h successful
002Dh invalid function
0050h ???
Format of ??? record:
Offset Size Description (Table 03274)
00h WORD offset of ???
02h 4 BYTEs ???
06h DWORD IP address (big-endian)
0Ah 6 BYTEs physical address (big-endian)
???
--------N-60---------------------------------
INT 60 - TCPDRV 2.01 - TCP/IP Application Binary Interface (ABI)
Note: The handler for the interrupt will start with a 2-byte NEAR jump
instruction, followed by the ASCIZ signature string "TCP DRVR".
To find the interrupt being used by the driver, an application
should scan through interrupt vectors 60h to 7Fh until it finds
one with the "TCP DRVR" string.
This specification is being proposed by Peter R. Tattam from the
University of Tasmania.
Index: installation check;TCPDRV
--------G-60---------------------------------
INT 60 U - INTRSPY/CMDSPY v1.0 only - API
Program: INTRSPY is a script-driven debugger included with the book
_Undocumented_DOS_.
InstallCheck: determine that a) the handler is an IRET instruction, and
b) the signature 0Dh "INTRSPY vN.NN" immediately precedes the handler
Notes: INTRSPY will hook the first available interrupt in the range 60h-67h.
If INTRSPY is installed, the DWORD immediately after the IRET stores
its entry point (see #03275)
INTRSPY v2.0 (included with the second edition of the book) no longer
supports this API
Index: installation check;INTRSPY
(Table 03275)
Call INTRSPY v1.0 entry point with:
AH = function
00h ???
01h set current directory (for use in reporting)
ES:DI -> counted string containing directory name (max 79 char)
02h set name of script file
ES:DI -> counted string containing file name (max 79 chars)
03h set script arguments
ES:DI -> counted string containing arguments (max 79 chars)
04h get directory set with function 01h
ES:DI -> 80-byte buffer for directory name
05h get name of script file
ES:DI -> 80-byte buffer for script filename
06h get script arguments
ES:DI -> 80-byte buffer for script arguments
07h get ???
CL = 00h-15h specifies what to get
ES:DI -> WORD to be set with desired value on return
08h get ???
ES:DI -> WORD to be set with returned value
09h get ???
ES:DI -> WORD to be set with returned value
0Bh store code for interrupt handler???
ES:DI -> data
CX = number of bytes
0Ch ???
ES:DI -> ???
0Dh get ???
ES:DI -> BYTE to be set with returned value
0Eh set ??? flag
0Fh clear ??? flag
10h ???
Return: AL = 04h or 05h if failed
11h ???
Return: AL = 05h if failed
12h get ???
ES:DI -> buffer
Return: CX = number of bytes returned in buffer
13h ???
Return: AH = 00h
AL = status
00h successful
01h invalid function
02h ???
03h ???
04h ???
05h ???
--------u-60---------------------------------
INT 60 U - PC/370 v4.2 - ???
???
Return: ???
Program: PC/370 is an IBM 370 emulator by Donald S. Higgins
Range: INT 00 to INT FF, selected by patching the executable
Note: the documentation includes instructions for patching the system for
another interrupt
SeeAlso: INT 2F/AX=7F24h,INT DC"PC/370"
--------r-60---------------------------------
INT 60 - JPI TopSPEED Modula-2 v1 - PROCEDURE ENTRY TRAP
SeeAlso: INT 61"JPI"
--------N-60---------------------------------
INT 60 - FTP Packet Driver - PC/TCP Packet Driver Specification
Range: INT 20 to INT FF
Notes: The handler for the interrupt will start with a 3-byte jump
instruction, followed by the ASCIZ string "PKT DRVR" (the
terminating NUL is significant).
To find the interrupt being used by the driver, an application should
scan through interrupt vectors 20h to FFh (60h through 80h for
v1.09- of the specification) until it finds one with the "PKT DRVR"
string.
AH values of 80h to FFh have been reserved for user-defined additions.
--------I-60---------------------------------
INT 60 u - 3270-PC CONTROL PROGRAM - ???
--------b-60----DI0100-----------------------
INT 60 u - HP 95LX System Manager - WAIT FOR EVENT
DI = 0100h
STACK: 2 WORDs unused dummies (for calls from high level languages)
DWORD pointer to event record (see #03277)
Return: event record filled
STACK unchanged
Note: this call will timeout after about 500ms
SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0101h,INT 61"HP 95LX",INT 62"HP 95LX"
(Table 03276)
Values for HP 95LX event type:
00h no events
01h keystroke available
02h Ctrl-Break
03h reactivation (always follows deactivation event)
04h about to deactivate (sleep)
next get-event call will not return until reactivated
05h forced application termination
06h 1-2-3 bridge service request (only given to 1-2-3)
07h request to grow
08h request to shrink
09h application's alarm expired
0Ah daily chance to set an alarm
0Bh system date or time has been changed
Format of HP 95LX event record:
Offset Size Description (Table 03277)
00h WORD event type (see #03276)
02h WORD ASCII code page 850 translation of keystroke
or grow/shrink amount in paragraphs or 0000h if error
or alarm expiration data
04h BYTE scan code from BIOS
05h BYTE shift key states at time keystroke is retrieved
06h WORD LICS translation of keystroke
08h BYTE function key number (1-2-3 only)
09h DWORD pointer to 1-2-3 bridge record (see #03279)
or pointer to time change structure (see #03278)
Note: if the System Manager is awaiting the conclusion of a bridge service
or grow/shrink call and the event type field is set to FFFFh on
entry, the SysMgr will resume
Format of HP 95LX time change structure:
Offset Size Description (Table 03278)
00h WORD old year
02h BYTE old month
03h BYTE old date
04h BYTE old day
05h BYTE old hour
06h BYTE old minute
07h BYTE old second
08h BYTE old hundredth of a second
09h 9 BYTEs new time in same format as old time
--------b-60----DI0101-----------------------
INT 60 u - HP 95LX System Manager - CHECK FOR EVENT
DI = 0101h
STACK: 2 WORDs unused dummies (for calls from high level languages)
DWORD pointer to event record (INT 60/DI=0100h)
Return: event record filled
STACK unchanged
Note: this call returns immediately if no event is available
SeeAlso: INT 60/DI=0100h
--------b-60----DI0102-----------------------
INT 60 u - HP 95LX System Manager - "SH_STATUS"
DI = 0102h
STACK: 2 WORDs unused dummies (for calls from high level languages)
Return: ???
STACK unchanged
--------b-60----DI0104-----------------------
INT 60 u - HP 95LX System Manager - LOTUS 1-2-3 BRIDGE SERVICES
DI = 0104h
STACK: 2 WORDs unused dummies (for calls from high level languages)
DWORD pointer to bridge record (see #03279)
Return: ???
STACK unchanged
Format of HP 95LX bridge record:
Offset Size Description (Table 03279)
00h WORD function code (see #03280)
02h WORD return code from 1-2-3
04h 16 BYTEs ASCII range name
14h WORD start column of range
16h WORD start row of range
18h WORD end column of range
1Ah WORD end row of range
1Ch WORD order in which data is placed in buffer
1Eh WORD buffer size
20h WORD offset within bridge record's segment of buffer for cell data
(Table 03280)
Values for HP 95LX function code:
00h test
01h get range
02h "GETRANGE_ADDR"
03h "SETRANGE_ADDR"
04h "GETRANGE_DATA"
05h "SETRANGE_DATA"
06h recalculate
07h get cursor
08h set cursor
09h redisplay
0Ah cell type
0Bh "CALCTYPE"
--------b-60----DI0105-----------------------
INT 60 u - HP 95LX System Manager - FLUSH KEYBOARD BUFFER
DI = 0105h
STACK: 2 WORDs unused dummies (for calls from high level languages)
Return: ???
STACK unchanged
--------b-60----DI0106-----------------------
INT 60 u - HP 95LX System Manager - YIELD CPU
DI = 0106h
STACK: 2 WORDs unused dummies (for calls from high level languages)
DWORD pointer to ???
Return: ???
STACK unchanged
SeeAlso: INT 15/AX=1000h,INT 2F/AX=1680h
--------b-60----DI0107-----------------------
INT 60 u - HP 95LX System Manager - "NO_FINI" - REFUSE TERMINATION REQUEST
DI = 0107h
STACK: 2 WORDs unused dummies (for calls from high level languages)
DWORD pointer to ???
Return: ???
STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 61"HP 95LX",INT 62"HP 95LX"
--------b-60----DI0200-----------------------
INT 60 u - HP 95LX System Manager - SETUP MENU
DI = 0200h
STACK: 2 WORDs unused dummies (for calls from high level languages)
DWORD pointer to menu data (see #03281)
DWORD pointer to ???
WORD number of items on menu???
WORD ???
DWORD pointer to ???
WORD ???
DWORD pointer to ???
Return: ???
STACK unchanged
SeeAlso: INT 15/AX=4DD4h,INT 60/DI=0201h,INT 60/DI=0203h,INT 60/DI=0205h
Format of HP 95LX menu data:
Offset Size Description (Table 03281)
00h 80 BYTEs first line of menu text
50h 80 BYTEs second line of menu text
A0h 80 BYTEs third line of menu text
F0h WORD number of keywords
F2h WORD index of currently highlighted keyword or FFFFh
F4h WORD single prompt on top line if nonzero
F6h 20 BYTEs which line each of 20 keywords is located on
10Ah 20 BYTEs offset of each of 20 keywords within its line
11Eh 20 BYTEs length of each of 20 keywords
132h 20 BYTEs first letter of each of 20 keywords
146h 20 WORDs offsets of long prompts for each of 20 keywords
--------b-60----DI0201-----------------------
INT 60 u - HP 95LX System Manager - DISPLAY OR REDISPLAY MENU
DI = 0201h
STACK: 2 WORDs unused dummies (for calls from high level languages)
DWORD pointer to menu data (see #03281)
Return: ???
STACK unchanged
SeeAlso: INT 60/DI=0200h,INT 60/DI=0202h,INT 60/DI=0206h
--------b-60----DI0202-----------------------
INT 60 u - HP 95LX System Manager - "MENU_ON" - ENABLE PROCESSING OF MENU
DI = 0202h
STACK: 2 WORDs unused dummies (for calls from high level languages)
DWORD pointer to menu data (see #03281)
Return: ???
STACK unchanged
SeeAlso: INT 60/DI=0200h,INT 60/DI=0201h,INT 60/DI=0203h
--------b-60----DI0203-------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -