Difference between revisions of "FF7/Field/Script/Opcodes/79 MINUS2!"
Jump to navigation
Jump to search
my_wiki>Synergy Blades m |
my_wiki>Synergy Blades m |
||
Line 8: | Line 8: | ||
! width="40" | ''D/S'' | ! width="40" | ''D/S'' | ||
! width="40" | ''Dest'' | ! width="40" | ''Dest'' | ||
− | ! width=" | + | ! width="80" | ''Oper'' |
|} | |} | ||
Revision as of 20:12, 6 October 2006
- Opcode: 0x79
- Short name: MINUS2!
- Long name: Saturated Subtraction (16-bit)
Memory layout
0x79 | 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 subtracted.
- const SWord Oper: The operand to be subtracted from the destination.
Description
Subtracts "Oper" from "Dest" and stores the result back into "Dest". The result of the subtraction is capped at -32768. The result is not capped at the positive end (32767), so subtracting a large negative number from a large positive number will still produce wrap-around. If the Source Bank is 0 then the “Oper†is subtracted from 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.