How do I interpret the pointer reference graph in the assembler list file?
The pointer reference graph is shown in the assembly list file for compiler versions 9.70 and above. This graph shows every pointer in your program, along with each target the pointer can reference. Here is an example. The numbers on the left are just the line numbers in the file and have no other meaning. 433 ;Pointer list with targets: 434 ;task_st_tab const PTR FTN()void [8][4] size(1); Largest target is 0 435 ; -> ctrl_s0(), ctrl_s1(), null_funct(), 436 ; -> inpSWITCH_s0(), inpSWITCH_s1(), 437 ; -> inpSWITCH_s2(), inpSWITCH_s3(), 438 ; -> inpSWITCH_s4(), inpADC_s0(), 439 ; -> inpADC_s1(), outLEDS_s0(), outLEDS_s1(), 440 ;task_ptr PTR struct task_def size(1); Largest target is 36 441 ; -> task(BANK0[36]), 442 ;timer_intr@req_ptr PTR unsigned char size(1); Largest target is 1 443 ; -> task.ctrl(BANK0[1]), 444 ;timer_intr@task_tmr_cnt_ptr PTR unsigned int size(1); Largest target is 2 445 ; -> task.timer_count(BANK0[2]), The top line shows the pointers name, and type. The size of the p
Related Questions
- If I put an extrn directive in my code, flat assembler emits the external reference to the object file even if the code doesn reference the symbol, how can I avoid it?
- I want to call my C or assembler function with a reference parameter in a string. Why can you just use the pointer returnedby _parc() to modify a string parameter?
- It might be useful to save that list in a file for future reference. (See the question "How can I redirect the output from a command into a file?