comp.lang.ada
 help / color / mirror / Atom feed
From: Dave Poirier <instinc@users.sf.net>
Subject: 64bit access to an array of 8bit values
Date: Sun, 03 Mar 2002 09:58:34 -0500
Date: 2002-03-03T09:58:34-05:00	[thread overview]
Message-ID: <3C823A1A.6030006@users.sf.net> (raw)

I'm trying to modelize a small virtual machine, and I'm stuck on the 
memory model.  I'm defining the memory as an array of 8bit values, so 
that I am able to access every byte individually.  The problem comes 
when I try to access them with other data size, like 16/32/64bit.  GNAT 
simply refuses to do the pointer conversion (yeah, probably a bad habit).

So, what would be a "clean" way to do it?  here's what I tried

------
procedure test is
   type Bit8 is mod 2**8;
   type Bit64 is mod 2**64;
   type Bit8Acc is access Bit8;
   type Bit64Acc is access Bit64;

   type RamRange is range 0 .. 4000;

   Ram : array (RamRange) of aliased Bit8;
   Value : Bit64Acc;

begin
   Value := Ram(0)'Access;
end test;
------

test.adb:14:18: expected type "Bit64Acc" defined at line 6
test.adb:14:18: found type access to "bit8" defined at line 14

and also..
------
procedure test is
   type Bit8 is mod 2**8;
   type Bit64 is mod 2**64;
   type Bit8Acc is access all Bit8;
   type Bit64Acc is access all Bit64;

   type RamRange is range 0 .. 4000;

   Ram : array (RamRange) of aliased Bit8;
   Value : Bit64Acc;

begin
   Value := Bit64Acc(Ram(0)'Access);
end test;
------

test.adb:14:12: argument of conversion cannot be access
test.adb:14:12: use qualified expression instead

I'm just a smooth skinned Ada95 newbie, so don't get too big weapons to 
send replies ;)

Thanks for helping me learn :)
EKS - Dave Poirier




             reply	other threads:[~2002-03-03 14:58 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-03 14:58 Dave Poirier [this message]
2002-03-03 15:38 ` 64bit access to an array of 8bit values Jim Rogers
2002-03-03 18:02 ` John R. Strohm
2002-03-03 16:39   ` Dave Poirier
2002-03-03 17:27   ` Jeffrey Creem
2002-03-05 20:49     ` John R. Strohm
2002-03-05 23:52       ` Jeffrey Creem
2002-03-06  7:30         ` John R. Strohm
2002-03-06 11:50           ` Jeffrey Creem
2002-03-07 20:03             ` John R. Strohm
2002-03-04 10:29   ` Robert Dewar
2002-03-04 13:02     ` Larry Kilgallen
2002-03-04 13:41       ` Dave Poirier
2002-03-03 22:24 ` David C. Hoos, Sr.
2002-03-03 22:51   ` Dave Poirier
2002-03-04  2:40     ` David C. Hoos, Sr.
2002-03-04  4:08     ` David Starner
2002-03-04 10:31   ` Robert Dewar
2002-03-04 18:00   ` Warren W. Gay VE3WWG
2002-03-04  3:15 ` Pat Rogers
2002-03-04  7:23 ` Jeffrey Carter
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox