Oppolzer - Informatik / Blog


Blog-Hauptseite      Neuester Artikel      Älterer Artikel      Neuerer Artikel      Älterer gleiche Kategorie      Neuerer gleiche Kategorie

IBM-MAIN - 64-bit-Probleme

Subject:

Re: How declare in C++ a constant in an assembler module?

From:

Bernd Oppolzer <bernd.oppolzer@T-ONLINE.DE>

Reply-To:

IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU>

Date:

2014.11.22 20:19:39


Until today, PL/1 does not support 64 bit (addressing mode), so this discussion comes too early.
As already mentioned, the types that have explicit bit numbers like BIN FIXED (15),
BIN FIXED (31) or BIN FIXED (63) - which exists already - and the UNSIGNED variants,
as - for example - BIN FIXED (64) UNSIGNED, have no problem.

What really would be a problem for a 64 bit exploiting PL/1 compiler:
all PTR variables would suddenly need 8 bytes, and that would break most of
the current structure definitions etc., because much code implicitely assumes
that the pointers need 4 bytes. This is exactly the same problem that we faced
when we first migrated our insurance math package to a 64 bit Linux.

Another problem, when doing this migration, was, that all long declarations
(which were 4 bytes until this time) had to be changed to int, because long
now was 8 bytes, too, which was a big problem for us. This problem would
not have occured with the PL/1 notation BIN FIXED (31). So I am not sure,
what is better in this case.

(similar problem some 20 years ago, when int was 16 bit on PC platform,
so we had to code long back then, to get 31 bit on all platforms ...
PCs, Unix, z/OS ... which was OS/390 then).

Kind regards

Bernd



Am 20.11.2014 18:26, schrieb P.G.:
> On Thu, 20 Nov 2014 11:32:22 -0500, T.H. wrote:
>> Why would you have to/want to change the declarations? Specify the
>> size needed for your application data, and let the compiler figure out
>> what to do internally. Of course if you're doing something bizarre
>> like UNSPECing a pointer value into a FIXED BIN (31)...
>>
> Especially if it's a pointer to above-the-bar storage.
>
> Are there separate 24-bit, 31-bit, and 64-bit pointer types?
>
> -- gil
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to listserv@listserv.ua.edu with the message: INFO IBM-MAIN
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to listserv@listserv.ua.edu with the message: INFO IBM-MAIN

Blog-Hauptseite      Neuester Artikel      Älterer Artikel      Neuerer Artikel      Älterer gleiche Kategorie      Neuerer gleiche Kategorie