× 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.



It better not work and whether it works or not better not have anything to
do with alignment.  The generated machine code had better copy the tag bits
when using the CPYPTR MI instructions and the generated machine code had
better _not_ copy the tag bits for other copy instructions.  If that could
work, then the MI-defined virtual machine does not conform to the real
machine and the entire foundation of TIMI is called into question.  Do you
agree?

Richard Jackson
mailto:richardjackson@richardjackson.net
http://www.richardjacksonltd.com
Voice: 1 (303) 808-8058
Fax:   1 (303) 663-4325

-|-----Original Message-----
-|From: owner-rpg400-l@midrange.com [mailto:owner-rpg400-l@midrange.com]On
-|Behalf Of bmorris@ca.ibm.com
-|Sent: Friday, September 29, 2000 7:55 AM
-|To: RPG400-L@midrange.com
-|Subject: Re[2]: Prototyping printf()
-|
-|
-|
-|>Date: Thu, 28 Sep 2000 19:41:40 -0700
-|>From: "Eric N. Wilson" <doulos1@home.com>
-|>
-|>> Not very close either.  A pointer could be turned into a
-|string, but the
-|>> AS/400 isn't going to let you turn a string back into a valid pointer;
-|so it
-|>> wouldn't be able to be used.
-|>
-|>Ah I beg to differ with you. Try this, declare a data structure and
-|>make it have one sub field of a pointer data type. Then make a second
-|>data structure just like the first. Then assign the address of the
-|>pointer in the first data structure to your favorite variable. Then
-|>eval DS2 = DS1 and low and behold the pointer in DS2 is valid :-)
-|
-|Eric, what you are doing is copying one data structure containing a
-|pointer to another data structure containing a pointer.  This is not
-|the same as turning a string containing the hex value of a pointer
-|back into a pointer.  An AS/400 pointer is more than just the 16 bytes
-|holding its hex value - its "pointerness" is also dependent on a bit
-|being set "somewhere else".
-|
-|Try this:
-|
-|D charfld         S             16a
-|D ds              DS
-|D   pointer                       *
-|
-|C          eval       pointer = %addr(x)
-|C          eval       charfld = ds
-|C          eval       ds = charfld
-|
-|Now test "pointer".  It won't be valid.
-|
-|(Actually, there is no guarantee that this will fail, but there
-|is also no guarantee that it will work.  It may depend on the
-|alignment of charfld, and on the way RPG chooses to copy the
-|data on the evals.)
-|
-|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
-|+---

+---
| 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 ...

Replies:

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.