Ralf Brown's Interrupt List
   HOME

TheInfoList



OR:

Ralf Brown's Interrupt List (aka RBIL, x86 Interrupt List, MS-DOS Interrupt List or INTER) is a comprehensive list of
interrupt In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
s,
call Call or Calls may refer to: Arts, entertainment, and media Games * Call, a type of betting in poker * Call, in the game of contract bridge, a bid, pass, double, or redouble in the bidding stage Music and dance * Call (band), from Lahore, Paki ...
s, hooks,
interface Interface or interfacing may refer to: Academic journals * ''Interface'' (journal), by the Electrochemical Society * '' Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Linguistics'' * '' Int ...
s, data structures, CMOS settings,
memory Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembered ...
and
port A port is a maritime facility comprising one or more wharves or loading areas, where ships load and discharge cargo and passengers. Although usually situated on a sea coast or estuary, ports can also be found far inland, such as H ...
addresses, as well as processor opcodes and special function registers for
x86 x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was intr ...
machines (including many clones) from the very start of the PC era in 1981 up to 2000, most of it still applying to PCs today.


Overview

The list covers
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also i ...
s, device drivers, and application
software Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work. ...
; both documented and undocumented information including bugs, incompatibilities, shortcomings, and workarounds, with version, locale, and date information, often at a detail level far beyond that found in the contemporary literature. A large part of it covers system BIOSes and internals of operating systems such as
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicat ...
,
OS/2 OS/2 (Operating System/2) is a series of computer operating systems, initially created by Microsoft and IBM under the leadership of IBM software designer Ed Iacobucci. As a result of a feud between the two companies over how to position OS/2 r ...
, and
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ser ...
, as well as their interactions. It has been a widely used resource by IBM PC system developers, analysts, as well as application programmers in the pre-
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ser ...
era. Parts of the compiled information have been used for and in the creation of several books on systems programming, some of which have also been translated into Chinese, Japanese and Russian. As such the compilation has proven to be an important resource in developing various closed and open source operating systems, including
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
and
FreeDOS FreeDOS (formerly Free-DOS and PD-DOS) is a free software operating system for IBM PC compatible computers. It intends to provide a complete MS-DOS-compatible environment for running legacy software and supporting embedded systems. FreeDOS can ...
. Today it is still used as a reference to BIOS calls and to develop programs for DOS as well as other system-level software. The project is the result of the research and collaborative effort of more than 650 listed contributors worldwide over a period of 15 years, of which about 290 provided significant information (and some 55 of them even more than once). The original list was created in January 1985 by Janet Jack and others, and, named "Interrupt List for MS-DOS", it was subsequently maintained and mailed to requestors on
Usenet Usenet () is a worldwide distributed discussion system available on computers. It was developed from the general-purpose Unix-to-Unix Copy (UUCP) dial-up network architecture. Tom Truscott and Jim Ellis conceived the idea in 1979, and it wa ...
by Ross M. Greenberg until 1986. Since October 1987 it is maintained by Ralf D. Brown, a researcher at Carnegie Mellon University's
Language Technologies Institute The Language Technologies Institute (LTI) is a research institute at Carnegie Mellon University in Pittsburgh, Pennsylvania, United States, and focuses on the area of language technologies. The institute is home to 33 faculty with the primary scho ...
. Information from several other interrupt listings was merged into the list in order to establish one comprehensive reference compilation. Over the years, Michael A. Shiels, Timothy Patrick Farley, Matthias R. Paul, Robin Douglas Howard Walker, Wolfgang Lierz and Tamura Jones became major contributors to the project, providing information all over the list. The project was also expanded to include other PC development related information and therefore absorbed a number of independently maintained lists on PC I/O ports (by Wim Osterholt and Matthias R. Paul), BIOS CMOS memory contents (by Atley Padgett Peterson), processor opcodes (by Alex V. Potemkin) and bugs (by Harald Feldmann). Brown and Paul also conducted several systematic surveys on specific hard- and software details among a number of dedicated user groups in order to validate some info and to help fill some gaps in the list. Originally, the list was distributed in an archive named INTERRUP in various compression formats as well as in the form of
diff In computing, the utility diff is a data comparison tool that computes and displays the differences between the contents of files. Unlike edit distance notions used for other purposes, diff is line-oriented rather than character-oriented, but ...
s. The distribution file name was changed to include a version in the form INTERnyy (with n = issue number, and yy = 2-digit release year) in 1988. In mid 1989 the distribution settled to only use ZIP compression. When the archive reached the size of a 360 KB floppy in June 1991, the distribution split into several files following an INTERrrp.ZIP naming scheme (with rr = revision starting with 26 for version 91.3, and p = part indicator of the package starting with letter A). Officially named "MS-DOS Interrupt List" and "x86 Interrupt List" (abbreviated as "INTER") by its maintainer, the community coined the unofficial name "Ralf Brown's Interrupt List" (abbreviated as "RBIL") in the 1990s. The publication is currently at revision 61 as of 17 July 2000 with almost 8  MB of
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
text including close to entries plus about tables, fully cross linked, which would result in more than 3700 pages (at 60 lines per page) of condensed information when printed. Of this, the interrupt list itself makes up some 5.5 MB for more than 2500 pages printed. While the project is not officially abandoned and the website is still maintained (as of 2022), new releases have not been forthcoming for a very long time, despite the fact that information was still pending for release even before the INTER61 release in 2000. New releases were planned for at several times in 2001 and 2002, but when they did not materialize, portions of the new information on DOS and PC internals provided by Paul were circulated in preliminary form in the development community for peer-review and to assist in operating system development.


See also

*
BIOS interrupt call BIOS interrupt calls are a facility that operating systems and application programs use to invoke the facilities of the Basic Input/Output System firmware on IBM PC compatible computers. Traditionally, BIOS calls are mainly used by DOS programs ...
*
DOS API The DOS API is an API which originated with 86-DOS and is used in MS-DOS/ PC DOS and other DOS-compatible operating systems. Most calls to the DOS API are invoked using software interrupt 21h ( INT 21h). By calling INT 21h with a subfunctio ...
*
INT (x86 instruction) INT is an assembly language instruction for x86 processors that generates a software interrupt. It takes the interrupt number formatted as a byte value. When written in assembly language, the instruction is written like this: :INT ''X'' where ' ...
* Malware analysis


Notes


References


External links

* * (NB. Delorie Software's HTML-converted version of INTER61.) * {{cite web , title=Ralf Brown's Interrupt List: Indexed HTML Version - Release 61: A Gift to DOS Programmers , editor-first=Marc , editor-last=Perkel , editor-link=Marc Perkel , date=2000-07-17 , version=61 , url=http://www.ctyme.com/rbrown.htm , access-date=2017-08-24 , url-status=dead , archive-url=https://web.archive.org/web/20170824130835/http://www.ctyme.com/rbrown.htm , archive-date=2017-08-24 (NB. Computer Tyme's HTML-converted version of INTER61.) Interrupts x86 architecture IBM PC compatibles History of computing