Array Copy
This program makes use of the auto-index registers at memory locations 10 and 11 to copy an array from one location to another. Location 10 (labelled as pArr1), references the array arr1 (the original). Location 11 (pArr1), references arr2 (the copy). Since the auto-index registers increment before being used, pArr1 and pArr2 are initialised to arr1-1 and arr2-1. Thus, when the first iteration of the loop executes, pArr1 and pArr2 will be correctly set to arr1 and arr2.
/ array copy:
*0200
cla cll
/ copy arr1 to arr2
copy,tad i pArr1
dca i pArr2
isz count
jmp copy
/ done
hlt
/ data
count, 7772
/ auto-indexing
*10
pArr1, arr1-1
pArr2, arr2-1
/ the arrays
*220
arr1, 1111;2222;3333;4444;5555
*240
arr2,0;0;0;0;0