Browse Source

sinclairql: fix exitCode parameter accidentally overwritten in mt_frjob. also save d2 register.

git-svn-id: trunk@47568 -
Károly Balogh 4 years ago
parent
commit
3eece73a89
1 changed files with 3 additions and 3 deletions
  1. 3 3
      rtl/sinclairql/qdos.inc

+ 3 - 3
rtl/sinclairql/qdos.inc

@@ -24,12 +24,12 @@ const
 
 
 procedure mt_frjob(jobID: Tjobid; exitCode: longint); assembler; nostackframe; public name '_mt_frjob';
 procedure mt_frjob(jobID: Tjobid; exitCode: longint); assembler; nostackframe; public name '_mt_frjob';
 asm
 asm
-  move.l  d3,-(sp)
-  move.l  jobID,d1
+  movem.l d2-d3,-(sp)
   move.l  exitCode,d3
   move.l  exitCode,d3
+  move.l  jobID,d1
   moveq   #_MT_FRJOB,d0
   moveq   #_MT_FRJOB,d0
   trap    #1
   trap    #1
-  move.l  (sp)+,d3
+  movem.l (sp)+,d2-d3
 end;
 end;
 
 
 function mt_inf(sys_vars: ppchar; ver_ascii: plongint): Tjobid; assembler; nostackframe; public name '_mt_inf';
 function mt_inf(sys_vars: ppchar; ver_ascii: plongint): Tjobid; assembler; nostackframe; public name '_mt_inf';