.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text .define .strlb ! $Header$ ! revised version by CHL ! Store the value that is on the stack in fp. ! Compute ap. .strlb: movl (sp)+,r3 movl (sp)+,fp pushl r3 movl $20,ap ! Compute argumentbase from local base. ! Distance is 5 longwords + the number of ! registers saved. movl 4(fp),r3 ! mask for saved registers movl $16,r2 ! position of first bit to test I4: subl3 r2,$28,r1 ! remaining size of mask ffs r2,r1,r3,r2 ! find first bit set in mask beql I5 ! no more bits set addl2 $4,ap ! for each saved register incl r2 jbr I4 I5: extzv $14,$2,6(fp),r3 ! Now find out about the stack alignment ! between fp and ap addl2 r3,ap ! add alignment addl2 fp,ap rsb