comparison docs/manual.docbook.sgml @ 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 d90ab253471e
children a26b045c4e18
comparison
equal deleted inserted replaced
142:697bc543368c 143:42a7a16a058f
112 112
113 </para> 113 </para>
114 114
115 <para> 115 <para>
116 116
117 It is also critical to understand that unlike many OS9 assemblers, LWASM 117 As of version 4.5, LWASM also implements the standard data/code address
118 does NOT maintain a separate data address counter. Thus, you must define 118 streams for OS9 modules. That means that between MOD and EMOD, any RMB,
119 all your data offsets and so on outside of the mod/emod segment. It is, 119 RMD, RMQ, or equivalent directives will move the data address ahead and
120 therefore, likely that source code targeted at other assemblers will require 120 leave the code address unmodified. Outside of an actual module, both the
121 edits to build correctly. 121 code and data addresses are moved ahead equally. That last bit is critical
122 122 to understand because it means any directives that follow an EMOD directive
123 may have different results than other assemblers.
124
125 </para>
126 <para>
127
128 Additionally, within a module body, the ORG directive sets only the data
129 address, not the code address. However, outside a module body, ORG sets both
130 addresses.
131
132 </para>
133
134 <para>
135 Both code and data addresses are reset to 0 by the MOD directive.
123 </para> 136 </para>
124 137
125 <para> 138 <para>
126 139
127 LWLINK does not, yet, have the ability to create OS9 modules from object 140 LWLINK does not, yet, have the ability to create OS9 modules from object