dave@csis.dit.csiro.au (David Campbell) (01/18/91)
/* SAS 5.10 BUG */
void hey_wake_up()
{
	int func1(),func2(),func3(),func4(),func5();
	do_job(func1,func2,func3,func4,func5);
}
/*
**** Take a look at this, its pushing func1 5 times, not pushing
**** the others at all!!!
Lattice AMIGA 68000-68020 OBJ Module Disassembler V5.00
Copyright ) 1988 Lattice Inc.  All Rights Reserved.
Amiga Object File Loader V1.00
68000 Instruction Set
EXTERNAL DEFINITIONS
_hey_wake_up 0000-00
SECTION 00 "junk.c" 00000024 BYTES
       | 0000  BF EC  00 00-XX.2              CMPA.L    __base(A4),A7
       | 0004  65 00  00 00-XX.1              BCS.W     __xcovf
       | 0008  41 F9  00 00 00 00-XX          LEA       _func1,A0
       | 000E  2F 08                          MOVE.L    A0,-(A7) ;ouch!!!
       | 0010  2F 08                          MOVE.L    A0,-(A7)
       | 0012  2F 08                          MOVE.L    A0,-(A7)
       | 0014  2F 08                          MOVE.L    A0,-(A7)
       | 0016  2F 08                          MOVE.L    A0,-(A7)
       | 0018  4E BA  00 00-XX.1              JSR       _do_job(PC)
       | 001C  4F EF 00 14                    LEA       0014(A7),A7
       | 0020  4E 75                          RTS
	Dave Campbell
	dave@csis.dit.csiro.au
*/lrg7030@uxa.cso.uiuc.edu (Loren J. Rittle) (01/19/91)
I tried your example, the one that shows an SAS/C v5.10 bug.
Well, you must have a different version of 5.10 than me, because
lc <every set of options I tried> test.c
omd test.o
gave the following output:
Amiga Object File Loader V1.00
68000 Instruction Set         
                              
EXTERNAL DEFINITIONS          
                              
_hey_wake_up 0000-00
SECTION 00 "test.c" 00000030 BYTES
       | 0000  BFEC  0000-XX.2                CMPA.L    __base(A4),A7
       | 0004  6500  0000-XX.1                BCS.W     __xcovf
       | 0008  4879  0000 0000-XX             PEA       _func5
       | 000E  4879  0000 0000-XX             PEA       _func4
       | 0014  4879  0000 0000-XX             PEA       _func3
       | 001A  4879  0000 0000-XX             PEA       _func2
       | 0020  4879  0000 0000-XX             PEA       _func1
       | 0026  4EBA  0000-XX.1                JSR       _do_job(PC)
       | 002A  4FEF 0014                      LEA       0014(A7),A7
       | 002E  4E75                           RTS
Also, my header said:
Lattice AMIGA 68000-68020 OBJ Module Disassembler V5.04.039 
Copyright ) 1988, 1989 Lattice Inc.  All Rights Reserved.
Yours said:
Lattice AMIGA 68000-68020 OBJ Module Disassembler V5.00
Copyright ) 1988 Lattice Inc.  All Rights Reserved.
And the output format was slightly different. I think
you have an old version of something! (OMD at least)
Loren J. Rittle
--
``In short, this is the absolute coolest computer device ever invented!''
                   -Tom Denbo speaking about The VideoToaster by NewTek
``your pathetic architectures won't support it'' - Kent Paul Dolan
``Think about NewTek's VideoToaster!  Now think about the Amiga!''
Loren J. Rittle lrg7030@uxa.cso.uiuc.edu