standardized call-out blocks
[rrq/rrqforth.git] / adoc / p_0branch.adoc
index a11ec49756110c3864c4818121f8690c0c10dffe..6488d62ab6c305c4c421abd782609db3eaeab75a 100644 (file)
@@ -14,3 +14,13 @@ the point of execution. If the value, v, is 0 then the branch offset
 is added, and otherwise execution continues with the cell following
 the branch offset in the definition.
 
 is added, and otherwise execution continues with the cell following
 the branch offset in the definition.
 
+Note that the branch offset is a byte count and each FORTH word of a
+definition take up a cell of 8 bytes. The offset is relative to the
+cell address immediately subsequent to the offset cell. In other
+words, offset 0 is not branching anywhere and an offset of -16 would
+make a tight loop back to the branch instruction itself. The latter
+would pull data stack values until and including the first non-zero
+value.
+
+See also <<p_1branch,1BRANCH>>, <<p_branch,BRANCH>>, <<p_if,IF>>,
+<<p_else,ELSE>>, <<p_ifbreak,IFBREAK>> and <<p_ifagain,IFAGAIN>>.