2
edits
m (Text replacement - "</source>" to "</syntaxhighlight>") |
(Updated `lea` bytes) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 412: | Line 412: | ||
;<nowiki>op 0x46: calle W script, W dispindex, B framesize ( | ;<nowiki>op 0x46: calle W script, W dispindex, B framesize (6 bytes)</nowiki> | ||
;<nowiki>op 0x47: calle B script, B dispindex, B framesize (4 bytes)</nowiki> | ;<nowiki>op 0x47: calle B script, B dispindex, B framesize (4 bytes)</nowiki> | ||
:Call external script | :Call external script | ||
Line 487: | Line 487: | ||
;<nowiki>op 0x5a: lea W type, W index ( bytes)</nowiki> | ;<nowiki>op 0x5a: lea W type, W index (5 bytes)</nowiki> | ||
;<nowiki>op 0x5b: lea B type, B index ( bytes)</nowiki> | ;<nowiki>op 0x5b: lea B type, B index (3 bytes)</nowiki> | ||
:Load Effective Address | :Load Effective Address | ||
:The variable type is a bit-field used as follows: | :The variable type is a bit-field used as follows: | ||
Line 504: | Line 504: | ||
::set if the accumulator is to be used as additional index | ::set if the accumulator is to be used as additional index | ||
:::Because it is so hard to explain, I have made a transcription of it here: | :::Because it is so hard to explain, I have made a transcription of it here: | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="c"> | ||
short *vars[4]; | short *vars[4]; | ||
Line 511: | Line 511: | ||
int lea(int vt, int vi) | int lea(int vt, int vi) | ||
{ | { | ||
return &((vars[(vt >> 1) & | return &((vars[(vt >> 1) & 3])[vt & 0x10 ? vi+acc : vi]); | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |
edits