[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MiNT] Missing clobbered register in gemlib
Am 20.12.2009, 06:31 Uhr, schrieb Johan Klockars <johan@klockars.net>:
The same book claims d0-d1/a0 are clobbered by the VDI and AES, which
is consistent with what I do in fVDI.
So the last gemlib-version (before Vincents patch) that saved d0-d1/a0
should do enough for fvdi?
The assembler of v_clswk.c (produced by m68k-atari-mint-gcc -S -I..
-mshort -O2 -fomit-frame-pointer -Wall -Wmissing-prototypes -Winline -Ws
hadow -Wpointer-arith -Wcast-qual -Waggregate-return -c ../v_clswk.c -o
v_clswk.s
) is:
#NO_APP
gcc2_compiled.:
___gnu_compiled_c:
.text
.even
.globl _v_clswk
_v_clswk:
lea (-56,sp),sp
move.l d2,-(sp)
move.w 64(sp),d2
lea (26,sp),a0
move.l a0,6(sp)
clr.l 10(sp)
clr.l 14(sp)
move.l #_vdi_dummy,18(sp)
move.l #_vdi_dummy,22(sp)
lea (6,sp),a1
#APP
movea.l a1,a0
move.l a0,d1
move.l (a0),a0
move.l #131072,(a0)+
eor.l d0,d0
move.l d0,(a0)+
move.l d0,(a0)+
move.w d2,(a0)
move.w #115,d0
trap #2
#NO_APP
move.l (sp)+,d2
lea (56,sp),sp
rts
Now I'm not very good at assembler, but I don't see where any registers
are saved or restored (except maybe d2.l)
Or did I get something completely wrong here?
-Helmut