From: Alan Cox Date: Sat, 17 Jan 2015 14:46:30 +0000 (+0000) Subject: 6502: syscalls with no argument require nothing pushing X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=bfdc86b2c720f1e5571a14eb9997386cddfbe3e9;p=FUZIX.git 6502: syscalls with no argument require nothing pushing --- diff --git a/Library/tools/syscall_6502.c b/Library/tools/syscall_6502.c index 4ae15e87..d3ee6c87 100644 --- a/Library/tools/syscall_6502.c +++ b/Library/tools/syscall_6502.c @@ -21,7 +21,10 @@ static void write_call(int n) 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);