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

From QhimmWiki
Jump to navigation Jump to search
Qhimm>Synergy Blades
ffrtt>BukTop
m (9 revisions imported)
 
(15 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 04: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.