Difference between revisions of "Crystal Beans From Dungeon Explorer:Switch Functions"

From Data Crystal
Jump to: navigation, search
m
m
Line 1: Line 1:
 
{{subpage|game=Crystal_Beans From Dungeon Explorer:ROM map}}
 
{{subpage|game=Crystal_Beans From Dungeon Explorer:ROM map}}
 
==Overview==
 
==Overview==
The '''ShortSwitch()''' (at 0x0089CF) and '''LongSwitch()''' (at <tt>0x0089E9</tt>) functions are used to simulate the ''switch'' statement in C for the objects subtype.
+
The '''ShortSwitch()''' (at <tt>0x0089CF</tt>) and '''LongSwitch()''' (at <tt>0x0089E9</tt>) 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.
 
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.

Revision as of 00:48, 9 June 2016

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