Hi!
I currently have this Piccolo TMS320F28035 Isolated controlCARD.
Card:
http://www.ti.com/tool/TMDSCNCD28035ISO
Docking Station:
https://www.ti.com/tool/TMDSDOCK28035
Micro Inverter Baseboard:
http://www.ti.com/tool/TMDSSOLARUINVKIT
I am using the Solar Micro Inverter sample code located in ".../controlSUITE/development_kits/TMDSSOLARUINVKIT_v100/MicroInv_F2803x".
I disassembled the executable from this project using dis2000 tool located in the CCS folder. I am now writing a script that goes through the assembly code and keeps track of all the arithmetic instructions, branches, loads, and stores.
I used:
http://www.ti.com/lit/ug/spru430f/spru430f.pdf
to help me understand the available instructions starting from page 116.
The first two operations are pretty straightforward to collect. I am having trouble differentiating between stores and loads. I noticed that commands like "MOV" and "MOVL" can be utilized to either store or load. Is there a way to tell which way the command is being used for?
From page 155 of the manual is a sample code that confuses me:
MOV AL,@VarA ; Load AL with contents of VarA
ADD AL,@VarB ; Add to AL contents of VarB
ANDB AL,#0xFF ; AND contents of AL with 0x00FF
MOV @VarC,AL ; Store result in VarC
The "MOV command is used as a load and a store.
I also see instructions like "MOVL XAR4, XAR6"
I don't see how one is able to differentiate between them? Any suggestions would be appreciated! Thanks!