Language:
Русский
English
Intr (procedure) (WinDos unit)
Executes a specified software interrupt.
Declaration
procedure Intr(IntNo: Byte; var Regs: TRegisters);
where:
- IntNo is the software interrupt number (0...255).
- TRegisters is a record defined in the WinDos unit.
Target
Windows, Real, Protected
Remarks
IntNo is the software interrupt number (0..255). Registers is a record defined in the Dos unit; TRegisters is a record defined in the WinDos unit. See the declaration of Registers type and the declaration of TRegisters.
Before executing the specified software interrupt, Intr loads the 8086 CPU's AX, BX, CX, DX, BP, SI, DI, DS, and ES registers from the Regs record. When the interrupt completes, the contents of the AX, BX, CX, DX, BP, SI, DI, DS, ES, and Flags registers are stored back into the Regs record.
To avoid general protection faults when running in Windows standard mode or Windows 386 enhanced mode, always initialize the DS and ES fields of the TRegisters record with valid selector values, or set the fields to zero.
Restrictions
Do not use software interrupts that:
- depend on specific values in SP or SS on entry.
- modify SP or SS on exit.
Avoid general protection faults when running in Windows standard or Windows 386 enhanced mode by initializing the DS and ES fields of the TRegisters; use valid selector values, or set the fields to zero.
In Turbo Pascal version 3.0, the Registers variable was a user-defined type. In versions 5.0 or greater, Registers must be of type Registers defined in the Dos unit.