fprintf(fp, "\t.export _%s\n\n", syscall_name[n]);
fprintf(fp, "\t.import __syscall\n\n", syscall_name[n]);
fprintf(fp, "\t.import pushax\n\n");
- fprintf(fp, ".proc _%s\n\tjsr pushax\n\tldx #%d\n", syscall_name[n], n);
+ fprintf(fp, ".proc _%s\n", syscall_name[n]);
+ if (syscall_args[n])
+ fprintf(fp, "\tjsr pushax\n");
+ fprintf(fp, "\tldx #%d\n", n);
fprintf(fp, "\tldy #%d\n", 2 * syscall_args[n]);
fprintf(fp, "\tjmp __syscall\n\n.endproc\n");
fclose(fp);