dsPIC33FJ256GP506 Puzzle

Discussion in 'Embedded Systems and Microcontrollers' started by Papabravo, Oct 16, 2012.

  1. Papabravo

    Thread Starter Expert

    Feb 24, 2006
    10,140
    1,789
    In the enclosed disassembly listing from ASM30 in MPLAB, I understand the purpose of everything except the .pword at address 0x200. It is not a valid instruction and address 0x200 is the destination of each interrupt vector that is not initialized.
    Code ( (Unknown Language)):
    1.  
    2. Test2.cof:     file format coff-pic30
    3.  
    4. Disassembly of section .reset:
    5.  
    6. 00000000 <.reset>:
    7.    0:   04 02 04        goto      0x204 <__reset>
    8.    2:   00 00 00
    9. Disassembly of section .text:
    10.  
    11. 00000200 <__DefaultInterrupt>:
    12.  200:   00 40 da        .pword 0xda4000
    13.  202:   00 00 fe        reset    
    14. Disassembly of section .ivt:
    15.  
    16. 00000004 <.ivt>:
    17.    4:   00 02 00        nop      
    18.    6:   00 02 00        nop      
    19. ...
    20. ... Interrupt Vector and Alternate Interrupt Vector Tables
    21. ... with the same content as location 4: and 6: above pointing
    22. ... to address 0x200
    23. ...
    24. Disassembly of section .text:
    25.  
    26. 00000204 <__reset>:
    27.  204:   f1 00 20        mov.w     #0xf, w1
    28.  206:   41 11 88        mov.w     w1, 0x228
    29.  208:   01 00 28        mov.w     #0x8000, w1
    30.  20a:   01 11 88        mov.w     w1, 0x220
    31.  
    So what does the processor do when it fetches and tries to execute as an instruction the 0xDA4000 at address 0x200?
     
Loading...