Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
software:upi_conventions [2016/06/14 10:18] ex_writer |
software:upi_conventions [2016/06/14 10:25] ex_writer [User-Defined Subroutines] |
||
---|---|---|---|
Line 125: | Line 125: | ||
From system BIOS: | From system BIOS: | ||
- | <code>The UPI has been extended to support user-supplied routines. If the call index provided is negative [or from $ff through $80] then the users dispatch table pointer (USERTB) is used [also UMARGT]. Note that the sign bit isn't zapped before being used as an index, this means that the users dispatch table pointer should point 128 bytes before the first entry.</code> | + | <code>The UPI has been extended to support user-supplied routines. |
+ | If the call index provided is negative [or from $ff through $80] | ||
+ | then the users dispatch table pointer (USERTB) is used [also UMARGT]. | ||
+ | Note that the sign bit isn't zapped before being used as an index, | ||
+ | this means that the users dispatch table pointer should point | ||
+ | 128 bytes before the first entry.</code> | ||
Also: | Also: | ||
Line 146: | Line 151: | ||
^ Location ^ Function ^ | ^ Location ^ Function ^ | ||
- | | 4FFB/4FFC | (Base address of register load specifications) - 40H | | + | | 4FFB/4FFC (UMARGT) | (Base address of register load specifications) - 40H (64D) | |
- | | 4FFD/4FFE | (Base address of subroutine jump table) - 80H | | + | | 4FFD/4FFE (USERTB) | (Base address of subroutine jump table) - 80H (128D) | |
The user is responsible for storing the addresses of these tables into dedicated system RAM cells. | The user is responsible for storing the addresses of these tables into dedicated system RAM cells. |