chiark / gitweb /
provide annotated disassembly target
authorian <ian>
Fri, 23 Dec 2005 00:07:57 +0000 (00:07 +0000)
committerian <ian>
Fri, 23 Dec 2005 00:07:57 +0000 (00:07 +0000)
detpic/.cvsignore
pic.make

index 2f0b0422277e357ec9a973186ba9ab12fb88722e..3e990c1112bebd109ac7e0a9913131e78cb79463 100644 (file)
@@ -16,3 +16,5 @@ syncwrite.asm
 t.*
 t
 *.new
+*.tmp
+*+program.disasm
index 8cd8f77199868efdfe41659f207395bd0948bc95..e843dbc1f6a3020f42fba7761d4f31d6a18d7422 100644 (file)
--- a/pic.make
+++ b/pic.make
@@ -21,15 +21,28 @@ ASFLAGS=    $(CLOCKS)
 HEXMERGER=     $(CEBPIC)merge-hex
 MERGEHEX=      ./$^ $o
 
+PIC=           18f458
 LINK=          gplink -m -o $@ $^
-ASSEMBLE=      gpasm -p 18f458 $(ASFLAGS)
+ASSEMBLE=      gpasm -p$(PIC)  $(ASFLAGS)
 DOASSEMBLE=    $(ASSEMBLE) -c $< && mv $*.lst $*-asm.lst
 
+PIC_HEADER=    /usr/share/gputils/header/p$(PIC).inc
+
 %.o:           %.asm $(INCLUDES)
                $(DOASSEMBLE)
 
+TIA_DIR=       ../iwjpictest
+TIA_TIA=       $(TIA_DIR)/to-insn-aliases
+TIA_ALIASES=   $(TIA_DIR)/insn-aliases.inc
+TIA=           $(TIA_TIA) -A $(TIA_ALIASES) -H $(PIC_HEADER)
+
+%.disasm:      %.hex %.map $(TIA_TIA) $(TIA_ALIASES)
+               gpdasm -p$(PIC) $(word 1,$+) >$@.tmp
+               $(TIA) -M $(word 2,$+) <$@.tmp $o
+               @rm $@.tmp
+
 .PRECIOUS:     %.o
 
 pic-clean:
-               -rm -f -- *~ *.new *.tmp
+               -rm -f -- *~ *.new *.tmp *.disasm
                -rm -f *.hex *.cod *.lst *.o *.map