Crystal Beans from Dungeon Explorer/Switch Functions

From Data Crystal
< Crystal Beans from Dungeon Explorer
Revision as of 20:01, 21 January 2012 by Neige (talk | contribs) (Created page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Overview

The ShortSwitch() (at 0x0089CF) and LongSwitch() (at 0x0089E9) functions are used to simulate the switch statement in C for the objects subtype.

They both work the same way excepted that the ShortSwitch() function uses 16-bits pointers to jump to the destination and the LongSwitch() function uses 24-bits pointers.

These function do not return to the instruction following their call but rather to the instruction following the calling function.

Example

CALL SomeFunction
; ShortSwitch will return here after jumping to its target
.
.
.
SomeFunction:
  CALL ShortSwitch
.DW Case00, Case01