mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-28 11:17:46 +00:00
48 lines
No EOL
1.4 KiB
Text
48 lines
No EOL
1.4 KiB
Text
The '''INTERRUPT''' statement is an assembly routine for accessing computer information registers.
|
||
|
||
|
||
|
||
{{PageSyntax}}
|
||
:: '''[[CALL]] INTERRUPT('''''intnum'', ''inregs'', ''outregs''''')'''
|
||
|
||
|
||
|
||
*Available on QuickBasic versions 4 up, it requires the library to be loaded. Command line: QB.EXE /L in QB4.5 .
|
||
* Interrupt number is the interrupt reference vector table address. See: [http://www.ctyme.com/intr/cat.htm Ralf Brown's Interrupt List]
|
||
* Inregs are the values placed into the call and outregs are the register return values.
|
||
* INTERRUPT can only use ax, bx, cx, dx, bp, si, di, and the flags values.
|
||
* '''NOTE: QB64 does not currently support INT 33h mouse functions above 3 or INT requests other than 33'''
|
||
* The [[TYPE]] definition below will work for both INTERRUPT and [[INTERRUPTX]] statement calls:
|
||
|
||
|
||
''RegType.BI'' '$INCLUDE file can be used by INTERRUPT or INTERRUPTX
|
||
{{TextStart}} '' ''
|
||
{{Cb|TYPE}} RegTypeX
|
||
ax AS INTEGER
|
||
bx AS INTEGER
|
||
cx AS INTEGER
|
||
dx AS INTEGER
|
||
bp AS INTEGER
|
||
si AS INTEGER
|
||
di AS INTEGER
|
||
flags AS INTEGER
|
||
ds AS INTEGER
|
||
es AS INTEGER
|
||
{{Cb|END TYPE}} '' ''
|
||
{{TextEnd}}
|
||
{{CodeStart}}
|
||
{{Cl|DIM}} {{Cl|SHARED}} inregs {{Cb|AS}} RegTypeX, outregs {{Cb|AS}} RegTypeX
|
||
{{CodeEnd}}
|
||
|
||
|
||
|
||
''See also:''
|
||
* [[$INCLUDE|$INCLUDE:]]
|
||
* [[QB.BI]], [[CALL ABSOLUTE]]
|
||
* [[INTERRUPTX]]
|
||
|
||
|
||
''Download Ethan Winer's FREE Qbasic Book and Programs:'' [http://www.ethanwiner.com/fullmoon.html WINER.ZIP]
|
||
|
||
|
||
{{PageNavigation}} |