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.
Hello all,
I'm trying to port some assembly running on a Piccolo 069 to a Delfino 379 using the same version of the compiler tools, ( v15.12.2LTS) on CCS 6.1.0
I've isolated the problem with the following sample code:
B_3 .set 0008h ; Bit Mask to set bit 3
B_2 .set 0004h ; Bit Mask to set bit 2
B_1 .set 0002h ; Bit Mask to set bit 1
B_0 .set 0001h ; Bit Mask to set bit 0
B4 .set 0010h ; Bit Mask to set bit 4
B3 .set 0008h ; Bit Mask to set bit 3 ERROR ON THIS LINE
B2 .set 0004h ; Bit Mask to set bit 2 ERROR ON THIS LINE
B1 .set 0002h ; Bit Mask to set bit 1 ERROR ON THIS LINE
B0 .set 0001h ; Bit Mask to set bit 0 ERROR ON THIS LINE
.def _Sample_code
.text
.c28_amode
_Sample_code:
SETC SXM ;
MOV AH, AL
SUB AH, *+XAR4[6] ;
MOV *+XAR4[6], AL ;
MOV ACC, AH<<16 ;
LRETR
When I assemble the file for the 069, it compiles without a problem.
When I assemble the file for the 379, I get eight errors, two each for the lines indicated above.
The errors I get are:
1) Invalid mnemonic specification
2) Only labels and comments may begin in the first column. Make sure that the label name is not a reserved keyword.
I've searched the online assembler tools user guide for reserved/keywords, and didn't find any listed restrictions on the symbols B0, B1, B2, or B3
Am I missing something?
Thanks,
Spencer
Hi Spencer,
Im pretty sure this is because of the VCU. The 069 has a VCU-type 0 (VCU-0) while the 2837x has a VCU-type 1 (commonly known as VCU-2). Now on the VCU-2 there are new instructions that can operate on each byte of a VRx register; these instructions weren't on the VCU-0. The operands take the form VRx.By, x=0:7, y=0:3
So VR1.B2 is byte 2 of the VR1 register. So B0, B1, B2 and B3 are reserved for use in a VCU assembly instruction only and thats why its complaining its reserved. I dont know if its reserved only if the VCU support is turned off - you can try turning of the --vcu_support and see if its still reserved...but i think it will probably be best to rename them.