|
Barbara, Last October, Midrange Computing ran an article titled "Put it in Storage". The code in that article describes using user spaces and user indexes to store data. One feature is an align procedure that ensures a pointer type variable is on a 16 byte boundary. Subprocedure AlnOff in the file fig6_stgtkt.txt adjusts an offset to a boundary. I rely on this code extensively and have not had any problems. The only assumption is that a User Space is aligned. If this assumption is incorrect, at least everything is going through a single interface. You can get the source at: http://www.midrangecomputing.com/ftp/prog/99/991004.zip David Morris >>> bmorris@ca.ibm.com 10/10/00 07:27AM >>> >Date: Fri, 6 Oct 2000 14:42:24 -0400 >From: Jon.Paris@hal.it > >I believe that a DS is always 16 byte aligned, and even if not the use of >the ALIGN keyword would do the job for you. John, the ALIGN keyword doesn't force 16-byte alignment. It just forces integer and float types to be correctly aligned. A 4F would cause the DS to be at least 4-byte aligned; a 20i would cause the DS to be at least 8-byte aligned. Only the presence of a pointer forces a 16-byte alignment (whether or not you have ALIGN coded). Even if a DS is always currently 16-byte aligned (is it?), it's not a documented feature, and shouldn't be counted on. 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 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.