        .code
        .export main,entry, argw0=gr,argw1=gr,rtnval=gr
	.import _mFargc,data
	.import _mFargv,data
        .import _mFgmain,code
        .import &mFNAME,code
main
        .proc
        .callinfo caller,frame=16,save_rp
        .entry
        std	%rp, -16(%sp)	; save RP in previous frame
        ldo	96(%sp),%sp	; create our stack frame
        std	%r27, -88(%sp)	; save DP
        std	%r29, -96(%sp)	; save AP
        ADDIL   LT'_mFargc,%r27,%r1     
        LDD     RT'_mFargc(%r1),%r1    
        STW     %arg0,0(%r1)    
        ADDIL   LT'_mFargv,%r27,%r1     
        LDD     RT'_mFargv(%r1),%r1    
        STD     %arg1,0(%r1)    
        ADDIL   LTP'&mFNAME,%r27,%r1    
        LDD     RTP'&mFNAME(%r1),%arg0   
        .CALL           ;in=26,29;out=28;
        B,L     _mFgmain,%rp    
        LDO     -16(%r30),%r29  
	; ... Return
	ldd	-88(%sp), %r27		; Restore GP
	ldd	-96(%sp), %r29		; Restore AP
	ldd	-96-16(%sp), %rp	; Restore RP
	bve	(%rp)				; Return
	.exit
	ldo	-96(%sp), %sp	; Reset stack
	.procend
