>Any-Sort  menu 12 ( init 2 menu < F menu P 12:3 Z :'''' d&'"PRESS '*' TO INITIALIZE DATA" n3'"PRESS 'R' TO SORT INTO ALPHABETICAL ORDER" x;'"PRESS 'L' TO LOAD DATA 'S' TO SAVE DATA" >'"PRESS 'P' TO SCREEN LIST 'O' TO PRINTER LIST" <'"PRESS 'A' TO ENTER 'A$' 'B' TO ENTER 'B$'" >'"PRESS 'C' TO CORRECT 'A$' 'D' TO CORRECT 'B$'" F'"PRESS 'H' TO DELETE AN ENTRY 'I' TO EXCHANGE TWO ENTRIES" .'"PRESS 'E' TO APPEND 'A$' THEN 'B$'" ='"PRESS 'F' TO FIND AN ENTRY FOR UPDATING 'A$' & 'B$'" 6'"PRESS 'G' TO FIND AN ENTRY FOR UPDATING 'B$'" '"PRESS 'Z' TO END" Z$= Z$ = "L" Z$= "l" load Z$ = "S" Z$= "s" save  Z$ = "N" Z$= "n" new % Z$ = "P" Z$= "p" x=1:slist ! Z$ = "O" Z$= "o" plist 3 Z$ = "`" Z$= "~" smallprint:2:plist:3 ! Z$ = "R" Z$= "r" sort2 "" Z$ = "A" Z$= "a" enterA ," Z$ = "B" Z$= "b" enterB 6# Z$ = "E" Z$= "e" enterAB @$ Z$ = "C" Z$= "c" correctA J$ Z$ = "D" Z$= "d" correctB T! Z$ = "F" Z$= "f" findA ^! Z$ = "G" Z$= "g" findB h" Z$ = "H" Z$= "h" delete r Z$ = "I" Z$= "i" swap | Z$ = "Z" Z$= "z" 14:  Z$ = "1" x=500:slist  Z$ = "2" x=1000:slist  Z$ = "*"  menu   init A$(2000),B$(2000),C$(2000) 14 : *FX12,3 HIGH=0:N=0:AP=0:NE=1 L f5 - Finish Line / Continue Search. f6 - Finish Line + Start Search.  *KEY5@|M  *KEY6&|M  *KEY8@    new & NE=1:AP=0 0 :'' : enter D N sort X12 b :'' l15 v N% = 1 HIGH  A$=(255)  M% = N% HIGH # A$(M%) < A$ A$=A$(M%):X%=M%  (N%)" ";A$ Ȕ A$(N%),A$(X%) Ȕ B$(N%),B$(X%)  G$=    load  :''  *DIR  *. '''  "Enter filename : "FILE$' * FILE$="" T`C 4A=(FILE$) > #A,HIGH H N%= 1 HIGH R#A,A$(N%),B$(N%) \ f#A p z  save :''"SAVING"''' *. ''' "Enter filename : "FILE$  FILE$="" tlC A=(FILE$)  #A,HIGH  N%= 1 HIGH #A,A$(N%),B$(N%)  #A    plist 12 $15 . 1,27,1,45,1,1 8 ***Enter Title Here*** B 1,27,1,45,1,0 L N = 1 HIGH V A$(N); `P= j P 2 = 1 " ";:P=P+1 t P>=43 tHD ~:" .";:P=P+2: P>=43 45);B$(N)  G$=    slist 12 14  N = x HIGH (N);5);A$(N); P=  P 2 = 1 " ";:P=P+1  P>=43 T^E  Q=((45-P)/2)  Q," ."); # (B$(N)) >=94 :36);B$(N) ( (B$(N)) <94 45);B$(N) 2 <G$= F P Z enterA d append n AP=1 N=N1:HIGH=HIGH1 x N=N+1:(N);" : ";  " "A$(N) HIGH=HIGH+1     enterB  append  AP=1 N=N1:HIGH=HIGH1 12  $N=N+1:(N);" : ";A$(N);37);  " "B$(N) HIGH=HIGH+1   " , enterAB 6 N=HIGH @12 J TN=N+1:(N);" : "; ^ " "A$(N) h50);:11 r ""B$(N) |HIGH=HIGH+1     append  :'''  AP=1:NE=0 #"Enter No of new input : "N1 N1=N1-1:HIGH1=N1    correctA  :'' $"Correct which entry : "CHAN' 15);A$(CHAN)  "Enter Name : "NAME$ &A$(CHAN)=NAME$ 0 : DcorrectB N12 X :'' b$"Correct which entry : "CHAN' ls15);"......................................................................................................." v15);B$(CHAN)  "Enter Name : "NAME$ B$(CHAN)=NAME$    findA 12 :' ! ''"Find which word : "A$  A1$=""  A1$=A$ N=0  N+=1 find=A$(N),A1$,1)   find<>0 N>=HIGH 0 find=0 '"Not found" : updateAB : dFG  (N);" : ";A$(N) *s15);"......................................................................................................." 415);B$(N) > "Enter Name : "NAME$ H* NAME$="@" 15);:11:B$(N)':dnG R* NAME$="&" 15);:11:B$(N)':dFG \ NAME$)="@" f!z=(NAME$):14+z);:11:" "' p#NAME$=NAME$):B$(N)=NAME$:dnG z B$(N)=NAME$  dFG    findB 12 :' ! ''"Find which word : "A$ A1$="":A2$="":A3$=""  N%= 1 (A$) A=(A$,N%,1)) - A>90 N%=1 A1$+=(A-32):A2$+=(A-32) * A>90 N%>1 A1$+=(A-32):A2$+=(A) 4 A<91 N%=1 A1$+=(A):A2$+=(A):A3$+=(A+32) 7 A<91 N%>1 A1$+=(A):A2$+=(A+32):A3$+=(A+32)  A>90 A3$+=(A) $ .N=0 8 BN+=1 Lfind=B$(N),A$,1) Vfind1=A$(N),A1$,1) `find2=B$(N),A2$,1) jfind3=B$(N),A3$,1) t7 find<>0 find1<>0 find2<>0 find3<>0 N=HIGH ~B find=0 find1=0 find2=0 find3=0 '"Not found" : dJH (N);" : ";A$(N) s15);"......................................................................................................." 15);B$(N)  "Enter Name : "NAME$ * NAME$="@" 15);:11:B$(N)':TxI * NAME$="&" 15);:11:B$(N)':dJH  NAME$)="@" !z=(NAME$):14+z);:11:" "' #NAME$=NAME$):B$(N)=NAME$:TxI  B$(N)=NAME$ dJH   updateAB  N=HIGH ( '11);A$ 2N=N+1:(N);" : "; < " "A$(N) F* A$(N)="@" 10);:11:A$':A$(N)=A$ P( A$(N)="&" 10);:11:" ":dFG Z 30); d ""B$(N) nHIGH=HIGH+1 x  delete 12::'' 3"Enter number of entry to be deleted : "NUMDEL -'A$(NUMDEL);37);B$(NUMDEL)''"Go? (Y/N)" A$=  A$="Y" A$="y" dRJ  A$<>"Y"  N%= NUMDEL HIGH A$(N%)=A$(N%+1) B$(N%)=B$(N%+1)  HIGH=HIGH-1    swap "12 , :''' 63'"Enter number of entry to be swapped : "swap1 @'A$(swap1);37);B$(swap1) J8'"Enter number of entry to be swapped with : "swap2 T'A$(swap2);37);B$(swap2) ^''"Go? (Y/N)" hA$= r A$="Y" A$="y" tFK | A$<>"Y" Ȕ A$(swap1),A$(swap2) Ȕ B$(swap1),B$(swap2)   smallprint 2 (1,27,1,65,1,7 : 7/72 Line Spacing 1,27,1,120,1,0 : Draft 1,27,1,77 : 12 Pitch 1,27,1,15 : Condensed "1,27,1,83,1,0 : Superscript 3    assem  &lowest=&50000 0swap=&50080 : mc=&50100 Dmem=&51000 N X result=0 b char1=1 l char2=2 v base=3 index=4 high=5 str=6 low=7 count1=8 count2=9 lowstore=10 sw=11  D%=mem F%=HIGH H%=lowest   pass= 0 2 2 P%=mc [ OPT pass * 4MOV count1,#0 >MOV count2,#0 HADR sw,swap R \ .loop1 fMOV count1,count2 pMOV char1,#255 zSTRB char1,[low]  .loop2 MOV result,#0 MOV index,#0 MOV str,base ADD str,str,count1,LSL#6  .comp_chars LDRB char1,[low,index] LDRB char2,[str,index] CMP char1,char2 MOVGT result,#1 MOVLT result,#2  BNE done  CMP char1,#13 $ADDEQ result,result,#2 .CMP char2,#13 8ADDEQ result,result,#1 BADD index,index,#1 LCMP result,#0 VBEQ comp_chars ` j .done tCMP result,#1 ~ BNE next  MOV lowstore,count1 MOV index,#0 .yes LDRB char2,[str,index] STRB char2,[low,index] LDR char1,[str,#-4] STR char1,[low,#-4] ADD index,index,#1 CMP char2,#13  BNE yes   .next  ADD count1,count1,#1 CMP count1,high  BNE loop2 ( 2MOV str,base <ADD str,str,count2,LSL#6 FMOV lowstore,lowstore,LSL#6 PADD lowstore,lowstore,base Z dMOV index,#0 n .swap1 xLDRB char2,[str,index] STRB char2,[sw,index] LDR char1,[str,#-4] STR char1,[sw,#-4] ADD index,index,#1 CMP char2,#13  BNE swap1  MOV index,#0  .swap2 LDRB char2,[lowstore,index] STRB char2,[str,index] LDR char1,[lowstore,#-4] STR char1,[str,#-4] ADD index,index,#1 CMP char2,#13  BNE swap2 " ,MOV index,#0 6 .swap3 @LDRB char2,[sw,index] JSTRB char2,[lowstore,index] TLDR char1,[sw,#-4] ^STR char1,[lowstore,#-4] hADD index,index,#1 rCMP char2,#13 | BNE swap3  ADD count2,count2,#1 CMP count2,high  BNE loop1  .out MOV PC,R14 ]  pass    sort2 :assem::15 Z%=0 " N%= mem mem+(HIGH*64) 64  Z%+=1 &$N%=A$(Z%) 0 N%!-4=Z% : D N mc X bZ%=0 l! N%= mem mem+(HIGH*64) 64 v Z%+=1 Z%;(5)$N% A$(Z%)=$N% C$(Z%)=B$(N%!-4)    N%=1 HIGH B$(N%)=C$(N%)  G$=