Difference between revisions of "FF7/Field/Script/Opcodes/77 PLUS2!"
Jump to navigation
Jump to search
my_wiki>Halkun |
my_wiki>Halkun (→Memory layout) |
||
Line 5: | Line 5: | ||
==== Memory layout ==== | ==== Memory layout ==== | ||
{| border="1" cellspacing="1" cellpadding="3" style="border: 1px solid black; border-collapse: collapse;" | {| border="1" cellspacing="1" cellpadding="3" style="border: 1px solid black; border-collapse: collapse;" | ||
− | ! width="40" | | + | ! width="40" | 0x77 |
! width="40" | ''D/S'' | ! width="40" | ''D/S'' | ||
! width="40" | ''Dest'' | ! width="40" | ''Dest'' |
Revision as of 01:39, 3 September 2006
- Opcode: 0x77
- Short name: PLUS2!
- Long name: Saturated Addition (16-bit)
Memory layout
0x77 | D/S | Dest | Oper |
---|
Arguments
- const Bit[4] D: Destination bank
- const Bit[4] S: Source bank
- const UByte Dest: The destination variable, to which the operand is added.
- const SWord Oper: The operand, added to the destination.
Description
Adds two numbers together and stores the result back into "Dest" The result of the addition is capped at 32767. Oddly enough the result is not capped at the negative end, -32768, so adding two large negative numbers together will still produce wrap-around. If the Source Bank is 0 then the “Oper†is added to the destination value. If the Source Bank is an 16 bit bank, then the “Oper†is the address in that bank where the operand is.