|
|
View previous topic :: View next topic |
Author |
Message |
VernonAMiller
Joined: 11 Sep 2014 Posts: 25 Location: Contoocook, NH
|
Enhanced list file format? |
Posted: Mon Oct 06, 2014 4:50 am |
|
|
Hello all:
In the .LST output file, there are four different options for list format, but none of them seems to give the entire opcode (two-word instructions like MOVFF on the PIC18 are missing the second word), plus meaningful symbolic names.
For example, here are some sample listing lines from another compiler:
Code: |
0x0270 0xF002C004 MOVFF R4, R2
0x0274 0xF003C005 MOVFF R5, R3
0x0278 0x4A04 INFSNZ R4, 1
0x027A 0x2A05 INCF R5, 1
|
This gives the hex address, hex opcode (both words for two-word instructions), assembler mnemonic, and a useful reference name (in this case these are GPRs). This is a pretty standard type of machine-code listing in most compilers I have used.
With CCS C, I have not found a way to get this level of detail. The "Symbolic" and "With opcodes" settings each give me some of what I'm looking for, but I guess what I want is a blend of both.
Is there a way to get this?
Thanks!
VAM |
|
|
asmboy
Joined: 20 Nov 2007 Posts: 2128 Location: albany ny
|
|
Posted: Mon Oct 06, 2014 7:54 am |
|
|
command line options -- quoting here:
+LNxxx //<< this is the no opt default
Normal list file
+LSxxx
MPASM format list file
+LOxxx
Old MPASM list file
+LYxxx
Symbolic list file
if none of these produce what you want - then you are out of options. |
|
|
VernonAMiller
Joined: 11 Sep 2014 Posts: 25 Location: Contoocook, NH
|
|
Posted: Mon Oct 06, 2014 8:13 am |
|
|
asmboy wrote: | if none of these produce what you want - then you are out of options. |
Thanks. I guess I'm out of options then I'll submit an enhancement request.
VAM |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19515
|
|
Posted: Mon Oct 06, 2014 9:08 am |
|
|
What compiler version????
The full opcode is output on the current versions, so 'puzzled' about your lacking the second byte. It doesn't show it as a separate NOP though.
Code: |
0023A C002 F00F 08060 MOVFF 02,0F
0023E C001 F00E 08061 MOVFF 01,0E
00242 C002 F018 08062 MOVFF 02,18
00246 C001 F017 08063 MOVFF 01,17
|
If I want a part in full MPASM format, I just import it into MPLAB, and look at it's program memory, disassembly window. Right click, select 'export to file'.
Code: |
286 023A C002 MOVFF 0x2, 0xf
287 023C F00F NOP
288 023E C001 MOVFF 0x1, 0xe
289 0240 F00E NOP
290 0242 C002 MOVFF 0x2, 0x18
291 0244 F018 NOP
292 0246 C001 MOVFF 0x1, 0x17
293 0248 F017 NOP
|
That also knows symbolic names for registers etc.. |
|
|
VernonAMiller
Joined: 11 Sep 2014 Posts: 25 Location: Contoocook, NH
|
|
Posted: Mon Oct 06, 2014 9:26 am |
|
|
Ttelmah wrote: | What compiler version????
The full opcode is output on the current versions, so 'puzzled' about your lacking the second byte. It doesn't show it as a separate NOP though.
Code: |
0023A C002 F00F 08060 MOVFF 02,0F
0023E C001 F00E 08061 MOVFF 01,0E
00242 C002 F018 08062 MOVFF 02,18
00246 C001 F017 08063 MOVFF 01,17
|
|
I'm using 5.025d (eval version). And, yes, I can get the full two-word output (like you show) if I select "With opcodes" - but then I lose the symbolic info.
I was hoping there was a hidden setting or other way to get both the full two-word output for two-word instructions, plus symbols.
It's not a deal-breaker but it does make the output less convenient to use for debugging.
Thanks,
VAM
PS. Would you consider this to be a bug in the "Symbolic" setting? (Like "Symbolic LST file option causes incorrect display of two-word instructions"? Or is it really an enhancement request? |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|