TR 0 1 2 3 4 5 6 7 8 9 [x x x x][y y y y y y] 0. _/ A B C D E F G H I J *P1 *P2 set pointers, bgn=0 1. A/ A B C D E F G H I J *P1 -> TR 2. A/ E B C D E F G H I J *P2 -> *P1 *P1 *P2 shift pointers 3. A/ E B C D I F G H I J *P2 -> *P1 *P2 *P1 shift pointers 4. A/ E B C D I F G H C J *P2 -> *P1 *P1 *P2 shift pointers 5. A/ E B G D I F G H C J *P2 -> *P1 *P2 *P1 shift pointers (now P2 points to "bgn" location (0), so fetch from TR:) 6. A/ E B G D I F A H C J TR -> *P1 *P2 *P1 increment pointers, bgn=7 7. H/ E B G D I F A H C J *P1 -> TR 8. H/ E B G D I F A B C J *P2 -> *P1 *P1 *P2 shift pointers 9. H/ E F G D I F A B C J *P2 -> *P1 *P1 *P2 shift pointers 10. H/ E F G D I J A B C J *P2 -> *P1 *P2 *P1 shift pointers 11, H/ E F G D I J A B C D *P2 -> *P1 *P1 *P2 (now P2 points to "bgn" location (7), so fetch from TR:) 12. H/ E F G H I J A B C D TR -> *P1 (last iteration) [y y y y y y][x x x x]