Converting between Word and Byte Array

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Converting between Word and Byte Array

Lars Wassermann
Hello,
I'm at the moment working with ARM code, and the most convenient way to
create memory chunks with instructions is word wise, by creating
WordArray instances.
But for some primitives, it would be better to have ByteArrays, because
all pointers are byte-offsets. So borders have to be multiplied by 4,
etc. Is there a convenient way to create one from the other?
The 'asByteArray' or 'ByteArray newFrom:' both don't do the job.
Thank you,
Lars
_______________________________________________
VM-beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners
Reply | Threaded
Open this post in threaded view
|

Re: Converting between Word and Byte Array

Bert Freudenberg
On 11.07.2012, at 11:39, Lars wrote:

> Hello,
> I'm at the moment working with ARM code, and the most convenient way to create memory chunks with instructions is word wise, by creating WordArray instances.
> But for some primitives, it would be better to have ByteArrays, because all pointers are byte-offsets. So borders have to be multiplied by 4, etc. Is there a convenient way to create one from the other?
> The 'asByteArray' or 'ByteArray newFrom:' both don't do the job.

Yes there is, in class Bitmap. A Bitmap is just a WordArray, but it provides conversion to/from ByteArrays:

| bitmap bytes words |
bitmap := Bitmap with: 16r80402010.
bytes := bitmap asByteArray.
words := (Bitmap new: bytes size // 4) copyFromByteArray: bytes.
bytes -> words first hex

- Bert -


_______________________________________________
VM-beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners