Difference between revisions of "FF7/Field/Script/Opcodes/15 IFUBL"

From Final Fantasy Inside
< FF7‎ | Field‎ | Script‎ | Opcodes
Jump to navigation Jump to search
my_wiki>Synergy Blades
 
m (9 revisions imported)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
* Opcode: '''0x14'''
+
* Opcode: '''0x15'''
 
* Short name: '''IFUBL'''
 
* Short name: '''IFUBL'''
 
* Long name: If (Unsigned Byte, Long Jump)
 
* Long name: If (Unsigned Byte, Long Jump)
Line 5: Line 5:
 
==== Memory layout ====
 
==== Memory layout ====
 
{| 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" | 0x14
+
! width="40" | 0x15
! width="40" | ''B''
+
! width="50" | ''B1 / B2''
 
! width="40" | ''A''
 
! width="40" | ''A''
 
! width="40" | ''V''
 
! width="40" | ''V''
 
! width="40" | ''C''
 
! width="40" | ''C''
! width="40" | ''E''
+
! width="80" | ''E''
 
|}
 
|}
  
 
==== Arguments ====
 
==== Arguments ====
  
* '''const UByte''' ''B'': Memory bank to access.
+
* '''const Bit[4]''' ''B1'': First memory bank to access.
* '''const UByte''' ''A'': Address of the value to retrieve.
+
* '''const Bit[4]''' ''B2'': Second memory bank to access.
* '''const UByte''' ''V'': Unsigned value to compare the retrieved value to.
+
* '''const UByte''' ''A'': Address, from the first bank, of the value to retrieve.
 +
* '''const UByte''' ''V'': Unsigned value to compare the retrieved value to, or address from the second bank of the value to retrieve.
 
* '''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.
Line 23: Line 24:
 
==== Description ====
 
==== Description ====
  
This is similar to the [[FF7/Field/Script/Opcodes/14 IFUB|IFUB]] opcode, but it allows a jump of more than 0xFF if the comparison does not hold. Use this opcode if the 'if' block will also be longer than 0xFF.
+
This is similar to the [[FF7/Field/Script/Opcodes/14 IFUB|IFUB]] opcode, but it allows a jump of more than 0xFF if the comparison does not hold. This opcode is used if the 'if' block will be longer than 0xFF.

Latest revision as of 05:16, 23 May 2019

  • Opcode: 0x15
  • Short name: IFUBL
  • Long name: If (Unsigned Byte, Long Jump)

Memory layout

0x15 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 UByte A: Address, from the first bank, of the value to retrieve.
  • const UByte V: Unsigned value to compare the retrieved value to, or address from the second bank of the value to retrieve.
  • 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 IFUB opcode, but it allows a jump of more than 0xFF if the comparison does not hold. This opcode is used if the 'if' block will be longer than 0xFF.