þþâ èI=G=H=K=L=J=EMò7;======= Get_Parm routine for WDir program ========ü&X;****************************** #X;Get_Parm routine to be used as!X;a code block for the Action!!X;W_Dir program. This routine$&X;started 25-Oct-91 by Jon D. Melbo.#X;******************************8X;BX; general equatesL ƒEOL›VX;`X; SpartaDOS equates j †COMTAB t‡ZCRNAME~‡BUFFOFF ˆ‡COMFNAM!’X;œ ;; or whatever...¦ !…START°X;ºX; allocated space for varsÄA†TMPPRM;; this is a temporary storrage area for the CL parmÎX;Ø …STARTâ/X; save the addr in the A & X regs to prmadrì3X; Action! will pass the addr via the A & X regsö>X; check Action! manual to see if A is low and X is high...P‰FKPRMADR1 P‰FKPRMADR2P‰FKPRMADR3&‰FKPRMADR1(&‰FKPRMADR22&‰FKPRMADR3<X;F;X; set up the addr of ZCRNAME in our fake crunch routineP%>‡ZCRNAMEZ Q@†COMTAB7dP†CRUNCHn%>‡ZCRNAMEx Q@†COMTAB7‚P†CRUNCHŒX;–(X; main routine  X;ª †CRUNCH´CF†NEGPRM;; there were no parameters on th CL if CRUNCH (ZCRNAME)¾$X; set the Z flagÈX;ÒJX; ok, there was some parameter data on th CL, copy COMFNAM into TMPPRMÜ%%>‡COMFNAM;; used to index COMFNAMæ$>;; used to index TMPPRMð …LOOP1ú)Q@†COMTAB7;; read next byte at COMFNAM(P†TMPPRM9;; store read byte in TMPPRM32"(R>ƒEOL;; check if byte read is an EOL,$H…LOOP1;; still more valid bytes!6GX; an EOL was encountered, whole parameter has been stored in TMPPRM@X;J#X; copy TMPPRM into Action! ParmT%$>;; used to index TMPPRM & FPA1^ …LOOP2h)Q†TMPPRM9;; read data from temp bufferr=R>ƒEOL;; we DONT want to stor an EOL in an Action! string!| FˆSTRLNGTH†;2;; store in action string 1 thru LEN, NOT 0 thru LEN-1!*‰FKPRMADR1Pÿÿ9;; store in Action! Parmš !…LOOP2¤ ˆSTRLNGTH®@‰FKPRMADR2&ÿÿ;; put it as the 0th byte of Parm (length byte)¸X;Â#„DONE:;; end of routine Get_ParmÌX;ÖX; fake crunch routineà9†CRUNCH!ÿÿ;;the operand for this jmp will be replacedêX;ôGX;this is what to do if no parameters were found on the command lineþ †NEGPRMˆDFLTPARM =A…D:*.*A3X; copy default parameter into Action's Parm var$>;; indexing purposes&…LOOP3QˆDFLTPARM90E‰FKPRMADR3Pÿÿ9;; store it in parm addr, $FFFF will be substituted:(X; at run timeD4(ˆDFLTPARM;; check if last char was read & storedN F„DONE;; yup, now we're done!X"2;; nope, still more to copy...b0!…LOOP3;; go back up and do copy next char...