[abc80] koppla ABC80 till PIC32:an
juhasz at abc.se
juhasz at abc.se
Tis Aug 31 10:37:18 PDT 2010
Nu har jag kollat koden som pic32-kompliatorn genererar (se nedan). Mycket
riktigt en massa push! Men det är ju iofs rätt strongt att hinna med 33
instruktioner innan man kommer till sak och ändå hinna med i Z80:ans
outrutin! ;)
Jag letade lite på nätet ang. just detta. Vad jag sett verkar det som om
de flesta gcc-baserade kompilatorer är dumma och eftersom de inte vet
vilka moduler och register som ska användas så sparar de alla register
vide interrupt. Hitech verkar ha släppt en PIC32-kompilator som har OCG
(omniscent code generation) och kollar igenom just detta, men den kostar
$1995....... Blir nog till att köra lite handoptimering på
kompilatoroutputen (tjohoo!)
Undrar om det är likadant på ARM-sidan... Nån som vet?
Robert
248: void __ISR(_CHANGE_NOTICE_VECTOR, ipl2)
ChangeNotice_Handler(void)
249: {
9D0006E0 415DE800 rdpgpr sp,sp
9D0006E4 401A7000 mfc0 k0,EPC
9D0006E8 401B6000 mfc0 k1,Status
9D0006EC 27BDFF88 addiu sp,sp,-120
9D0006F0 AFBA0074 sw k0,116(sp)
9D0006F4 AFBB0070 sw k1,112(sp)
9D0006F8 7C1B7844 ins k1,zero,1,15
9D0006FC 377B0800 ori k1,k1,0x800
9D000700 409B6000 mtc0 k1,Status
9D000704 AFA20064 sw v0,100(sp)
9D000708 AFA30060 sw v1,96(sp)
9D00070C AFBF0058 sw ra,88(sp)
9D000710 AFBE0054 sw s8,84(sp)
9D000714 AFB90050 sw t9,80(sp)
9D000718 AFB8004C sw t8,76(sp)
9D00071C AFAF0048 sw t7,72(sp)
9D000720 AFAE0044 sw t6,68(sp)
9D000724 AFAD0040 sw t5,64(sp)
9D000728 AFAC003C sw t4,60(sp)
9D00072C AFAB0038 sw t3,56(sp)
9D000730 AFAA0034 sw t2,52(sp)
9D000734 AFA90030 sw t1,48(sp)
9D000738 AFA8002C sw t0,44(sp)
9D00073C AFA70028 sw a3,40(sp)
9D000740 AFA60024 sw a2,36(sp)
9D000744 AFA50020 sw a1,32(sp)
9D000748 AFA4001C sw a0,28(sp)
9D00074C AFA10018 sw at,24(sp)
9D000750 03A0F021 addu s8,sp,zero
9D000754 00001012 mflo v0
9D000758 00001810 mfhi v1
9D00075C AFA2006C sw v0,108(sp)
9D000760 AFA30068 sw v1,104(sp)
250: unsigned int temp,data;
251: PORTE=55;
9D000764 3C03BF88 lui v1,0xbf88
9D000768 24020037 addiu v0,zero,55
9D00076C AC626110 sw v0,24848(v1)
252: PORTE=66;
9D000770 3C03BF88 lui v1,0xbf88
9D000774 24020042 addiu v0,zero,66
9D000778 AC626110 sw v0,24848(v1)
253: PORTE=77;
9D00077C 3C03BF88 lui v1,0xbf88
9D000780 2402004D addiu v0,zero,77
9D000784 AC626110 sw v0,24848(v1)
More information about the ABC80
mailing list