AnsweredAssumed Answered

Storing 40-Bit data in internal memory

Question asked by ChristianH on May 27, 2014
Latest reply on May 27, 2014 by ChristianH



I've read several sheets of the manual and also examples on using the IMDW bits but finally I didn't come to a satisfying answer.

To be sure I do not miss anything I'd like to raise this question here.


I do algorithms in blocks, each block gets input and output buffers in internal memory.

So I do a 40-Bit accurate floating point calculation with the F0-F15/SF0-SF15 registers and I want to keep that 40-Bit result for the next algorithm block. At the moment my memory is normal word with 32-Bit (simplifies also the SIMD issue with 40-Bit, but that can be solved).


I've tried an example from the EZ:

.SECTION/pm seg_pmda;

.var data1[1];


i0=data1;m0=0; px2=0x12345678; px1=0x9A000000; r1=px;


USTAT1 = dm(SYSCTL); bit set USTAT1 IMDW2; dm(SYSCTL) = USTAT1;


dm(i0,m0)=r1; r0=dm(i0,m0);


Block 2 is defined as 48-Bit wide "seg_pmda" area.

Using the simulator the memory shows me left aligned 0x123456789A00, r0 shows me 0x56789A0000.

That is not what I expected.


Can someone help me here?