A89: Re: Re: Line 1111 error?


[Prev][Next][Index][Thread]

A89: Re: Re: Line 1111 error?




ok, so my new piece of code is like so:

LowDrawSprite:
 move.w 2(a7),d1  ; Read Y Value
 move.w 4(a7),d0  ; Read X Value

; Don't need these?
 ;movem d0-d2/a0-a1,-(a7) ; Save Registers

 lea mario_standing_0(pc),a0

 jsr graphlib::put_sprite ; Draw Sprite

 ;movem (a7)+,d0-d2/a0-a1 ; Restore Registers

 rts

now my sprite doesn't even show up on the screen...

thanks for the help guys, I know I'm a newbie at this stuff, im just
thankful that you guys aren't being asses about it :)

----- Original Message -----
From: "Olle Hedman" <oh@hem.passagen.se>
To: <assembly-89@lists.ticalc.org>
Sent: Sunday, October 01, 2000 3:04 PM
Subject: A89: Re: Line 1111 error?


>
> You screwed up your stack. On the top of the stack there is the return
> address for the rts.
> And when you read the values off the stack for a subroutine like this, you
> should _not_ use (a7)+, that changes the stack pointer value.
> You should read them like 4(a7) and 6(a7) or something like that instead.
> (I guess there is where your x and y is located.)
> And why trash d6 and d7 and save d0 and d1? isn't it better the other way
> around?
> I think the calling convention assumes d0, d1 and a0 destroyed, so you
> shouldn't have to save thoose.
> (if useing it in C)
>
> ///Olle
>
> ----- Original Message -----
> From: "Josh 'Gage'" <antgage@apk.net>
> To: "Assembly 89 LIST" <assembly-89@lists.ticalc.org>
> Sent: Sunday, October 01, 2000 8:22 PM
> Subject: A89: Line 1111 error?
>
>
> >
> > I've been banging my head against the wall trying this piece of code:
> >
> > ; LowDrawSprite( x, y, sprite )
> > ; Draws Sprite at (x,y)
> > LowDrawSprite:
> >  ;;;;;
> >  ; Temp Move x,y to d6,d7
> >  ;move.w (a7)+,d7
> >  ;move.w (a7)+,d6
> >
> >  move.w #10,d7
> >  move.w #15,d6
> >
> >  movem d0-d2/a0-a1,-(a7) ; Save Registers
> >
> >  move.w d7,d1
> >  move.w d6,d0
> >  lea mario_standing_0(pc),a0
> >
> >
> >  jsr graphlib::put_sprite ; Draw Sprite
> >
> >  movem (a7)+,d0-d2/a0-a1 ; Restore Registers
> >
> >  rts
> >
> > now if you compile like that, it's fine. However since this is a TIGCC
Low
> > Level Command(for C), I want to read the x,y values from the stack. I
> tried
> > the first two commands(uncomment the first pair of commands and comment
> the
> > second pair), and I get an error 1111 thing. What's the deal?
> >
> > I'm still learning assembly so don't bitch at me too much :)
> >
> >
> >
>
>




Follow-Ups: References: