FF7/Field/Script/Opcodes/79 MINUS2!
From Final Fantasy Inside
- 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. Oddly enough 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.