changeset 143:42a7a16a058f

Documented the addition of data/code address streams for OS9 modules.
author lost@l-w.ca
date Sat, 20 Aug 2011 00:02:55 -0600
parents 697bc543368c
children 86d097dceebc
files docs/manual.docbook.sgml
diffstat 1 files changed, 18 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/docs/manual.docbook.sgml	Fri Aug 19 23:55:40 2011 -0600
+++ b/docs/manual.docbook.sgml	Sat Aug 20 00:02:55 2011 -0600
@@ -114,13 +114,26 @@
 
 <para>
 
-It is also critical to understand that unlike many OS9 assemblers, LWASM
-does NOT maintain a separate data address counter.  Thus, you must define
-all your data offsets and so on outside of the mod/emod segment.  It is,
-therefore, likely that source code targeted at other assemblers will require
-edits to build correctly.
+As of version 4.5, LWASM also implements the standard data/code address
+streams for OS9 modules.  That means that between MOD and EMOD, any RMB,
+RMD, RMQ, or equivalent directives will move the data address ahead and
+leave the code address unmodified.  Outside of an actual module, both the
+code and data addresses are moved ahead equally.  That last bit is critical
+to understand because it means any directives that follow an EMOD directive
+may have different results than other assemblers.
 
 </para>
+<para>
+
+Additionally, within a module body, the ORG directive sets only the data
+address, not the code address. However, outside a module body, ORG sets both
+addresses.
+
+</para>
+
+<para>
+Both code and data addresses are reset to 0 by the MOD directive.
+</para>
 
 <para>