📄 interrup.l
字号:
--------V-2F1AAB-----------------------------
INT 2F - ANSIPLUS v3.01+ - SET ANSIPLUS KEY REPEAT RATE
AX = 1AABh
BX = repeat rate in characters per second
0000h use BIOS repeat rate
Return: nothing
SeeAlso: AX=1A00h/BX=414Eh,AX=1AAAh,AX=1AACh
--------V-2F1AAC-----------------------------
INT 2F - ANSIPLUS v3.00+ - LOAD CHARACTER GENERATOR
AX = 1AACh
BH = number of bytes per character pattern
BL = VGA/EGA character table to be loaded
CX = number of characters to load
DX = starting character code (offset into Map2 block)
ES:BP -> user character table to be loaded
Return: AX = 1100h
Desc: load the EGA/VGA character generator without the BIOS function's
side effects of resetting the video mode and color palette
SeeAlso: AX=1A00h/BX=414Eh,AX=1AABh,AX=1AADh"ANSIPLUS",INT 10/AX=1100h
--------V-2F1AAD-----------------------------
INT 2F - ANSIPLUS v2.00+ - ANSIPLUS DEVICE STATUS REPORT
AX = 1AADh
BL = report request code (81h-96h for v4.00)
CX = color selector or key code, if required by request
Return: AX = first reported result
BX = second result
CX = third result, if applicable (unchanged otherwise)
DX = fourth result, if applicable (unchanged otherwise)
Desc: get device status reports equivalent to those for Esc [#n sequences
while bypassing any device redirection and avoiding the need to
parse the returned result
Note: the report request code in BL is identical to the number in the
corresponding Esc [#n sequence
SeeAlso: AX=1A00h/BX=414Eh,AX=1AACh
--------V-2F1AADDX0000-----------------------
INT 2F U - AVATAR.SYS v0.11 - ???
AX = 1AADh
DX = 0000h
CX = subfunction (00h-0Ch)
???
Return: AX = 0000h if DX was nonzero
???
SeeAlso: AX=1A00h/BX=4156h,AX=1A72h
--------m-2F1B00-----------------------------
INT 2F U - DOS 4+ XMA2EMS.SYS extension internal - INSTALLATION CHECK
AX = 1B00h
Return: AL = FFh if installed
Note: XMA2EMS.SYS extension is only installed if DOS has page frames to hide.
This extension hooks onto INT 67/AH=58h and returns from that call data
which excludes the physical pages being used by DOS.
SeeAlso: AH=1Bh"FRAME INFO"
--------m-2F1B-------------------------------
INT 2F U - DOS 4+ XMA2EMS.SYS extension internal - GET HIDDEN FRAME INFORMATION
AH = 1Bh
AL <> 00h
DI = hidden physical page number
Return: AX = FFFFh if failed (no such hidden page)
AX = 0000h if OK, then
ES = segment of page frame
DI = physical page number
Notes: this corresponds to the data edited out of the INT 67/AH=58h call
FASTOPEN makes this call with AL = FFh
SeeAlso: AX=1B00h
--------V-2F2300-----------------------------
INT 2F - DR DOS 5.0 GRAFTABL - INSTALLATION CHECK
AX = 2300h
Return: AH = FFh
Note: this installation check does not follow the usual format
SeeAlso: AH=23h,AX=2E00h
--------V-2F23-------------------------------
INT 2F - DR DOS 5.0 GRAFTABL - GET GRAPHICS DATA
AH = 23h
AL nonzero
Return: AH = FFh
ES:BX -> graphics data (8 bytes for each character from 80h to FFh)
SeeAlso: AX=2300h,AX=2E00h
--------T-2F2700-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - INSTALLATION CHECK
AX = 2700h
Return: AL = status
00h not installed
FFh installed
Note: the TaskMAX API is also supported by Novell DOS 7 TASKMGR in both
taskswitching and multitasking modes
--------T-2F2701-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - GET STATUS
AX = 2701h
Return: AX = maximum simultaneous tasks
BX = index into TASK_IDS of current foreground task
CX = currently-active tasks
DX = version number (DL = major, DH = minor)
(DR DOS 6.0 = 0001h, Novell DOS 7 = 0002h)
ES:SI -> TASK_IDS
ES:DI -> name table (array of 8-byte names, NUL-terminated if <8 chars)
Notes: do not attempt to create a new task if CX == AX
the task's index is its position on the task menu, while its ID is the
position within the internal task name table
SeeAlso: AX=2714h,AX=2716h
--------T-2F2702-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - GET PER-TASK EMS LIMIT
AX = 2702h
Return: DX = maximum pages INT 67/AH=42h will report available
Note: TaskMAX does not limit EMS allocations other than by limiting the
amount which is reported as being available at a given time
SeeAlso: AX=2703h,INT 67/AH=42h
--------T-2F2703-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - SET PER-TASK EMS LIMIT
AX = 2703h
DX = maximum pages INT 67/AH=42h should report available
Return: DX = new maximum for reporting
Note: the TaskMAX API is also supported by Novell DOS 7 TASKMGR in
both taskswitching and multitasking modes
SeeAlso: AX=2702h,INT 67/AH=42h
--------T-2F2704-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - REGISTER/UNREGISTER TASK MANAGER
AX = 2704h
DL = subfunction
00h unregister task manager
01h register task manager
Return: DL = status
00h registered
01h unregistered
Notes: a task manager replaces TaskMAX's menu system with its own user
interface; while one is registered, the TaskMAX hotkeys and
Ctrl-Alt-Del invoke the manager rather than the built-in menu system
unregister the task manager before terminating it
SeeAlso: AX=2705h
Index: hotkeys;TaskMAX
--------T-2F2705-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - ENABLE/DISABLE DIRECT SWITCHING
AX = 2705h
DL = subfunction
00h disable keystrokes for switching to next/prev/specified task
01h enable
Return: nothing
Note: should only be called by a registered task manager (see AX=2704h)
SeeAlso: AX=2704h,AX=2706h
--------T-2F2706-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - SWITCH TO SPECIFIED TASK
AX = 2706h
DX = task index (see AX=2701h) of task to be activated
Return: DX = task index of previously-active task
Note: the TaskMAX API is also supported by Novell DOS 7 TASKMGR in
both taskswitching and multitasking modes
SeeAlso: AX=2705h,AX=2707h,AX=2715h
--------T-2F2707-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - CREATE NEW TASK
AX = 2707h
DS:DX -> ASCIZ pathname of executable
ES:BX -> parameter block (see #02738)
CX = number of ticks before automatic return to task manager
(0000h = run until termination or explicitly switched)
Return: DX = new task's task index (FFFFh if task terminated)
SeeAlso: AX=2706h,AX=2708h
Format of TaskMAX parameter block:
Offset Size Description (Table 02738)
00h WORD reserved, should be 0000h
02h DWORD pointer to command tail to be copied into child's PSP
06h DWORD pointer to first FCB to be copied into child's PSP
0Ah DWORD pointer to second FCB to be copied into child's PSP
--------T-2F2708-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - DELETE TASK
AX = 2708h
DX = task index
Return: DX = FFFFh (task deleted)
Notes: this call should only be used for abnormal task termination, after
first checking for open files with AX=270Ch; should not be used
with programs that allocate EMS or XMS memory
switches to specified task first
SeeAlso: AX=2707h
--------T-2F2709-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - NAME TASK
AX = 2709h
DX = task index
DS:SI -> 8-byte name (8 NULs = remove name)
Return: AL = task flags
00h ID unused or task terminated
01h ID in use, task name table entry valid
81h ID in use, task name fixed
BX = task ID
ES:DI -> name in task name table (see AX=2701h)
Note: the task retains the given name until it terminates or the name is
removed by specifying a name of 8 NULs.
SeeAlso: AX=2701h,AX=2707h
--------T-2F270A-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - CONVERT TASK INDEX TO TASK ID
AX = 270Ah
DX = task index
Return: DX = task ID (FFFFh if index invalid)
Note: task IDs stay constant, while indexes can change when other tasks are
deleted
SeeAlso: AX=2701h,AX=270Bh
--------T-2F270B-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - CONVERT TASK ID TO TASK INDEX
AX = 270Bh
DX = task ID
Return: DX = task index (FFFFh if task not active)
Note: the TaskMAX API is also supported by Novell DOS 7 TASKMGR in both
taskswitching and multitasking modes
SeeAlso: AX=270Ah
--------T-2F270C-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - CHECK OPEN FILES
AX = 270Ch
DX = task index
Return: AX = number of files currently open for specified task
SeeAlso: AX=2708h
--------T-2F270D-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - CHECK IF TASK RUNNING PRIMARY COMMAND INTERPRETER
AX = 270Dh
DX = task index
Return: DX = status
0000h if primary command interpreter (COMMAND.COM, etc.) running
0001h if not in root shell for task
Note: TaskMAX will return 0001h if the specified task has spawned another
command interpreter with AX=2707h
SeeAlso: AX=2707h,AX=270Ch
--------T-2F270E-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - GET/SET TEXT PASTE LEAD-IN
AX = 270Eh
CX = length of string (max 15 keystrokes, 0000h to get current string)
DS:SI -> pasting lead-in string (character/scan-code pairs)
Return: ES:DI -> current lead-in string
Note: the specified sequence of keystrokes is sent to the application before
every line of a text-mode spreadsheet paste
SeeAlso: AX=270Fh,AX=2710h,AX=2713h
--------T-2F270F-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - GET/SET NUMERIC PASTE LEAD-IN
AX = 270Fh
CX = length of string (max 15 keystrokes, 0000h to get current string)
DS:SI -> pasting lead-in string (character/scan-code pairs)
Return: ES:DI -> current lead-in string
Note: the specified sequence of keystrokes is sent to the application before
every number in a numeric-mode spreadsheet paste
SeeAlso: AX=270Eh,AX=2710h,AX=2711h,AX=2713h
--------T-2F2710-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - GET/SET PASTE LINE TERMINATOR STRING
AX = 2710h
CX = length of string (max 15 keystrokes, 0000h to get current string)
DS:SI -> pasting terminator string (character/scan-code pairs)
Return: ES:DI -> current terminator string
Note: the specified sequence of keystrokes is sent to the application after
every line of a spreadsheet paste operation
SeeAlso: AX=270Eh,AX=270Fh,AX=2713h
--------T-2F2711-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - GET/SET NUMERIC PASTE DECIMAL POINT
AX = 2711h
DX = ASCII code for separator (FFFFh to get current)
Return: DL = current separator character
SeeAlso: AX=270Fh
--------T-2F2712-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - INITIATE EXPORTING TASK DATA
AX = 2712h
DX = task index
--------T-2F2713-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - INITIATE PASTE OPERATION
AX = 2713h
DX = task index
CX = paste mode
0000h alphanumeric
0001h numeric
0002h text
SeeAlso: AX=270Eh,AX=270Fh,AX=2710h,AX=2711h
--------T-2F2714-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - GET SWAP SPACE INFO
AX = 2714h
Return: CX = total KB of swap space
DX = available KB of swap space
Note: the TaskMAX API is also supported by Novell DOS 7 TASKMGR in both
taskswitching and multitasking modes
SeeAlso: AX=2701h
--------T-2F2715-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - SWITCH TO TASK MANAGER
AX = 2715h
Return: only after calling task is again selected
SeeAlso: AX=2706h
--------T-2F2716-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - GET PASTE BUFFER STATUS
AX = 2716h
Return: AX = 0000h if AX=2716h,AX=2717h,AX=2718h supported
CX = bytes in paste buffer
DX = current generation number (updated after every copy operation)
BUG: Novell DOS 7 TASKMGR returns AX=0000h even though it does not support
this call (it does support the remainder of the TaskMAX API)
SeeAlso: AX=2701h,AX=2713h,AX=2714h,AX=2717h,AX=2718h
--------T-2F2717-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - PASTE DATA DIRECTLY TO APPLICATION BUFFER
AX = 2717h
CX = bytes in destination buffer
ES:DI -> destination buffer
Return: AX = 0000h if function supported
CX = bytes actually copied (FFFFh if buffer too small)
DX = current generation number for paste buffer
BUG: Novell DOS 7 TASKMGR returns AX=0000h even though it does not support
this call (it does support the remainder of the TaskMAX API)
Note: the destination buffer may be too small if another task adds more data
to the paste buffer after the AX=2716h call but before this call
SeeAlso: AX=2713h,AX=2716h,AX=2718h
--------T-2F2718-----------------------------
INT 2F - DR DOS 6.0 TaskMAX - COPY DATA DIRECTLY INTO PASTE BUFFER
AX = 2718h
CX = bytes in source buffer
DS:SI -> source buffer (plain ASCII, lines terminated with CR LF)
Return: AX = 0000h if function supported
CX = bytes actually copied
DX = current generation number for paste buffer
BUG: Novell DOS 7 TASKMGR returns AX=0000h even though it does not support
this call (it does support the remainder of the TaskMAX API)
SeeAlso: AX=2712h,AX=2716h,AX=2717h
--------T-2F2719-----------------------------
INT 2F - Novell DOS 7 TaskMGR - NOP
AX = 2719h to 271Bh
--------T-2F271C-----------------------------
INT 2F U - Novell DOS 7 TaskMGR - ???
AX = 271Ch
DX = ???
bit 0: ???
Return: ???
---if DX bit 0 set---
AX = 0031h
CX = 0000h
BUG: if the task switcher is running, and DX bit 0 is set on call, this
function will crash because its exit code attempts to pop several
registers which are not pushed when DX bit 0 is set
--------m-2F2780CL01-------------------------
INT 2F U - Novell DOS 7 - EMM386.EXE - MULTITASKING API - SUPERVISOR MODULE
AX = 2780h
CL = 01h (module: Supervisor)
CH = subfunction
00h unused
Return: CX = status (0002h) (see #02739)
01h unused
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -