On Dec 20, 2007, at 11:07 AM, Brian Stevens wrote: > > On Dec 19, 2007, at 9:07 PM, Joe Lertola wrote: > >> adr.4! = value >> 'blockmove @value, adr, 4 <==========moves from offset zero of >> value to offset zero of adr > > > RP wrote: > adr.4! = value // faster than: BlockMoveData( @value, adr + 4, 4 ) > <===== moves from offset zero of value to offset 4 of adr -----very > different > > > Joe, > > Your blockmove moves 4 bytes of data starting at offset zero of > value and targets offset zero of adr > > RP's BlockMoveData example moves 4 bytes into offset 4 of adr. Both > the BlockMoveData and pointer dereference (adr.4!) do the same > thing, but the key here is to move the data to the correct location. > I haven't looked at any of the examples in depth that you and RP > have posted, but I noticed this difference. Try to use the > dereference, it is MUCH quicker in this case. If you want offset > zero then adr.0! = value is the code. > > BTW: when you get a full working demo, please post. thanks.... > > Brian S. Oh. I was mistakenly thinking that the ".4" had the meaning of move 4 bytes to location adr. Now I get that it means move sizeof(singleSizeVariable) to location adr + 4. Thanks, -Joe