%include "itrimp_hostcodes" %constinteger host=IBMXA %constinteger target=vax %constinteger wordad=0 %externalintegermapspec comreg %ALIAS "S#COMREGMAP"(%integer n) %routinespec phex%alias "S#PHEX"(%integer n) %externalintegerfnspec getspace(%integer sizeinbytes) %recordformat heapfm(%integer link,id,item1,item2) %constinteger endoflist=0 %owninteger mon=0,free,heapinc,heapad,numels,tot=0 %routine format heap(%integer ad) %record(heapfm) %arrayformat heapafm(1:100000) %record(heapfm) %arrayname heap %integer i heap == array(ad,heapafm) free = ad heap(i)_link=addr(heap(i+1)) %for i=1,1,numels-1 %end %routine extend heap %integer flag,fromad fromad=getspace(heapinc)<>8 heapinc=4096-8 numels=heapinc//16 heapad=getspace(heapinc)<