standardized call-out blocks
[rrq/rrqforth.git] / adoc / p_1branch.adoc
index 0483d007675b34f32953b604d7119df78480f13f..8d1b7ca9b690e0dfc5a3183514466d7df563906a 100644 (file)
@@ -14,3 +14,12 @@ the point of execution. If the value, v, is non-zero then the branch
 offset is added, and otherwise execution continues with the cell
 following the branch offset in the definition.
 
 offset 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 zero value.
+
+See also <<p_0branch,0BRANCH>>, <<p_branch,BRANCH>>, <<p_if,IF>>,
+<<p_else,ELSE>>, <<p_ifbreak,IFBREAK>> and <<p_ifagain,IFAGAIN>>.