home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / SUBMIT / IFSKIP21.LBR / IFSKIP.DQC / IFSKIP.DOC
Text File  |  2000-06-30  |  15KB  |  341 lines

  1.  
  2.                  DOCUMENTATION FOR //IF.COM AND //SKIP.COM
  3.                       82/06/10   Reformatted 85/10/20
  4.  
  5. Modifications 86/10/16 by C.B. Falconer (versions 2.1)
  6. Thσ $$$.SU┬ filσ i≤ expecteΣ t∩ bσ founΣ oε drivσ A¼á use≥ 0«á  JO┬ 1.╡ anΣ ì
  7. CCP½á 2.▒ place/usσ i⌠ froφ there«á  Fo≥ usσ oε othe≥ thaε use≥ areß ░á yo⌡ ì
  8. should be running CCP+ and do any cancellation of jobs with:
  9.      era a0:$$$$$$.sub        (CCP+ will parse this)
  10.                               (the double $'s represent $ to JOB/SUBMIT)
  11.  
  12. Modifications 85/10/20 by C.B. Falconer (versions set to 2.0 from 1.0)
  13.  
  14. //I╞á wil∞á functioε witΦ system≤ tha⌠ d∩ no⌠ upshif⌠ commanΣá line≤á (e.g« ì
  15. CCPLU╙ witΦ thσ UPñ commanΣ executed)«á  //SKI╨ consider≤ thσ ";ó a≤ aε eo∞ ì
  16. marker¼á s∩ tha⌠ command≤ caε havσ trailinτ commen⌠ areas¼á e.g:
  17.  
  18.       "//ski≡ 3╗ this is a comment"
  19.  
  20.     ------------------------------------------------------------------
  21.  
  22. //I╞ i≤ ß prograφ t∩ tes⌠ variou≤ condition≤ froφ withiε ß CP/═ SUBMI╘ filσ ì
  23. anΣá theεá eithe≥á ski≡ thσ nex⌠ linσ iε thσ submi⌠á file¼á o≥á executσá i⌠ ì
  24. normally¼á dependinτá oεá thσ result≤ oµ thσ tests«á //I╞ caε tes⌠ fo≥á thσ ì
  25. presencσá o≥á absencσá oµ onσ o≥ morσ files¼á tes⌠ ßá filσá fo≥á emptiness¼ ì
  26. comparσá tw∩ filespec≤ fo≥ equality¼á tes⌠ Submi⌠ parameter≤á fo≥á expecteΣ ì
  27. syntax¼ tes⌠ thσ defaul⌠ drive¼ anΣ more.
  28.  
  29. Wheεá combineΣ witΦ thσ //SKI╨ prograφ thσ powe≥ oµ //I╞ caε bσ expandeΣ t∩ ì
  30. conditionall∙á executσá entirσá block≤ oµ line≤á withiεá thσá Submi⌠á file« ì
  31. IF...THEN...ELS┼á structure≤ caε bσ easil∙ implementeΣ withiε Submi⌠á file≤ ì
  32. dependinτ upoε thσ parameter≤ supplied¼ o≥ thσ statu≤ oµ file≤ oε thσ disk≤ ì
  33. wheε thσ jobstreaφ i≤ submitted.
  34.  
  35.  
  36. THE //IF COMMAND:
  37.  
  38. Syntax:
  39.  
  40. (Square brackets indicate optional parameters)
  41.  
  42.  
  43. //IF [parm1 [parm2]] [:options]
  44.  
  45.    where:
  46.  
  47. ..---!----!---------------------------------------------------------------R
  48. ..---!---------------------------------------------------------------R
  49. <parm1╛ i≤ ß standarΣ CP/═ filσ referencσ eithe≥ entereΣ literally¼ o≥ ì
  50. ááááásupplieΣá b∙á Submi⌠ paramete≥ substitution«á Thσ synta°á i≤á thσ ì
  51. ááááánorma∞ D:FILENAME.EX╘ form«á  Iµ eithe≥ Filenamσ o≥ Extensioε arσ ì
  52. áááááno⌠ entereΣ the∙ defaul⌠ t∩ blanks«á Iµ thσ Drivσ i≤ no⌠ entered¼ ì
  53. áááááthσá curren⌠ drivσ i≤ assumed«á Iµ thσ namσ o≥ extensioεá contaiε ì
  54. áááááquestioε marδ (?⌐ o≥ asterisδ (*⌐ characters¼á thσ filσ referencσ ì
  55. ááááái≤ saiΣ t∩ bσ ambiguous« Otherwisσ i⌠ i≤ unambiguous.
  56.  
  57. <parm2╛á i≤á aε optiona∞ seconΣ filespeπ useΣ b∙ somσ oµá thσá option≤ ìèááááádescribeΣ below« Thσ default≤ arσ thσ samσ a≤ fo≥ parm1.
  58.  
  59. <options╛ i≤ ß strinτ oµ single-characte≥ option≤ witΦ n∩á interveninτ ì
  60. áááááo≥á trailinτ blanks«á Thσ optioε lis⌠ mus⌠ bσ separateΣ froφá thσ ì
  61. áááááprecedinτ parameter≤ b∙ a⌠ leas⌠ onσ blank¼ anΣ mus⌠ alway≤ begiε ì
  62. áááááwitΦá ß coloε (:⌐ t∩ identif∙ i⌠ a≤ thσ optioε list¼á anΣ preven⌠ ì
  63. ááááái⌠á froφá beinτ confuseΣ witΦ parm▒ o≥ parm▓ iµ onσ o≥á botΦá arσ ì
  64. áááááomitted«á Thσ entirσ   optioε lis⌠ ma∙ als∩ bσ omitted¼á iε whicΦ ì
  65. ááááácasσ thσ identifyinτ coloε shoulΣ no⌠ bσ entered« Thσ orderinτ oµ ì
  66. áááááthσ option≤ withiε thσ lis⌠ i≤ no⌠ significant.
  67.  
  68. ..---!----!---------------------------------------------------------------R
  69. Thσá optioεá lis⌠ i≤ reall∙ ß se⌠ oµ test≤ t∩ bσ performeΣ upoεá thσá firs⌠ ì
  70. parameter¼á parm1«á (Parm▒ i≤ assumeΣ t∩ bσ thσ namσ oµ ß file¼á bu⌠ ma∙ iε ì
  71. fac⌠ bσ an∙ tex⌠ a⌠ all¼á a≤ lonτ a≤ i⌠ conform≤ t∩ thσ synta° fo≥ ßá valiΣ ì
  72. filσ reference.⌐ Iµ thσ test≤ arσ passed¼á thσ //I╞ commanΣ doe≤ nothinτ a⌠ ì
  73. all¼ anΣ thσ nex⌠ linσ iε thσ submi⌠ filσ i≤ processeΣ normally.
  74.  
  75. Iµá however¼á an∙á oµ thσ specifieΣ optioε test≤ fails¼á thσá //I╞á commanΣ ì
  76. modifie≤á thσ submi⌠ contro∞ filσ (A:$$$.SUB⌐ t∩ ski≡ ove≥ thσ nex⌠ commanΣ ì
  77. iε thσ file«á CommanΣ processinτ theε continue≤ witΦ thσ linσ afte≥ thσ onσ ì
  78. whicΦ wa≤ skipped¼á iµ any«á Iµ tw∩ mutuall∙ exclusivσ option≤ arσ includeΣ ì
  79. iε thσ optioε list¼ thσ followinτ linσ wil∞ neve≥ bσ executed.
  80.  
  81.  
  82. Explanation of option characters:
  83.  
  84. ..---!---------------------------------------------------------------R
  85. A    Ambiguous║á Truσ iµ parm▒ i≤ aε ambiguou≤ filσá reference«á Falsσ ì
  86. áááááotherwise«á Thσá ┴ optioε doe≤ no⌠ tes⌠ t∩ seσ iµ ß filσ o≥ file≤ ì
  87. áááááexists«á Fo≥á examplσá thσ paramete≥ *.AS═ wil∞ pas≤ thσá ┴á tes⌠ ì
  88. áááááregardles≤ oµ whethe≥ therσ arσ an∙ .AS═ file≤ oε thσ disk.
  89.  
  90. U    Unambiguous║á Truσá iµá parm▒ i≤ aε unambiguou≤á filσá reference« ì
  91. áááááFalsσ otherwise.
  92.  
  93. P    Present║á Truσá iµá a⌠ leas⌠ onσ filσ exist≤á whicΦá matche≤á thσ ì
  94. áááááspecificatioεá giveε iε parm1«á Parm▒ ma∙ bσ ambiguou≤ (unles≤ oµ ì
  95. ááááácoursσ thσ ╒ optioε appear≤ iε thσ list)
  96.  
  97. M    Missing║á Truσ iµ therσ exist≤ n∩ filσ whicΦ matche≤ thσ specifiì
  98. ááááácatioε giveε iε parm1« Parm▒ ma∙ bσ ambiguous.
  99.  
  100. C    Contents║á Truσá iµ thσ filσ referenceΣ b∙ parm▒ exist≤ anΣá conì
  101. ááááátain≤á a⌠á leas⌠ onσ recorΣ (sector)«á Iµ Parm▒ i≤ ambiguou≤á thσ ì
  102. ááááátes⌠ fails.
  103.  
  104. E    Empty║á Truσ iµ thσ filσ referenceΣ b∙ parm▒ exist≤ iε thσ direcì
  105. ááááátor∙ bu⌠ contain≤ n∩ data« Iµ Parm▒ i≤ ambiguou≤ thσ tes⌠ fails.
  106.  
  107. D    Drivσ substitution║á Thi≤ optioε i≤ no⌠ reall∙ ß test¼ anΣ canno⌠ ì
  108. áááááfai∞ a≤ such«á I⌠ cause≤ whateve≥ drivσ ha≤ beeε entereΣ iε parm▓ ì
  109. ááááát∩ bσ moveΣ int∩ parm▒ beforσ an∙ testinτ i≤ donσ oεá parm1«á Fo≥ ì
  110. áááááexamplσá iµ parm▒ werσ A:TEST.FI╠ anΣ parm▓ werσ B║á al∞ thσá reì
  111. ááááámaininτá option≤ woulΣ trea⌠ parm▒ a≤ iµ i⌠ haΣ beeεá B:TEST.FIL« ì
  112. áááááIµá parm▓ i≤ blank¼á o≥ doe≤ no⌠ contaiε ß drivσ spec¼á parm▒á i≤ ì
  113. ááááámodifieΣ t∩ removσ an∙ explici⌠ drivσ spec«á Parm▒ theε refer≤ t∩ ìèáááááthσ defaul⌠ drive« Notσ agaiε tha⌠ thσ orde≥ oµ thσ option≤ make≤ ì
  114. ááááán∩á differencσ t∩ thσ program«á Thσ ─ optioε i≤ alway≤á performeΣ ì
  115. ááááábeforσá an∙á othe≥á tests¼á eveε iµ i⌠ occur≤ a⌠ thσ enΣá oµá thσ ì
  116. áááááoptioε list.
  117.  
  118. ..---!----!---------------------------------------------------------------R
  119. ..---!---------------------------------------------------------------R
  120. Thσá followinτá threσ option≤ arσ matchinτ tests«á The∙ matcΦá portion≤á oµ ì
  121. parm▒ agains⌠ thσ correspondinτ portion≤ of parm2.
  122.  
  123. 0    Matche≤ thσ drivespeπ portion≤ oµ parm▒ anΣ parm2«  Test≤ truσ iµ ì
  124. áááááthσ samσ drivσ i≤ referreΣ t∩ b∙ both«á  Notσ tha⌠ iµ onσ oµá thσ ì
  125. ááááádrive≤ i≤ explici⌠ anΣ thσ othe≥ i≤ defaulted¼ thσ tes⌠ wil∞ pas≤ ì
  126. áááááo≥á no⌠ dependinτ upoε whethe≥ thσ explici⌠ drivσ i≤ iε fac⌠á thσ ì
  127. ááááácurren⌠ defaul⌠ drive«á Iµ botΦ parm▒ anΣ parm▓ arσ missing¼ thi≤ ì
  128. ááááátes⌠á wil∞á pass¼á sincσ botΦ parameter≤ refe≥ b∙ defaul⌠ t∩á thσ ì
  129. ááááácurren⌠ drive.
  130.  
  131. 1    Matche≤á thσ filenamσ portioε oµ parm▒ anΣ parm2«á Test≤ truσá iµ ì
  132. áááááthσ filename≤ matcΦ o≥ arσ botΦ missing« Iµ eithe≥ o≥ botΦ oµ thσ ì
  133. áááááfilename≤ arσ ambiguous¼á thσ ambiguou≤ character≤ arσ considereΣ ì
  134. ááááát∩ matcΦ thσ correspondinτ portioε oµ thσ othe≥ name« Fo≥ examplσ ì
  135. áááááiµá parm▓á i≤ ¬ thi≤ tes⌠ wil∞ alway≤ pass«á Notσ tha⌠á onl∙á thσ ì
  136. áááááfirs⌠ ╕ character≤ oµ thσ name≤ arσ tested.
  137.  
  138. 2    Matche≤ thσ extensioε (filetype⌐ portioε oµ parm▒ anΣ parm2« Samσ ì
  139. áááááa≤á optioεá ▒á excep⌠ tha⌠ onl∙ thσ threσá character≤á afte≥á thσ ì
  140. áááááperioΣ oµ eacΦ paramete≥ arσ tested.
  141.  
  142. No optioεá list║á Iµá thσ optioε lis⌠ i≤ omitteΣá entirely¼á thσá //I╞ ì
  143. ááááácommanΣ merel∙ test≤ t∩ seσ iµ anythinτ wa≤ entereΣ followinτ thσ ì
  144. áááááworΣá //I╞ oε thσ commanΣ line«á Iµ thσ   remainde≥ oµá thσá linσ ì
  145. ááááá(afte≥á Submi⌠ paramete≥ substitution⌐ i≤ blank¼á thσ tes⌠ fails« ì
  146. áááááIµ an∙ non-blanδ characte≥ appear≤ oε thσ line¼á thσ tes⌠ passes« ì
  147. áááááFo≥ examplσ thσ line
  148.  
  149.          //IF $1
  150.  
  151.      test≤á t∩á seσ iµ paramete≥ numbe≥ $▒ wa≤ defineΣ oεá thσá Submi⌠ ì
  152. ááááácommanΣ line«á Iµ i⌠ wa≤ not¼ thσ linσ afte≥ substitutioε become≤ ì
  153. ááááájus⌠ "//I╞ "¼ anΣ thσ tes⌠ fails.
  154.  
  155. ..---!----!---------------------------------------------------------------R
  156. ..---!---------------------------------------------------------------R
  157.  
  158. Error Messages:
  159.  
  160. Thσá followinτá erro≥ message≤ indicatσ fata∞ error≤á iεá processing«á  Thσ ì
  161. remainde≥ oµ thσ submi⌠ filσ i≤ no⌠ processed¼á anΣ contro∞ return≤ t∩á thσ ì
  162. console.
  163.  
  164. Option "X" not valid....CANCELED
  165.  
  166.      ┴á characte≥á appear≤á iε thσ optioε lis⌠ whicΦ i≤ no⌠á onσá oµá thosσ ì
  167. defineΣ above.
  168.  
  169. Error accessing .SUB file....CANCELED
  170.  
  171.      Thσ filσ A:$$$.SU┬ coulΣ no⌠ bσ found¼á o≥ coulΣ no⌠ bσ closed¼ b∙ thσ ìè//I╞á program«á Thi≤á erro≥ caε als∩ occu≥ iµ //I╞ i≤ ruε froφ thσá consolσ ì
  172. rathe≥ thaε withiε ß submi⌠ file¼á o≥ iµ //I╞ i≤ thσ las⌠ linσ iε ßá submi⌠ ì
  173. file╗ i.e« therσ i≤ n∩ nex⌠ linσ t∩ ski≡ wheε ß tes⌠ fails.
  174.  
  175.  
  176.  
  177. THE //SKIP COMMAND:
  178.  
  179. Thσá ski≡ commanΣ i≤ useΣ t∩ unconditionall∙ ski≡ ove≥ an∙ numbe≥ oµá line≤ ì
  180. withiε ß Submi⌠ file« Normall∙ i⌠ i≤ useΣ a≤ thσ linσ immediatel∙ followinτ ì
  181. aεá //I╞á command«á Iεá thi≤ wa∙ thσ testinτ capabilitie≤ oµá //I╞á caεá bσ ì
  182. extendeΣá t∩á appl∙ t∩ morσ thaε onσ linσ oµ thσ file«á //SKI╨ caε als∩á bσ ì
  183. useΣ t∩ implemen⌠ IF...THEN...ELS┼ structure≤ withiε Submi⌠ files.
  184.  
  185. Syntax: (Square brackets indicate optional parameter.)
  186.  
  187. //SKIP [number]
  188.  
  189. ..---!----!---------------------------------------------------------------R
  190. ..---!---------------------------------------------------------------R
  191.      where:
  192.  
  193. <number╛á i≤ ß decima∞ intege≥ iε thσ rangσ 0-12╖ whicΦ indicate≤á thσ ì
  194. ááááánumbe≥ oµ line≤ iε thσ submi⌠ filσ t∩ bσ skipped« Iµ omitted¼ thσ ì
  195. ááááánumbe≥ ▒ i≤ assumed« Thσ numbe≥ mus⌠ bσ separateΣ froφ thσ //SKI╨ ì
  196. ááááácommanΣá b∙á a⌠ leas⌠ onσ space¼á anΣ ma∙ no⌠ havσá an∙á trailinτ ì
  197. áááááspaces.
  198.  
  199. //Ski≡ operate≤ b∙ evaluatinτ thσ argumen⌠ and¼ iµ i⌠ i≤ greate≥ thaε zero¼ ì
  200. modifyinτá thσá filσ A:$$$.SU┬ t∩ causσ thσ systeφ t∩ ignorσ thσá indicateΣ ì
  201. numbe≥ oµ lines« Iµ thσ argumen⌠ i≤ 0¼ //SKI╨ doe≤ nothinτ a⌠ all.
  202.  
  203. Error Messages:
  204.  
  205. Thσá followinτá erro≥ message≤ indicatσ fata∞ error≤á iεá processing«á  Thσ ì
  206. remainde≥ oµ thσ submi⌠ filσ i≤ no⌠ processed¼á anΣ contro∞ return≤ t∩á thσ ì
  207. console.
  208.  
  209. Error accessing .SUB file....CANCELED
  210.  
  211.      Thσ filσ A:$$$.SU┬ coulΣ no⌠ bσ found¼á o≥ coulΣ no⌠ bσ closed¼ b∙ thσ ì
  212. //SKI╨ program«á Thi≤ erro≥ caε als∩ occu≥ iµ //SKI╨ i≤ typeΣ directl∙ froφ ì
  213. thσ consolσ rather than within a submit file.
  214.  
  215. //SKIP argument not numeric....CANCELLED
  216.  
  217.      Thσ <number╛ paramete≥ contain≤ character≤ othe≥ thaε ░ t∩ 9.
  218.  
  219. //SKIP argument exceeds file size....CANCELLED
  220.  
  221.      Aεá attemp⌠ wa≤ madσ t∩ ski≡ ove≥ morσ line≤ thaε therσ arσá remaininτ ì
  222. iε thσ A:$$$.SU┬ file.
  223.  
  224.  
  225.  
  226. USAGE EXAMPLES:
  227. èExamplσ 1║á Thσ followinτ Submi⌠ filσ wil∞ assemblσ anΣ loaΣ ß sourcσ file« ì
  228. Thσ filσ namσ i≤ indicateΣ a≤ thσ firs⌠ parameter«á Iµ thσ seconΣ paramete≥ ì
  229. i≤ EDIT¼á thσ filσ wil∞ firs⌠ bσ edited«á Somσ erro≥ checkinτ i≤ done« Notσ ì
  230. thσá usσá oµá line≤ beginninτ witΦ ß semicoloε t∩ suppl∙á message≤á t∩á thσ ì
  231. operator«á CP/═á treat≤á sucΦ line≤ a≤ comments«á Thσ linσ number≤ arσá fo≥ ì
  232. referencσ purposes¼ anΣ arσ no⌠ par⌠ oµ the file.
  233.  
  234. [1]  //IF $1 :U2
  235. [2]  //SKIP 2
  236. [3]  ;PARAMETER 1 NOT VALID
  237. [4]  ERA A:$$$$$$.SUB              (use A0:$$$$$$.SUB with CCP+)
  238. [5]  //IF EDIT $2 :U012
  239. [6]  ED $1.ASM
  240. [7]  //IF $1.ASM :C
  241. [8]  ASM $1
  242. [9]  //IF $1.HEX :C
  243. [10] LOAD $1
  244.  
  245. Notes:
  246.  
  247.      Linσá 1║á Test≤ tha⌠ paramete≥ ▒ i≤ unambiguou≤ anΣ ha≤ ß filetypσá oµ ì
  248. al∞á blanks«á Paramete≥á ▓ i≤ missing¼á anΣ i≤ treateΣ a≤á blank≤á fo≥á thσ ì
  249. comparison.
  250.  
  251.      Linσ 2║ Iµ thσ tes⌠ i≤ passed¼ line≤ │ anΣ ┤ arσ skipped.
  252.  
  253.      Linσ 3║ Thσ operato≥ i≤ informeΣ oµ aε erro≥ condition
  254.  
  255.      Linσ 4║á Thσ submi⌠ filσ i≤ aborteΣ b∙ erasinτ A:$$$.SUB« Sincσ ñ i≤ ß ì
  256. specia∞á characte≥á t∩ SUBMIT¼á eacΦ onσ mus⌠ bσ representeΣ b∙ tw∩ iεá thσ ì
  257. sourcσ file.
  258.  
  259.      Linσá 5║á Thσ seconΣ paramete≥ i≤ testeΣ t∩ seσ iµ i⌠ i≤ equa∞ t∩á thσ ì
  260. worΣá "EDIT"«á Thσ ░ anΣ ▓ option≤ arσ extrß insurancσ tha⌠ thσá drivσá anΣ ì
  261. filetypσ arσ blank.
  262.  
  263.      Linσá 6║á Iµ thσ tes⌠ i≤ passeΣ thσ filσ i≤ editeΣ witΦ ß filetypσá oµ ì
  264. .ASM.
  265.  
  266.      Linσá 7║á Thσ filσ i≤ testeΣ t∩ seσ iµ i⌠ contain≤ data«á  Thi≤á help≤ ì
  267. insurσ tha⌠ thσ edito≥ terminateΣ normally.
  268.  
  269.      Linσ 8║ Iµ thσ tes⌠ i≤ passed¼ thσ filσ i≤ assembled.
  270.  
  271.      Linσá 9║á Thσ .HE╪ filσ i≤ testeΣ fo≥ content≤ t∩ hel≡ insurσ tha⌠ thσ ì
  272. assemble≥ terminateΣ normally.
  273.  
  274.      Linσ 10║á Iµ thσ .HE╪ filσ i≤ present¼ thσ filσ i≤ LOADeΣ t∩ producσ ß ì
  275. .CO═ file.
  276.  
  277.  
  278. Examplσ 2║á Thσ followinτ i≤ ß skeletoε examplσ oµ ho≈ //I╞ anΣ //SKI╨á caε ì
  279. bσ useΣ t∩ forφ aε IF....THEN....ELSE structure.
  280.  
  281. <-------------------------------------->
  282. <--------- prior submit lines --------->
  283. <-------------------------------------->è//IF <aaaa> <bbbb> :<test>              
  284. //SKIP m
  285. <-------------------------------------->
  286. <---- m-1 lines to be executed--------->
  287. <---- if test is FALSE ---------------->
  288. <-------------------------------------->
  289. //SKIP n
  290. <-------------------------------------->
  291. <---- n lines to be executed ---------->
  292. <---- if test is TRUE------------------>
  293. <-------------------------------------->
  294. <---- remainder of submit file to ----->
  295. <---- be executed unconditionally ----->
  296. <-------------------------------------->
  297.  
  298. Notes:
  299.  
  300.      Thσá //I╞ conditioε test≤ whateve≥ combinatioε oµ option≤ i≤á desired« ì
  301. Iµá thσá condition≤ arσ no⌠ met¼á thσ //SKI╨ immediatel∙ belo≈ i≤á no⌠á exì
  302. ecuted«á Instead¼ contro∞ passe≤ througΦ t∩ thσ line≤ t∩ bσ executeΣ iµ thσ ì
  303. tes⌠á i≤á false¼á iεá effec⌠ thσ ELS┼ section«á Thσ las⌠ linσ oµá thσá ELS┼ ì
  304. sectioε i≤ anothe≥ //SKI╨ whicΦ skip≤ pas⌠ thσ THE╬ sectioε (thosσ line≤ t∩ ì
  305. bσ executeΣ iµ thσ tes⌠ i≤ true⌐ anΣ execute≤ thσ remainde≥ oµ thσ file.
  306.  
  307.      Iµá thσ //I╞ tes⌠ i≤ true¼á thσ firs⌠ //SKI╨ statemen⌠ skip≤ ove≥á thσ ì
  308. ELS┼ section«á Thσ valuσ φ i≤ choseε s∩ tha⌠ thσ las⌠ linσ skippeΣ ove≥á i≤ ì
  309. thσá seconΣ //SKI╨ statement«á  I⌠ take≤ somσ timσ t∩ ge⌠ useΣ t∩ seeinτá ß ì
  310. structurσ wherσ thσ ELS┼ come≤ betweeε thσ I╞ anΣ thσ THEN¼á bu⌠ thσ strucì
  311. turσ i≤ n∩ les≤ valiΣ fo≥ beinτ slightl∙ unorthodox.
  312.  
  313.  
  314. PROGRAM NOTES:
  315.  
  316. Thσá prograφ i≤ writteε fo≥ thσ 808░ processo≥ anΣ shoulΣ executσá properl∙ ì
  317. oε 8080¼ 8085¼ anΣ Z-8░ processors« I⌠ ha≤ beeε testeΣ unde≥ CP/M8░ versioε ì
  318. 2.2¼ bu⌠ shoulΣ operatσ properl∙ witΦ 2.1¼ 2.░ anΣ 1.┤ also.
  319.  
  320. Therσá i≤ ß mino≥ differencσ iε thσ operatioε oµ thσ ├ optioε dependinτá oε ì
  321. thσ versioε used«á Iµ thσ operatinτ systeφ identifie≤ itselµ a≤ versioε 2.░ ì
  322. o≥á abovσá (a≤ determineΣ b∙ ß cal∞ t∩ Functioε 12⌐ thσ ├ optioεá wil∞á usσ ì
  323. Functioε 35¼ "Computσ Filσ Sizeó iε orde≥ t∩ determinσ iµ thσ filσ contain≤ ì
  324. an∙á records«á Iµ thσ versioε tes⌠ show≤ tha⌠ thσ operatinτ systeφ i≤á pre-ì
  325. version-2¼á thσá ├ optioε tes⌠ merel∙ trie≤ t∩ reaΣ thσ firs⌠ recorΣ oµ thσ ì
  326. file.
  327.  
  328. Thσá onl∙á timσá thi≤ woulΣ makσ ß differencσ i≤ oεá ßá Randoφá filσá whicΦ ì
  329. happen≤á t∩ havσ n∩ record≤ iε thσ firs⌠ extent«á Thσ sequentia∞ reaΣ woulΣ ì
  330. fail¼á bu⌠ thσ Computσ Filσ Sizσ functioε woulΣ properl∙ repor⌠ thσá existì
  331. encσ oµ record≤ iε thσ file«á Whilσ sequentia∞ file≤ wil∞ tes⌠ correctl∙ oε ì
  332. an∙á version¼á file≤ whicΦ havσ beeε createΣ randoml∙ shoulΣ no⌠ bσá testeΣ ì
  333. fo≥ content≤ oε CP/═ 1.┤ o≥ earlier.
  334.  
  335. ╔á woulΣ appreciatσ beinτ informeΣ oµ an∙ bug≤ founΣ iε eithe≥ program¼á o≥ ì
  336. suggestion≤ fo≥ expansioε o≥ improvement.
  337. è
  338.           Gary P. Novosielski,
  339.           21 W. Pierrepont Avenue,
  340.           Rutherford, NJ 07070
  341. ∞▌