sinclairql: fixed parameter trashing in several QDOS function assembler wrappers

git-svn-id: trunk@49146 -
This commit is contained in:
Károly Balogh 2021-04-09 03:04:24 +00:00
parent caa2735203
commit 08023bbad0

View File

@ -261,13 +261,13 @@ asm
end; end;
function fs_posab(chan: Tchanid; new_pos: dword):longint; assembler; nostackframe; public name '_fs_posab'; function fs_posab(chan: Tchanid; new_pos: dword): longint; assembler; nostackframe; public name '_fs_posab';
asm asm
move.l d3,-(sp) move.l d3,-(sp)
moveq #_FS_POSAB,d0 move.l chan,a0
move.l new_pos,d1 move.l new_pos,d1
moveq #-1,d3 moveq #-1,d3
move.l chan,a0 moveq #_FS_POSAB,d0
trap #3 trap #3
tst.l d0 tst.l d0
bne.s @quit bne.s @quit
@ -279,10 +279,10 @@ end;
function fs_posre(chan: Tchanid; new_pos: dword): longint; assembler; nostackframe; public name '_fs_posre'; function fs_posre(chan: Tchanid; new_pos: dword): longint; assembler; nostackframe; public name '_fs_posre';
asm asm
move.l d3,-(sp) move.l d3,-(sp)
moveq #_FS_POSRE,d0 move.l chan,a0
move.l new_pos,d1 move.l new_pos,d1
moveq #-1,d3 moveq #-1,d3
move.l chan,a0 moveq #_FS_POSRE,d0
trap #3 trap #3
tst.l d0 tst.l d0
bne.s @quit bne.s @quit
@ -294,10 +294,11 @@ end;
function fs_headr(chan: Tchanid; buf: pointer; buf_size: word): longint; assembler; nostackframe; public name '_fs_headr'; function fs_headr(chan: Tchanid; buf: pointer; buf_size: word): longint; assembler; nostackframe; public name '_fs_headr';
asm asm
movem.l d2-d3,-(sp) movem.l d2-d3,-(sp)
moveq #_FS_HEADR,d0 move.l buf,a1
move.l chan,a0
move.l buf_size,d2 move.l buf_size,d2
moveq #-1,d3 moveq #-1,d3
move.l chan,a0 moveq #_FS_HEADR,d0
trap #3 trap #3
tst.l d0 tst.l d0
bne.s @quit bne.s @quit
@ -309,9 +310,9 @@ end;
function fs_truncate(chan: Tchanid): longint; assembler; nostackframe; public name '_fs_truncate'; function fs_truncate(chan: Tchanid): longint; assembler; nostackframe; public name '_fs_truncate';
asm asm
move.l d3,-(sp) move.l d3,-(sp)
moveq #_FS_TRUNCATE,d0
moveq #-1,d3
move.l chan, a0 move.l chan, a0
moveq #-1,d3
moveq #_FS_TRUNCATE,d0
trap #3 trap #3
move.l (sp)+,d3 move.l (sp)+,d3
end; end;