Go backward to Directives
Go up to Top

A Sample Program

        	GLOBAL	dataspace(20)
    2   	MOVE	1,A5
    4   	JSR	main0
    6   	HALT	
        	STAB	FILE,"prog.c"
        	SOURCE 	8		;int silly(param)
        	STAB	FUNCTION,"silly"
        ;   locals and parameters:
        	STAB	LOCVAR,"param",offset=2,type ="I" 
        	STAB	LOCVAR,"localarray",offset=-5,type ="[5,1]I" 
        silly0
    7   	LINK	A6,#LOCALSIZE3
    9   	PSHREG	#SAVEMASK2
        	SOURCE 	10		;{
        	SOURCE 	13		;  return localarray[param];
   11   	LEA	-5(A6),A0
   13   	ADD	2(A6),A0
   15   	MOVE	0(A0),3(A6)
   18   	JMP 	FUNCRTN1
        FUNCRTN1
   20   	POPREG	#SAVEMASK2
   22   	UNLK	A6
   23   	RTD	#1
        LOCALSIZE3	EQU	-5
        SAVEMASK2	EQU	128
        	SOURCE 	17		;main()
        	STAB	FUNCTION,"main"
        ;   locals and parameters:
        	STAB	LOCVAR,"localvar",offset=-2,type ="{1}" 
        	STAB	STRUCT,1
        	STAB	COMPONENT,"comp2",offset=1,type="I" 
        	STAB	COMPONENT,"comp1",offset=0,type="I" 
        main0
   25   	LINK	A6,#LOCALSIZE6
   27   	PSHREG	#SAVEMASK5
        	SOURCE 	18		;{
        	SOURCE 	21		;  localvar.comp1 = silly(3);
   29   	SUB	#1,A7
   31   	MOVE	#3,-(SP)
   33   	LEA	silly0,A0
   35   	JSR	0(A0)
   37   	MOVE	(SP)+,D0
   38   	MOVE	D0,-2(A6)
   40   	POPREG	#SAVEMASK5
   42   	UNLK	A6
   43   	RTD	#0
        LOCALSIZE6	EQU	-2
        SAVEMASK5	EQU	32896
        ;      Globally defined identifiers:
        	STAB	GLOBVAR,"globalarray",offset=0,type ="[20,2]{1}" 


Prev Up