Difference between revisions of "83Plus:BCALLs:44F2"
From WikiTI
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
[[Category:83Plus:BCALLs:By Name|OffPageJump]] [[Category:83Plus:BCALLs:By Address|44F2 - OffPageJump]] | [[Category:83Plus:BCALLs:By Name|OffPageJump]] [[Category:83Plus:BCALLs:By Address|44F2 - OffPageJump]] | ||
+ | {{missinfo|Destroys}} | ||
== Synopsis == | == Synopsis == | ||
'''Unofficial Name:''' OffPageJump | '''Unofficial Name:''' OffPageJump | ||
Line 21: | Line 22: | ||
.DB bPage | .DB bPage | ||
Do not B_CALL this entry point, only B_JUMP. Unlike other B_JUMPs, however, this one does return. | Do not B_CALL this entry point, only B_JUMP. Unlike other B_JUMPs, however, this one does return. | ||
− | It could have uses for multipage applications, I guess. TI-Navigator uses it like this. | + | It could have uses for multipage applications, I guess. Push a return address before the below code if you want to regain control. TI-Navigator uses it like this. |
== Example == | == Example == | ||
− | Jump to ClrLCDFull and end execution (on OS 1.12): | + | Jump to ClrLCDFull and end execution (on OS 1.12 from a RAM program): |
ld hl,dataPtr | ld hl,dataPtr | ||
+ | push hl | ||
B_JUMP OffPageJump | B_JUMP OffPageJump | ||
dataPtr: | dataPtr: | ||
.dw 5A71h ;these are specific to OS 1.12 | .dw 5A71h ;these are specific to OS 1.12 | ||
.db 01h | .db 01h |
Latest revision as of 19:28, 5 February 2008
This article is missing some information (namely Destroys). You can help WikiTI by filling in the missing information.
Synopsis
Unofficial Name: OffPageJump
BCALL Address: 44F2
Jumps to a specified address on a specified page.
Inputs
- Push pointer to table entry before calling
Outputs
- None
Destroys
- Unknown
Comments
Push the address of a B_CALL table entry before B_JUMPing to this entry point. Such an entry looks like this:
.DW wAddress .DB bPage
Do not B_CALL this entry point, only B_JUMP. Unlike other B_JUMPs, however, this one does return. It could have uses for multipage applications, I guess. Push a return address before the below code if you want to regain control. TI-Navigator uses it like this.
Example
Jump to ClrLCDFull and end execution (on OS 1.12 from a RAM program):
ld hl,dataPtr push hl B_JUMP OffPageJump dataPtr: .dw 5A71h ;these are specific to OS 1.12 .db 01h