halt #stop immediately!!!
cvtbl (r10)+,r0 #entry level of new proc
movl (r10)+,r1 #new entry point
pushr $R11|R10|R9 #save lino, lc, dp
addl3 r1,ap,r10 #calc new entry point
moval iloop,r8 #disable profiling
bicpsw $0xe0 #disable overflow checks
cvtwl (r10)+,r0 #r0 has local variable size
bgtr framesize #current max is 32768 bytes
addl2 _addrsze,r9 #enter local scope
pushl (r9) #save old display value
pushl r10 #pointer to proc name
addl2 $8,r10 #skip over name text
movzwl (r10)+,r11 #set new lino
subl2 $4,sp #space for top of frame pointer
movl sp,(r9) #set new display pointer
addl3 r0,sp,r1 #r1 points to new top of stack
clrl tempsize(r1) #check for memory (fault => not available)
movl r1,(sp) #set new top of stack pointer
movl r1,sp #allocate local variables
mnegl r0,r0 #r0 has amount of space to alloc
movc5 $0,(r2),$0,r0,(sp) #zero out local variables
mnegl (sp)+,r0 #r0 has size of block
cmpl *(r9),sp #check stack integrity
subl3 r0,sp,r1 #r1 points to new top of stack
clrl tempsize(r1) #check for memory (fault => not available)
movl r1,sp #allocate space
movl sp,*(dp) #set top of stack ptr
movc5 $0,(r2),$0,r0,(sp) #clear space
pushl (r9) #flush and close local files
movl (r9),sp #deallocate local vars
movl 4(sp),_file #restore old I/O info
movl 16(sp),(r9) #restore old display entry
addl2 $20,sp #deallocate current frame
addl3 $_display,_addrsze,r0
cmpl r9,r0 #exiting main proc ???
popr $R11|R10|R9 #restore lino, lc, dp
ret #end of interpretation
moval _display[r0],r0 #r0 has exit dp value
addl3 (r10),ap,r10 #establish return address
cmpl r0,r9 #check for done
cmpl r9,$_display #check for end of stack
pushl (r9) #flush and close local files
movl (r9),sp #deallocate local vars
movl 4(sp),_file #restore old I/O info
movl 16(sp),(r9) #restore old display entry
addl2 $20,sp #deallocate current frame
movl (sp),r9 #get old display pointer
movl *(r9),sp #reset sp to top of stack
cmpl *(r9),sp #check stack integrity
cvtbl (r10)+,r11 #update line number
aoblss _stlim,_stcnt,l0021 #update statement count
jgtr framesize #current maximum of 32768
subl3 r0,sp,r1 #r1 points to new top of stack
clrl tempsize(r1) #check for memory (fault => not available)
movl r1,sp #allocate the memory
subl3 r0,sp,r1 #r1 points to new top of stack
clrl tempsize(r1) #check for memeory (fault => not available)
movl r1,sp #allocate the memory