Iskljucivanje komparatora nije veliki problem, mnogo veci problem (prakticno neresiv) je odgovarajuce bank prebacivanje za 628.
Na pocetku disasemblovanog asm koda obicno imas vektor za pocetak main programa, nesto nalik:
0x0000 : goto 0xE4
Sledece sto ti treba je kraj postojeceg programskog koda, obicno izgleda ovako:
0x0250 : return
0x0251 : Data 0x3FFF ; ?
0x0252 : Data 0x3FFF ; ?
0x0253 : Data 0x3FFF ; ?
0x0254 : Data 0x3FFF ; ?
..... isto do kraja
0x03FE : Data 0x3FFF ; ?
0x03FF : Data 0x3FFF ; ?
Modifikacija se sastoji da u prvoj liniji umesto 0xE4 upises jednu od slobodnih lokacija, u ovom slucaju 0x0251:
0x0000 : goto 0x0251 ; nova adresa pocetne instrukcije
Ovim ce program pri startovanju prvo da ode na novu adresu (0x0251) gde ce sada stojati instrukcija za iskljucenje komparatora:
0x0251 : movlw 0x07 ;
0x0252 : movwf CMCON ; iskljucen komparator, svi I/O digitalni
0x0253 : goto 0xE4 ; skok na staru pocetnu instrukciju
0x0254 : Data 0x3FFF ; ?
......
Novi asm kod verovatno nece proci kompajliranje jer sa drugim tipom procesora mnogo toga vise ne odgovara "stanju na terenu" tako da ili treba da si ekspert sa mnooogo slobodnog vremena pa da preradis celi kod ili da ga, jednostavnije i lakse, napises iz pocetka.
73 de Zele YU2AX