This how I have implemented inflate.asm in png lib:
Code:
register z_streamp instream __asm("a5");
register int flush __asm("a6");
int inflate_asm(register z_streamp instream __asm("a5") ,register int flush __asm("a6"));
int
png_zlib_inflate(png_structrp png_ptr, int flush)
{
...
return inflate_asm(&png_ptr->zstream, flush);
}
or
Code:
register int outdata __asm("a4");
register z_streamp instream __asm("a5");
register int flush __asm("a6");
int inflate_asm(register z_streamp instream __asm("a5"), register int outdata __asm("a4") ,register int flush __asm("a6"));
int
png_zlib_inflate(png_structrp png_ptr, int flush)
{
...
inflate_asm(&png_ptr->zstream, outdata, flush);
return outdata;
}
None of this works, have I missed something ?