+static void _setupPointer(REG *reg, asmop *into, int offset)
+{
+ iemit("; _setupPointer for %s", reg->name);
+}
+
+void izt_putAop(asmop *into, const char *sz, int size, int offset)
+{
+ wassert(offset == 0);
+
+ switch (into->type) {
+ case AOP_TYPE_REG:
+ iemit("mov %s,%s", into->u.reg->name, sz);
+ break;
+ case AOP_TYPE_CARRY:
+ // Should support.
+ wassert(0);
+ break;
+
+ case AOP_TYPE_SCRATCH_PTR:
+ _setupPointer(izt_port->scratch, into, offset);
+ iemit("mov a,%s", sz);
+ iemit("mov %s,a", izt_port->scratch->name);
+ break;
+
+ case AOP_TYPE_STACK:
+ iemit("mov a,%s", sz);
+ iemit("mov (%s+%d),a", izt_port->base_ptr->name, into->u.stack);
+ break;
+
+ case AOP_TYPE_LITERAL:
+ case AOP_TYPE_IMMEDIATE:
+ default:
+ wassert(0);
+ }
+}
+
+char *izt_getAop(asmop *from, int size, int offset)
+{
+ return "blah";
+}
+
+/** Perform a generic move operation.
+ */
+static void _mov(asmop *into, asmop *from)
+{
+ int size = into->size;
+ izt_putAop(into, izt_getAop(from, size, 0), size, 0);
+}
+