Data alignment  ....




When the Processor accesses Memory, if the targeted Data are not aligned on their own boundary, it then has to perform 2 Memory accesses instead of one.


For beginners, aligned on their own boundary, means that a Word begins on a paired Address. Example:


At Address 0600301 >>> Word/dWord are not aligned.


At Address 0600302 >>> Word is aligned but dWord is not aligned.


At Address 0600304 >>> Word/dWord are aligned.


Each time you open a new square bracket for Data, RosAsm, by default, does the alignment job for you, so that, if you take care of writing your Data in decreasing size order inside one given Bracket set, all your Data are always properly aligned. To prevent RosAsm from doing this alignment, see Data_Management.


As a general rule, I  am not much of a  fanatic of optimizations, but this one is so simple and so important that it seems to me useful to implement it directly as a Data Encoder default behaviour.


~~~~~~~