0JZKERJAL:ASCNUM.TECA0JZXUZK0JZKERI2mo1.tttA0JX4MU(Q5)UN0JZKERI3MO1.TTTA0JX4MU(Q5)UM0JZKERI4MO1.TTTA0JX4MU(Q5)UP0JHK0JZKERI1MO1.TTTA0JXAZK0JZKGA0J0JIEBZJ27I27I0JXDZKMD MOVEIT.TEC - Please Be Patient As This May Take A While. 0UJ0UH(QN-QM)"L@O/OK0/'(QN-QM)"E@O/OK0/'!BADD! The User Has Entered A Bad Input ??? "n" = QN="m" = QM="p" = QP= The Following Relationships Must Hold: IN MOVING COULMN n THRU COLUMN m TO AFTER COLUMN p ON ALL LINES: [ m > or = n & ( p > or = m or p < n ) ] ZJC!OK0!(QP-QM)"E@O/OK1/'(QP-QM)"G@O/OK1/'(QN-QP)"G@O/OK2/'@O/BADD/ !OK1!1:A0JZXWZU2Q2-0"E@O/DONE1/'0U1(QP-Q2)"L@O/OK00/'@O/SLLL/!OK00! (QN-1)C0XA0K(QM-QN+1)C0XB0K(QP-QM)CGB0LGAZVZU20J0,ZPWZK@O/OK1/ !DONE1!QH-3"L1%H@O/OK1/'@O/DONN/!OK2!1:A0JZXWZU2Q2-0"E@O/DONE2/'0U1 (QM-Q2)"L@O/OK11/'@O/SLLL/!OK11!(QP)C0XA0K(QN-QP-1)C0XB0K(QM-QN+1)C0XC0KGB 0LGAGCZVZU20J0,ZPWZK@O/OK2/!DONN!!DONE2!QH-3"L1%H@O/OK1/' EG@ZZZZZZ.ZZZ!SLLL!  1234567890 2345678901 3456789012 4567890123 5678901234 6789012345 7890123456 "n" = QN="m" = QM="p" = QP=This Line Length In Characters = Q2= The Current Line Is Too Short For the Specified Move 0JZT ! MOVEIT.TEC ! 0JZKERJAL:ASCNUM.TECA0JZXUZK0JZKER I2mo1.ttt A  0JX4MU (Q5)UN0JZKER I3MO1.TTT A  0JX4MU (Q5)UM0JZKER I4MO1.TTT A  0JX4MU (Q5)UP0JHK0JZKER I1MO1.TTT A  0JXAZK0JZKGA0J 0JIEBZJ27I27I0JXDZKMD MOVEIT.TEC - Please Be Patient As This May Take A While. 0UJ 0UH (QN-QM)"L@O/OK0/' (QN-QM)"E@O/OK0/' !BADD!  The User Has Entered A Bad Input ??? "n" = QN="m" = QM="p" = QP= The Following Relationships Must Hold: IN MOVING COULMN n THRU COLUMN m TO AFTER COLUMN p ON ALL LINES: [ m > or = n & ( p > or = m or p < n ) ] ZJC !OK0! (QP-QM)"E @O/OK1/' (QP-QM)"G @O/OK1/' (QN-QP)"G @O/OK2/' @O/BADD/ !OK1! 1:A0JZXW ZU2 Q2-0"E@O/DONE1/' 0U1 (QP-Q2)"L@O/OK00/'@O/SLLL/ !OK00! (QN-1)C0XA0K (QM-QN+1)C0XB0K (QP-QM)C GB 0LGA ZV ZU2 0J0,ZPWZK@O/OK1/ !DONE1! QH-3"L1%H@O/OK1/' @O/DONN/ !OK2! 1:A0JZXW ZU2 Q2-0"E@O/DONE2/' 0U1 (QM-Q2)"L@O/OK11/'@O/SLLL/ !OK11! (QP)C0XA0K (QN-QP-1)C0XB0K (QM-QN+1)C0XC0K GB 0LGAGC ZV ZU2 0J0,ZPWZK@O/OK2/ !DONN! !DONE2! QH-3"L1%H@O/OK1/' EG@ZZZZZZ.ZZZ!SLLL!  1234567890 2345678901 3456789012 4567890123 5678901234 6789012345 7890123456 "n" = QN="m" = QM="p" = QP=This Line Length In Characters = Q2= The Current Line Is Too Short For the Specified Move 0JZT ! MOVEIT.TEC ! ! THIS COMMAND LINE WILL ALLOW THE USER TO MOVE ! ! COLUMNS OF A FILE AROUND AS FOLLOWS: ! ! - MOVE COLUMN n THRU COLUMN m TO AFTER COLUMN p ON ALL LINES ! ! OF A FILE. ! ! ! ! necessary conditions: ! ! ! ![ m > or = n & ( p > or = m or p < n ) ] ! ! ! ! THE ORIGIONAL FILE('S) WILL BE RENAMED "FILENAME.BAK" ! ! THE RESULTING FILE('S) WILL BE NAMED "FILENAME.FILETYPE" ! ! ! ! GET THE MACRO FOR DOING THE ASCII NUMBER TO TECO NUMBER CONVERSION ! ! PUT IT IN BUFFER "U" ! ! THE NUMBER IT CONVERTS TO IS IN BUFFER "5" ! ! THE NUMBER IT CONVERTS FROM IS IN BUFFER "4" ! 0JZKERJAL:ASCNUM.TECA0JZXUZK! MOVE COULMN n THRU COLUMN m TO COLUMN p ON ALL LINES ! 0JZKER I2mo1.ttt ! GET "n" THE USER DESIRES TO USE ! ! ELIMINATE ANY CARRIAGE RETURNS! A  ! CONVERT THE NUMBER FROM ASCII TO THE TECO EQIVALENT ! 0JX4MU ! LOAD BUFFER "N" WITH THE VALUE OF THE CHARACTER ! (Q5)UN0JZKER I3MO1.TTT ! GET "m" THE USER DESIRES TO USE ! ! ELIMINATE ANY CARRIAGE RETURNS! A  ! CONVERT THE NUMBER FROM ASCII TO THE TECO EQIVALENT ! 0JX4MU ! LOAD BUFFER "M" WITH THE VALUE OF THE CHARACTER ! (Q5)UM 0JZKER I4MO1.TTT ! GET "p" THE USER DESIRES TO USE ! ! ELIMINATE ANY CARRIAGE RETURNS! A  ! CONVERT THE NUMBER FROM ASCII TO THE TECO EQIVALENT ! 0JX4MU ! LOAD BUFFER "P" WITH THE VALUE OF THE CHARACTER ! (Q5)UP0JHK0JZKER I1MO1.TTT ! GET THE FILENAME THE USER DESIRES TO PREPROCESS ! ! ELIMINATE ANY CARRIAGE RETURNS! A  ! SAVE IT IN "A" BUFFER! 0JXAZK! READ THE INPUT FILE FROM BUFFER "D" ! 0JZKGA0J 0JIEBZJ27I27I0JXDZKMD! NOW GET A PAGE AT A TIME AND CONVERT THE TABS INTO THE APPROPRIATE ! ! NUMBER OF SPACES TO THE COLUMNS STILL LINE UP !  MOVEIT.TEC - Please Be Patient As This May Take A While. ! INITALIZE REGS ! 0UJ 0UH ! PERFORM A TEST SO THE FOLLOWING COMDITIONS ARE MET ! ! MOVE COULMN n THRU COLUMN m TO COLUMN p ON ALL LINES ! ! [ m > or = n & ( p > m or p < n ) ] ! (QN-QM)"L@O/OK0/' (QN-QM)"E@O/OK0/' ! HERE IF ITS BAD ! !BADD!  The User Has Entered A Bad Input ??? "n" = QN="m" = QM="p" = QP= The Following Relationships Must Hold: IN MOVING COULMN n THRU COLUMN m TO AFTER COLUMN p ON ALL LINES: [ m > or = n & ( p > or = m or p < n ) ] ZJC ! JUST KILL THE WHOLE MACRO HERE FOR NOW ! !OK0! ! MOVE COULMN n THRU COLUMN m TO COLUMN p ON ALL LINES ! (QP-QM)"E ! P=M SO DO CASE 1 ! @O/OK1/' (QP-QM)"G ! P>M SO DO CASE 1 ! @O/OK1/' (QN-QP)"G ! P PART IN "B" ! (QM-QN+1)C0XB0K ! GO THE REST OF WAY FORWARD SO TO PLACE THE N->M PART ! (QP-QM)C ! PLACE THE N->M PART ! GB ! BACK TO FRONT TO GET REST OF THE FRONT OF THE LINE ! 0LGA ! SHOW THE USER THE RESULT OF THE MOVE ! ZV !PUT BUFFER LENGTH IN BUFFER 2 ! ZU2 ! WRITE THIS PAGES'S WORTH INTO THE OUTPUT BUFFER & GET ANOTHER ! 0J0,ZPWZK@O/OK1/ ! ALL DONE CONVERTING FILE THIS COPY ! !DONE1! ! NOT 3 EMPTY BUFFERS YET SO NOT DONE ! QH-3"L1%H@O/OK1/' @O/DONN/ !OK2! 1:A0JZXW !PUT BUFFER LENGTH IN BUFFER 2 ! ZU2 Q2-0"E@O/DONE2/' 0U1 ! SEPERATE THE COLUMNS A DESIRED ! ! CASE 2 ! ! FIRST A TEST ! (QM-Q2)"L@O/OK11/'@O/SLLL/ !OK11! ! SAVE FRONT OF LINE IN "A" ! (QP)C0XA0K ! SAVE 2ND PART OF FRONT OF LINE IN "B" (STUFF THAT'LL COME AFTER N->M PART) ! (QN-QP-1)C0XB0K ! SAVE N->M PART IN "C" ! (QM-QN+1)C0XC0K ! BACK TO FRONT TO GET REST OF THE FRONT OF THE LINE ! ! GET THE 2ND PART OF FRONT OF LINE ! GB ! NOW GO TO THE FRONT & GET THE VERY FRONT PART THEN N->M PART ! 0LGAGC ! SHOW THE USER THE RESULT OF THE MOVE ! ZV !PUT BUFFER LENGTH IN BUFFER 2 ! ZU2 ! WRITE THIS PAGES'S WORTH INTO THE OUTPUT BUFFER & GET ANOTHER ! 0J0,ZPWZK@O/OK2/ ! ALL DONE CONVERTING FILE THIS COPY ! !DONN! !DONE2! ! NOT 3 EMPTY BUFFERS YET SO NOT DONE ! QH-3"L1%H@O/OK1/' EG@ZZZZZZ.ZZZ!SLLL!  1234567890 2345678901 3456789012 4567890123 5678901234 6789012345 7890123456 "n" = QN="m" = QM="p" = QP=This Line Length In Characters = Q2= The Current Line Is Too Short For the Specified Move 0JZT