static hTab *pic16MnemonicsHash = NULL;
static hTab *pic16pCodePeepCommandsHash = NULL;
-int options_gen_banksel = 1;
-
static pFile *the_pFile = NULL;
static pBlock *pb_dead_pcodes = NULL;
};
-#if 1
+#if 0
// mdubuc - Remove TRIS
pCodeInstruction pic16_pciTRIS = {
pic16Mnemonics[POC_SUBFWB_D1] = &pic16_pciSUBFWB_D1;
pic16Mnemonics[POC_SWAPF] = &pic16_pciSWAPF;
pic16Mnemonics[POC_SWAPFW] = &pic16_pciSWAPFW;
- pic16Mnemonics[POC_TRIS] = &pic16_pciTRIS;
+// pic16Mnemonics[POC_TRIS] = &pic16_pciTRIS;
pic16Mnemonics[POC_TSTFSZ] = &pic16_pciTSTFSZ;
pic16Mnemonics[POC_XORLW] = &pic16_pciXORLW;
pic16Mnemonics[POC_XORWF] = &pic16_pciXORWF;
}
-
/*-----------------------------------------------------------------*/
/* pic16_get_op2 - variant to support two memory operand commands */
/*-----------------------------------------------------------------*/
if( (PCI(pc)->num_ops >= 1) && (PCI(pc)->pcop)) {
-#if 1
if(PCI(pc)->is2MemOp) {
-// fprintf(stderr, "HELP !\n");
-#if 1
SAFE_snprintf(&s,&size, "%s,%s",
pic16_get_op(PCOP(PCI(pc)->pcop), NULL, 0),
pic16_get_op2(PCOP(PCI(pc)->pcop), NULL, 0));
break;
-#endif
}
-#endif
if(PCI(pc)->isBitInst) {
if(PCI(pc)->pcop->type == PO_GPR_BIT) {
if(!pc)
return;
-
/*
* if bsr == -1 then do not insert a MOVLB instruction, but rather
* insert a BANKSEL assembler directive for the symbol used by
* bank at linking time
*/
- if(!options_gen_banksel || bsr != -1) {
- new_pc = pic16_newpCode(POC_MOVLB, pic16_newpCodeOpLit(bsr));
+ if(!options.gen_banksel || bsr != -1) {
+// new_pc = pic16_newpCode(POC_MOVLB, pic16_newpCodeOpLit(bsr));
+ return;
} else {
/* emit the BANKSEL [symbol] */
// if (cur_bank != reg_bank) {
cur_bank = reg_bank;
- insertBankSwitch(0, pc, (options_gen_banksel)?-1:cur_bank); //cur_bank);
+ insertBankSwitch(0, pc, (options.gen_banksel)?-1:cur_bank); //cur_bank);
// }
}else {
// for(pb = the_pFile->pbHead; pb; pb = pb->next)
pic16_pCodeRegOptimizeRegUsage(level);
- OptimizepCode('*');
+
+ if(!options.nopeep)
+ OptimizepCode('*');
/*
}
}
- changes = OptimizepCode(dbName);
+ if(!options.nopeep)
+ changes = OptimizepCode(dbName);
+ else changes = 0;
} while(changes && (i++ < MAX_PASSES));