FF7/Field/Script/Opcodes/79 MINUS2!
< FF7 | Field | Script | Opcodes
Jump to navigation
Jump to search
Revision as of 12:34, 4 April 2018 by my_wiki>BukTop (4 revisions imported)
- 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.