%%off % Author Martin Ruckert % We assume that H is the address of a link and a key field % and set the key field to MAXINT R IS $0 %%def $R$ n IS $1 %%def $n$ H IS $2 %%def $H$ K IS $3 %%def $K$ j IS $4 %%def $j$ p IS $5 %%def $p$ q IS $6 %%def $q$ k IS $7 %%def $k$ kp IS $8 %%def $k_p$ Rj IS $9 %%def $R_j$ t IS $10 LINK IS 0 KEY IS 8 %%on %\r0=R, \r1=n, \r2=H \hidewidth&&& Parameter %%\mmsskip %\r3=K, \r4=j, \r5=p, \r6=q \hidewidth&&& Local variables %\r7=k, \r8={k_p}, \r9={R_j} \hidewidth %%\mmsskip %%% ListIsort SUB j,n,1; SL j,j,4 \hfil$2$ & \ul{\sl L1. Loop on $j$.} ADDU K,R,KEY \hfil$1$ ADDU Rj,R,j \hfil$1$ STOU Rj,H \hfil$1$ STOU H,Rj \hfil$1$ SETH t,#8000 \hfil$1$ NOR t,t,0 \hfil$1$ STO t,H,KEY \hfil$1$ JMP 0F \hfil$1$ %%% 2H SET q,H \hfil$N-1$ & \ul{\sl L2. Set up $p$, $q$, $K$.} ADDU Rj,R,j \hfil$N-1$ LDO k,Rj,KEY \hfil$N-1$ %%% 4H LDOU p,q \hfil$B^\prime$ LDO kp,p,KEY \hfil$B^\prime$ & \ul{\sl L3. Compare $K:K_p$.} CMP t,k,kp \hfil$B^\prime$ BNP t,5F \hfil$B^\prime+2N^\prime$ %%% LDOU q,p \hfil$B^{\prime\prime}$ LDO kp,q,KEY \hfil$B^{\prime\prime}$ & \ul{\sl L3. Compare $K:K_p$.} CMP t,k,kp \hfil$B^{\prime\prime}$ PBP t,4B \hfil$B^{\prime\prime}+2N^{\prime\prime}$ %%% STOU Rj,p \hfil$N^{\prime\prime}$ & \ul{\sl L5. Insert into list.} STOU q,Rj \hfil$N^{\prime\prime}$ SUB j,j,16 \hfil$N^{\prime\prime}$ PBNN j,2B \hfil$N^{\prime\prime}+2^{\prime\prime}$ POP 1,0 %%% 5H STOU Rj,q \hfil$N^{\prime}$ & \ul{\sl L5. Insert into list.} STOU p,Rj \hfil$N^{\prime}$ %%% 0H SUB j,j,16 \hfil$N^{\prime}$ PBNN j,2B \hfil$N^{\prime}+2^{\prime}$ POP 1,0 %%off