Difference between revisions of "FF7/Field/Script/Opcodes/17 IFSWL"

From Final Fantasy Inside
< FF7‎ | Field‎ | Script‎ | Opcodes
Jump to navigation Jump to search
my_wiki>Synergy Blades
my_wiki>Synergy Blades
m (box size)
Line 7: Line 7:
 
! width="40" | 0x17
 
! width="40" | 0x17
 
! width="50" | ''B1 / B2''
 
! width="50" | ''B1 / B2''
! width="40" | ''A''
+
! width="80" | ''A''
! width="40" | ''V''
+
! width="80" | ''V''
 
! width="40" | ''C''
 
! width="40" | ''C''
! width="40" | ''E''
+
! width="80" | ''E''
 
|}
 
|}
  
Line 18: Line 18:
 
* '''const Bit[4]''' ''B2'': Second memory bank to access.
 
* '''const Bit[4]''' ''B2'': Second memory bank to access.
 
* '''const UShort''' ''A'': Address, from the first bank, of the value to retrieve.
 
* '''const UShort''' ''A'': Address, from the first bank, of the value to retrieve.
* '''const Short''' ''V'': Unsigned value to compare the retrieved value to, or address from the second bank of the value to retrieve.
+
* '''const Short''' ''V'': Unsigned value to compare the retrieved value to, or address from the second bank of the value to retrieve, if ''B2'' is non-zero.
 
* '''const UByte''' ''C'': Type of comparison to perform.
 
* '''const UByte''' ''C'': Type of comparison to perform.
 
* '''const UShort''' ''E'': Amount to jump if the comparison does not hold.
 
* '''const UShort''' ''E'': Amount to jump if the comparison does not hold.

Revision as of 17:43, 14 September 2006

  • Opcode: 0x17
  • Short name: IFSWL
  • Long name: If (Signed Word, Long Jump)

Memory layout

0x17 B1 / B2 A V C E

Arguments

  • const Bit[4] B1: First memory bank to access.
  • const Bit[4] B2: Second memory bank to access.
  • const UShort A: Address, from the first bank, of the value to retrieve.
  • const Short V: Unsigned value to compare the retrieved value to, or address from the second bank of the value to retrieve, if B2 is non-zero.
  • const UByte C: Type of comparison to perform.
  • const UShort E: Amount to jump if the comparison does not hold.

Description

This is similar to the IFSW opcode in allowing the comparison value to be negative, but in addition, allows the jump on comparison failure to be longer than 0xFF bytes.