% Implementation of Program 5.2.4N % Author M.Ruckert PREFIX :sort: R IS $0 Parameter Rp IS $1 Second array n IS $2 size i IS $3 j IS $4 k IS $5 l IS $6 d IS $7 f IS $8 ki IS $9 kj IS $10 t IS $11 Sort SET i,0 \hfil$1$ &\ul{sl N2. Prepare for Pass.} $i\is 0$. SL j,n,3 \hfil$1$ SUB j,j,8 \hfil$1$ &$j\is n-1$. SET k,0 \hfil$1$ &$k\is 0$. SET l,j \hfil$1$ &$l\is n-1$. SET d,8 \hfil$1$ &$d\is 1$. SET f,1 \hfil$1$ &$f\is 1$. LDO ki,R,i \hfil$1$ &\ul{sl N3. Compare $K_i:K_j$.} LDO kj,R,j \hfil$1$ N3 CMP t,ki,kj \hfil$A+B$ BP t,N8 \hfil$A+B$ &If $K_i>K_j$, go to N8. STO ki,Rp,k \hfil$A$ &$R_k\is R_i$. CMP t,i,j \hfil$A$ &If $i=j$, BZ t,N13 \hfil$A$ $\quad go to N13. ADD k,k,d \hfil$A$ &\ul{sl N4. Transmit $R_i$.} $k\is k+d$. ADD i,i,8 \hfil$A$ &\ul{sl N5. Stepdown?} $i\is i+1$. SET t,ki \hfil$A$ &$t\is k_{i-1}$. LDO ki,R,i \hfil$A$ CMP t,t,ki \hfil$A$ &If $K_{i-1}\le K_i$, PBNP t,N3 \hfil$A$ &\quad go to N3 N6 STO kj,Rp,k \hfil$1$ &\ul{sl N6. Transmit $R_j$.} $R_k\is R_j$. ADD k,k,d \hfil$1$ &$k\is k+d$. SUB j,j,8 \hfil$1$ &\ul{sl N7. Stepdown?} $j\is j-1$. SET t,kj \hfil$1$ &$t\is k_{j+1}$. LDO kj,R,j \hfil$1$ CMP t,t,kj \hfil$1$ &If $K_{j+1}\le K_j$, PBP t,N12 \hfil$1$ &\quad go to N6. JMP N6 \hfil$1$ %%% N8 STO kj,Rp,k \hfil$B$ &\ul{sl N8. Transmit $R_j$.} $R_k\is R_j$. ADD k,k,d \hfil$B$ & $k\is k+d$. SUB j,j,8 \hfil$B$ &\ul{sl N9. Stepdown?} $j\is j-1$. SET t,kj \hfil$B$ &$t\is k_{j+1}$. LDO kj,R,j \hfil$B$ CMP t,t,kj \hfil$B$ &If $K_{j+1}\le K_j$, PBNP t,N3 \hfil$B$ &\quad go to N3. N10 STO ki,Rp,k \hfil$1$ &\ul{sl N10. Transmit $R_i$.} $R_k\is R_i$. ADD k,k,d \hfil$1$ & $k\is k+d$. ADD i,i,8 \hfil$1$ &\ul{sl N11. Stepdown?} $i\is i+1$. SET t,ki \hfil$1$ &$t\is k_{i-1}$. LDO ki,R,i \hfil$1$ CMP t,t,ki \hfil$1$ &If $K_{i-1}\le K_i$, BNP t,N10 \hfil$1$ &\quad go to N10 N12 SET f,0 \hfil$1$ &$f\is 0$. NEG d,d \hfil$1$ &$d\is -d$. SET t,l \hfil$1$ & Interchange $k\equiv l$. SET l,k \hfil$1$ SET k,t \hfil$1$ JMP N3 \hfil$1$ %%% N13 BNZ f,0F \hfil$1$ &If $f=0$, SET t,Rp \hfil$1$ &\quad interchange $R^\prime\equiv R$. SET Rp,R \hfil$1$ SET R,t \hfil$1$ JMP Sort \hfil$1$ &\quad and go to N2. %%% 0H SET $0,Rp \hfil$1$ &Otherwise sorting is complete. POP 1,0 &Return $R^\prime$.