× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: Re: DS alignment (was RE: Prototyping printf())
  • From: bmorris@xxxxxxxxxx
  • Date: Wed, 11 Oct 2000 12:51:57 -0400
  • Importance: Normal


>Date: Tue, 10 Oct 2000 10:47:09 -0400
>From: Jon.Paris@hal.it
>
> >> The ALIGN keyword insures that float, signed, and unsigned integers
are
>aligned on the appropriate boundaries
>
>I'll have to leave it to Barbara or Hans to confirm but I believe that a
DS
>will always be 16 byte aligned.  Try coding a DS where the first field is
a
>single character and the second is a pointer and if the compiler generates
>a 15 byte "filler" the you know it is assuming that the DS was on a
>boundary.

Jon, you're partly right.  The whole DS is aligned according to the
largest required alignment, so if you have a pointer, the whole DS
will indeed be 16-byte aligned.  But if you only have a 4-byte int, the
DS will be 4-byte aligned.

Try an aligned multiple occurrence DS with a 10i 0 followed by a 1a.  The
occurrences will be further apart than 5 because of alignment.  To see the
actual distance between occurrences, divide %size(ds:*all) by the number
of occurrences (a different answer from %size(ds)).

All that's guaranteed is the minimum alignment.

Barbara Morris

+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.