Difference between revisions of "FF7/Field/Script/Opcodes/18 IFUW"

From Final Fantasy Inside
< FF7‎ | Field‎ | Script‎ | Opcodes
Jump to navigation Jump to search
my_wiki>Synergy Blades
 
m (5 revisions imported)
 
(4 intermediate revisions by 2 users not shown)
Line 6: Line 6:
 
{| 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" | 0x18
 
! width="40" | 0x18
! width="40" | ''B''
+
! 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="40" | ''E''
Line 15: Line 15:
 
==== Arguments ====
 
==== Arguments ====
  
* '''const UByte''' ''B'': Memory bank to access.
+
* '''const Bit[4]''' ''B1'': First memory bank to access.
* '''const UShort''' ''A'': Address of the value to retrieve.
+
* '''const Bit[4]''' ''B2'': Second memory bank to access.
* '''const UShort''' ''V'': Unsigned value to compare the retrieved value to.
+
* '''const UShort''' ''A'': Address, from the first bank, of the value to retrieve.
 +
* '''const UShort''' ''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 UByte''' ''E'': Amount to jump if the comparison does not hold.
 
* '''const UByte''' ''E'': Amount to jump if the comparison does not hold.
Line 23: Line 24:
 
==== Description ====
 
==== Description ====
  
This is similar to the [[FF7/Field/Script/Opcodes/14 IFUB|IFUB]] opcode, but it allows both address and value to be larger than 0xFF.
+
This is similar to the [[FF7/Field/Script/Opcodes/14 IFUB|IFUB]] opcode, but it allows the value to be larger than 0xFF.

Latest revision as of 05:16, 23 May 2019

  • Opcode: 0x18
  • Short name: IFUW
  • Long name: If (Unsigned Word)

Memory layout

0x18 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 UShort 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 E: Amount to jump if the comparison does not hold.

Description

This is similar to the IFUB opcode, but it allows the value to be larger than 0xFF.