dsPIC33FJ256GP506 Puzzle

Thread Starter

Papabravo

Joined Feb 24, 2006
21,228
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.
Rich (BB code):
Test2.cof:     file format coff-pic30

Disassembly of section .reset:

00000000 <.reset>:
   0:	04 02 04    	goto      0x204 <__reset>
   2:	00 00 00 
Disassembly of section .text:

00000200 <__DefaultInterrupt>:
 200:	00 40 da    	.pword 0xda4000
 202:	00 00 fe    	reset     
Disassembly of section .ivt:

00000004 <.ivt>:
   4:	00 02 00    	nop       
   6:	00 02 00    	nop       
...
... Interrupt Vector and Alternate Interrupt Vector Tables
... with the same content as location 4: and 6: above pointing
... to address 0x200
...
Disassembly of section .text:

00000204 <__reset>:
 204:	f1 00 20    	mov.w     #0xf, w1
 206:	41 11 88    	mov.w     w1, 0x228
 208:	01 00 28    	mov.w     #0x8000, w1
 20a:	01 11 88    	mov.w     w1, 0x220
So what does the processor do when it fetches and tries to execute as an instruction the 0xDA4000 at address 0x200?
 
Top