#ifdef USE_I80_RSTS
pat lol zeq sfit($1, 8)
- uses hlreg, areg
- gen
- rst {const1, 3}
- data1 {const1, $1}
- mov a, {m}
- inx hl
- ora {m}
- jz {label, $2}
+ with STACK
+ uses hlreg, areg
+ gen
+ rst {const1, 3}
+ data1 {const1, $1}
+ mov a, {m}
+ inx hl
+ ora {m}
+ jz {label, $2}
#endif
pat lol zeq
#ifdef USE_I80_RSTS
pat lol zne sfit($1, 8)
- uses hlreg, areg
- gen
- rst {const1, 3}
- data1 {const1, $1}
- mov a, {m}
- inx hl
- ora {m}
- jnz {label, $2}
+ with STACK
+ uses hlreg, areg
+ gen
+ rst {const1, 3}
+ data1 {const1, $1}
+ mov a, {m}
+ inx hl
+ ora {m}
+ jnz {label, $2}
#endif
pat lol zne
with STACK
- uses hlreg={const2,$1}, areg
- gen
- dad lb
- mov a,{m}
- inx hl
- ora {m}
- jnz {label,$2}
+ uses hlreg={const2,$1}, areg
+ gen
+ dad lb
+ mov a,{m}
+ inx hl
+ ora {m}
+ jnz {label,$2}
pat ior zeq $1==2
with hl_or_de hl_or_de STACK
ASSERT(strcmp(ptmp, "35") == 0);
}
-void doit1(char *x, ...)
+void doit1a(char *x, ...)
{
va_list ptr;
va_start(ptr, x);
va_end(ptr);
}
-void doit2(char *x, ...)
+void doit1b(char *x, ...)
+{
+ va_list ptr;
+ va_start(ptr, x);
+ demo(1,ptr);
+ va_end(ptr);
+}
+
+void doit2a(char *x, ...)
{
va_list ptr;
va_start(ptr, x);
va_end(ptr);
}
+void doit2b(char *x, ...)
+{
+ va_list ptr;
+ va_start(ptr, x);
+ demo2(1,ptr);
+ va_end(ptr);
+}
+
int main(int argc, char *argv[])
{
- doit1("", 35);
- doit2("", 35);
+ doit1a("", 35);
+ doit1b("", 35L);
+ doit2a("", 35);
+ doit2b("", 35L);
finished();
return 0;
}