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.
 
+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>>.