1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Style-Type" content="text/css" /> 6 <link rel="stylesheet" href="../css/manpage.css" type="text/css" /> 7 <link rel="stylesheet" href="../css/timetable.css" type="text/css" /> 8 <title>jpb - Boolean jump</title> 9 </head> 10 <body> 11 <h1>jpb - Boolean jump</h1> 12 13 <h2>Calling Format</h2> 14 <div class="section"> 15 <pre class="definition"> 16jpb src, value, label 17</pre> 18 </div> 19 20 <h2>Operands</h2> 21 <div class="section"> 22 <table class="arguments"> 23 <thead> 24 <tr> 25 <th>Name</th> 26 <td>Description</td> 27 </tr> 28 </thead> 29 <tr> 30 <th><CODE>src</CODE></th> 31 <td> 32 A Boolean register.<br> 33 </td> 34 </tr> 35 <tr> 36 <th>value</th> 37 <td> 38 <CODE>true</CODE> or <CODE>false</CODE>.<br> 39 </td> 40 </tr> 41 <tr> 42 <th>label</th> 43 <td> 44 Label name.<br> 45 </td> 46 </tr> 47 </table> 48 </div> 49 50 <h2>Overview</h2> 51 <div class="section"> 52 <p> 53 Causes control to jump to the address of the specified label name when the contents of the Boolean register specified by <SPAN class="argument">src</SPAN> match the value specified by <SPAN class="argument">value</SPAN>.<br> Unlike the <CODE>call</CODE> instruction, control does not return at a <CODE>ret</CODE> instruction. Also, you can specify labels for which <CODE>ret</CODE> instructions have not been set.<br> 54 </p> 55 <p class="notice"> 56 An error will result if you jump to an external location from within an <CODE>if</CODE> or <CODE>loop</CODE> block, or jump from an external location into an <CODE>if</CODE> or <CODE>loop</CODE> block.<br> An error also will result if you call this instruction immediately prior to an <CODE>else</CODE>, <CODE>endif</CODE>, <CODE>endloop</CODE>, or <CODE>ret</CODE> instruction.<br> Behavior is undefined if you jump to an external location from between the <CODE>main</CODE> and <CODE>endmain</CODE> labels, or from within subroutines.<br> In the same way, jumping to a <CODE>ret</CODE> instruction within a subroutine also results in undefined behavior.<br> Jumping to an <CODE>else</CODE>, <CODE>endif</CODE>, or <CODE>endloop</CODE> instruction has the same effect as jumping to the instruction immediately following that instruction.<br> 57 </p> 58 </div> 59 60 <h2>Operation</h2> 61 <div class="section"> 62<pre class="definition"> 63if ( src == value ) 64 jump to label 65</pre> 66 </div> 67 68 <h2>Code Example</h2> 69 <div class="section"> 70<pre class="definition"> 71jpb b0, true, subfunction0 72jpb b1, false, subfunction0 73 74subfunction0: 75.. 76</pre> 77 </div> 78 79 80 <h2>Revision History</h2> 81 <div class="section"> 82 <dl class="history"> 83 <dt>2011/12/20</dt> 84 <dd>Initial version.<br /> 85 </dd> 86 </dl> 87 </div> 88 89 <hr><p>CONFIDENTIAL</p></body> 90</html>