This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

i'm totally confused by dsz bits in compact insnstruction format

hi,

can you guys help me please?

i'm reading the "TMS320C64x/C64x+ DSP CPU and Instruction Set Reference Guide", and when i read section about

dsz bits on specifying LD/ST data size selection, i'm totally confused. What the  primary/secondary data sizes all about?

And take the dinc instuction set as a example, there's couple of the same instruction here with different encodes:

DSZ
sz
ld/st Mnemonic
0 x x 0 0 STW (.unit) src, *ptr[ucst2]++
0 x x 0 1 LDW (.unit) *ptr[ucst2]++, dst
0 0 0 1 0 STB (.unit) src, *ptr[ucst2]++
0 0 0 1 1 LDBU (.unit) *ptr[ucst2]++, dst
0 0 1 1 0 STB (.unit) src, *ptr[ucst2]++
0 0 1 1 1 LDB (.unit) *ptr[ucst2]++, dst
0 1 0 1 0 STH (.unit) src, *ptr[ucst2]++
0 1 0 1 1 LDHU (.unit) *ptr[ucst2]++, dst
0 1 1 1 0 STH (.unit) src, *ptr[ucst2]++
0 1 1 1 1 LDH (.unit) *ptr[ucst2]++, dst
1 0 0 1 0 STW (.unit) src, *ptr[ucst2]++
1 0 0 1 1 LDW (.unit) *ptr[ucst2]++, dst
1 0 1 1 0 STB (.unit) src, *ptr[ucst2]++
1 0 1 1 1 LDB (.unit) *ptr[ucst2]++, dst
1 1 0 1 0 STNW (.unit) src, *ptr[ucst2]++
1 1 0 1 1 LDNW (.unit) *ptr[ucst2]++, dst
1 1 1 1 0 STH (.unit) src, *ptr[ucst2]++
1 1 1 1 1 LDH (.unit) *ptr[ucst2]++, dst

So, can someone help me out please? really appreciate it