+#else /* new genAddrOf */
+
+static void genAddrOf (iCode *ic)
+{
+ operand *result, *left;
+ int size;
+ symbol *sym; // = OP_SYMBOL(IC_LEFT(ic));
+ pCodeOp *pcop0, *pcop1;
+
+ DEBUGpic16_emitcode ("; ***","%s %d",__FUNCTION__,__LINE__);
+
+ pic16_aopOp((left=IC_LEFT(ic)), ic, FALSE);
+ pic16_aopOp((result=IC_RESULT(ic)),ic,TRUE);
+
+ sym = OP_SYMBOL( left );
+
+ size = AOP_SIZE(IC_RESULT(ic));
+
+ /* Assume that what we want the address of is in direct addressing space
+ * since there is no stack on the PIC, yet! -- VR */
+
+ pcop0 = PCOP(pic16_newpCodeOpImmd(sym->rname, 0, 0, 0));
+ pcop1 = PCOP(pic16_newpCodeOpImmd(sym->rname, 1, 0, 0));
+#if 0
+ pcop0 = pic16_newpCodeOp(sym->rname, PO_IMMEDIATE);
+ PCOI(pcop0)->offset = 0;
+ PCOI(pcop0)->index = 0;
+ pcop1 = pic16_newpCodeOp(sym->rname, PO_IMMEDIATE);
+ PCOI(pcop1)->offset = 1;
+ PCOI(pcop1)->index = 0;
+#endif
+
+ if (size == 2) {
+ pic16_emitpcode(POC_MOVLW, pcop0);
+ pic16_emitpcode(POC_MOVWF, pic16_popGet(AOP(result),0));
+ pic16_emitpcode(POC_MOVLW, pcop1);
+ pic16_emitpcode(POC_MOVWF, pic16_popGet(AOP(result),1));
+ } else {
+ pic16_emitpcode(POC_MOVLW, pcop0);
+ pic16_emitpcode(POC_MOVWF, pic16_popGet(AOP(result),0));
+ }
+
+ pic16_freeAsmop(result,NULL,ic,TRUE);
+ pic16_freeAsmop(left, NULL, ic, FALSE);
+}
+
+#endif /* new genAddrOf */
+