Ž…€–ˆŽ€Ÿ ‘ˆ‘’…Œ€ ”ބޑ-2 ‘ˆ‘’…Œ€Ÿ Œ€ŠŽˆ‹ˆŽ’…Š€ “ŠŽ‚Ž„‘’‚Ž Žƒ€ŒŒˆ‘’€ 589.7545471.00042-01 33 01 ‹ˆ‘’Ž‚ 158 1985 ‘Ž„…†€ˆ… ‹ˆ‘’ 1.  งญ ็ฅญจฅ จ ใแซฎขจ๏ ฏเจฌฅญฅญจ๏ 2. Žกเ ้ฅญจฅ ช แจแโฅฌญฎฉ ฌ ชเฎกจกซจฎโฅชฅ 2.1. €คเฅแ ๆจ๏  เฃใฌฅญโฎข 2.2. Šซ๎็ฅขฎฉ  เฃใฌฅญโ CODE 3. ‚ๅฎคญ๋ฅ จ ข๋ๅฎคญ๋ฅ ค ญญ๋ฅ 3.1. ฎฌฅเ ช ญ ซ  3.2. ซฎช ใแโเฎฉแโข  3.3. ซฎช  เฃใฌฅญโฎข …Œ’ 3.4. ฎคฏเฎฃเ ฌฌ๋ ง ขฅเ่ฅญจ๏ 3.5. ’เฅกฎข ญจฅ USR 4. ‘ฎฎก้ฅญจ๏ 5. เฎฃเ ฌฌญ๋ฅ ง ฏเฎแ๋ 5.1. เฎฃเ ฌฌญ๋ฅ ง ฏเฎแ๋ คซ๏ ฎฏฅเ ๆจฉ แ ไ ฉซ ฌจ 5.1.1. .CHCOPY (FB,XM) 5.1.2. .CLOSE 5.1.3. .DELETE 5.1.4. .ENTER 5.1.5. .LOOKUP 5.1.6. .PURGE 5.1.7. .RENAME 5.1.8. .REOPEN 5.1.9. .SAVESTATUS 5.2. เฎฃเ ฌฌญ๋ฅ ง ฏเฎแ๋ คซ๏ ฎเฃ ญจง ๆจจ ขขฎค -ข๋ขฎค  5.2.1. .READ,.READC,.READW 5.2.2. .WRITE,.WRITC,.WRITW 5.2.3. .RCVD,.RCVDC,.RCVDW (FB,•Œ) 5.2.4. .SDAT,.SDATC,.SDATW (FB,•Œ) 5.2.5. .TTYIN,.TTINR 5.2.6. .TTYOUT,.TTOUTR 5.2.7. .PRINT 5.2.8. .MTIN 5.2.9. .MTOUT 5.2.10. .MTPRNT 5.2.11. .SPFUN 5.3. ‡ ฏเฎแ๋ ฎก้ฅฃฎ ญ งญ ็ฅญจ๏ 5.3.1. .CDFN 5.3.2. .CHAIN 5.3.3. .CMKT 5.3.4. .CNTXSW (FB,XM) 5.3.5. .CSIGEN 5.3.6. .CSISPC 5.3.6.1. ฅเฅค ็  จญไฎเฌ ๆจจ ฎ ฏฅเฅชซ๎็ โฅซ๏ๅ ฏเฎฃเ ฌฌฅ ฏฎซ์งฎข โฅซ๏ 5.3.7. .ABTIO 5.3.8. .CSTAT (FB,XM) 5.3.9. .DATE 5.3.10. .DEVICE(FB,XM) 5.3.11. .DSTATUS 5.3.12. .EXIT 5.3.13. .FETCH,.RELEAS 5.3.14. .FORK 5.3.15. .FPROT 5.3.16. .GTIM 5.3.17. .GTJB 5.3.18. .GTLIN 5.3.19. .GVAL,.PVAL 5.3.20. .HERR,.SERR 5.3.21. .HRESET 5.3.22. .INTEN 5.3.23. .LOCK,.UNLOCK 5.3.24. .MFPS, .MTPS 5.3.25. .MRKT 5.3.26. .MTATCH 5.3.27. .MTDTCH 5.3.28. .MTSET 5.3.29. .MTGET 5.3.30. .MTSTAT 5.3.31. .MTRCTD 5.3.32. .MWAIT (FB,XM) 5.3.33. .PEEK,.POKE 5.3.34. .PROTECT,.UNPROTECT (FB,XM) 5.3.35. .QSET 5.3.36. .RCTRLD 5.3.37. .SPND,.RSUM (FB,XM) 5.3.38. .SCCA 5.3.39. .SDTTM 5.3.40. .SETTOP 5.3.41. .SPCPS (FB,•Œ) 5.3.42. .SFDAT 5.3.43. .SFPA 5.3.44. .SRESET 5.3.45. .SYNCH 5.3.46. .TLOCK 5.3.47. .TRPSET 5.3.48. .TWAIT 5.3.49. .WAIT 6. ‘ฎฎก้ฅญจ๏ ˆ‹Ž†…ˆ… 1. Šฎค๋ ฎ่จกฎช ฏเฎฃเ ฌฌญ๋ๅ ง ฏเฎแฎข ˆ‹Ž†…ˆ… 2. ‘โเใชโใเ  กซฎช  CBLK ……—…œ ‘‘›‹Ž—›• „ŽŠ“Œ…’Ž‚ 1.  งญ ็ฅญจฅ จ ใแซฎขจ๏ ฏเจฌฅญฅญจ๏ Ÿคเฎฌ ฎฏฅเ ๆจฎญญฎฉ แจแโฅฌ๋ RT11 ๏ขซ๏ฅโแ๏ ฌฎญจโฎเ. ‚ ง ขจแจฌฎแโจ ฎโ ชฎญไจฃใเ ๆจจ โฅๅญจ็ฅแชจๅ แเฅคแโข จ ฏฎโเฅกญฎแโฅฉ ฏฎซ์งฎข โฅซ๏ ฌฎฆฅโ จแฏฎซ์งฎข โ์แ๏ ฎคจญ จง โเฅๅ ฌฎญจโฎเฎข RT11: ฌฎญจโฎเ ฎคญฎฃฎ ง ค ญจ๏ (SJ), ฌฎญจโฎเ ฎแญฎขญฎฃฎ-ไฎญฎขฎฃฎ ง ค ญจ๏ (FB) จ ฌฎญจโฎเ เ แ่จเฅญญฎฉ ฏ ฌ๏โจ (XM). ขแฅ จงซฎฆฅญญฎฅ ข ค ญญฎฌ คฎชใฌฅญโฅ, ฅแซจ ญฅ ฎฃฎขฎเฅญฎ ฎแฎกฎ, ฎโญฎแจโแ๏ ช ซ๎กฎฌใ ฌฎญจโฎเใ RT11. Œฎญจโฎเ ข๋ฏฎซญ๏ฅโแ๏ ฏ เ ซซฅซ์ญฎ แ ฏเจชซ คญ๋ฌจ ฏเฎฃเ ฌฌ ฌจ จ ฎกฅแฏฅ็จข ฅโ ข๋ฏฎซญฅญจฅ แซฅคใ๎้จๅ ไใญชๆจฉ: - ˆญจๆจ ซจง ๆจ๏ จ ใฏเ ขซฅญจฅ ๅ เ ชโฅเจแโจช ฌจ ฎฏฅเ ๆจฎญญฎฉ แจแโฅฌ๋; -  แฏเฅคฅซฅญจฅ แจแโฅฌญ๋ๅ เฅแใเแฎข จ ฏฎซใ็ฅญจฅ จญไฎเฌ ๆจจ ฎ แฎแโฎ๏ญจจจ ฎฏฅเ ๆจฎญญฎฉ แจแโฅฌ๋; - ˆญโฅเฏเฅโ ๆจ๏ ชฎฌ ญค; - Žฏฅเ ๆจจ แ ไ ฉซ ฌจ; - “ฏเ ขซฅญจฅ ขขฎคฎฌ-ข๋ขฎคฎฌ; - Žกฅแฏฅ็ฅญจฅ แข๏งจ ฌฅฆคใ ง ค ญจ๏ฌจ; - ‡ ขฅเ่ฅญจฅ จซจ ขเฅฌฅญญ๋ฉ ฏเจฎแโ ญฎข ฏเฎฃเ ฌฌ๋; -  กฎโ  แ เ แ่จเฅญญฎฉ ฏ ฌ๏โ์๎. ‘ข๏ง์ ฏฎซ์งฎข โฅซ๏ แ RT11 ฎแใ้ฅแโขซ๏ฅโแ๏ ฃซ ขญ๋ฌ ฎกเ งฎฌ แ ฏฎฌฎ้์๎ ชฎฌ ญค ชซ ขจ โใเญฎฃฎ ฌฎญจโฎเ  จ ฏเฎฃเ ฌฌญ๋ๅ ง ฏเฎแฎข. เฎฃเ ฌฌญ๋ฅ ง ฏเฎแ๋ ฎกฅแฏฅ็จข ๎โ เ งญฎฎกเ งญ๋ฅ ขฎงฌฎฆญฎแโจ คซ๏ ฌ ญจฏใซจเฎข ญจ๏ ไ ฉซ ฌจ, ข๋ฏฎซญฅญจ๏ ฎฏฅเ ๆจฉ ขขฎค -ข๋ขฎค , ใฏเ ขซฅญจ๏ ข๋ฏฎซญฅญจฅฌ จ ฏเจฎแโ ญฎขชฎฉ ฏเฎฃเ ฌฌ จ เฅ ซจง ๆจจ คเใฃจๅ แโ ญค เโญ๋ๅ แจแโฅฌญ๋ๅ ไใญชๆจฉ. เฎฃเ ฌฌญ๋ฉ ง ฏเฎแ ฏเฅคแโ ขซ๏ฅโ แฎกฎฉ ฌ ชเฎชฎฌ ญคใ, ฏฎฌฅ้ ฅฌใ๎ ฏฎซ์งฎข โฅซฅฌ ข จแๅฎคญ๋ฉ โฅชแโ ฏเฎฃเ ฌฌ๋ ญ  ๏ง๋ชฅ  แแฅฌกซฅเ  (ฏเฎฃเ ฌฌ  ฌฎฆฅโ แฎคฅเฆ โ์ ญฅแชฎซ์ชฎ ฏเฎฃเ ฌฌญ๋ๅ ง ฏเฎแฎข). Š ฆค ๏ ฌ ชเฎชฎฌ ญค  ง ฌฅญ๏ฅโแ๏ ฏฎแซฅคฎข โฅซ์ญฎแโ์๎ ฎก๋็ญ๋ๅ แจฌขฎซจ็ฅแชจๅ ชฎฌ ญค. ํโฎโ ฏเฎๆฅแแ ญ ง๋ข ฅโแ๏ ฌ ชเฎเ แ่จเฅญจฅฌ จ ข๋ฏฎซญ๏ฅโแ๏ ขฎ ขเฅฌ๏  แแฅฌกซจเฎข ญจ๏. „ซ๏ ไฎเฌจเฎข ญจ๏ ฌ ชเฎเ แ่จเฅญจ๏  แแฅฌกซฅเ จแฏฎซ์งใฅโ ฌ ชเฎฎฏเฅคฅซฅญจ๏, ขชซ๎็ฅญญ๋ฅ ข แจแโฅฌญใ๎ ฌ ชเฎกจกซจฎโฅชใ SYSMAC.SML, ชฎโฎเ ๏ ญ ๅฎคจโแ๏ ญ  แจแโฅฌญฎฌ โฎฌฅ จ ฌฎฆฅโ ก๋โ์ จแฏฎซ์งฎข ญ  ซ๎กฎฉ ฏเฎฃเ ฌฌฎฉ. ฎซ์่จญแโขฎ ฏเฎฃเ ฌฌญ๋ๅ ง ฏเฎแฎข จแฏฎซ์งใ๎โ ฌ ่จญญใ๎ ชฎฌ ญคใ …Œ’, ชฎโฎเ ๏ ฎกฅแฏฅ็จข ฅโ ฏฅเฅค ็ใ ใฏเ ขซฅญจ๏ ฌฎญจโฎเใ จง ฏเฎฃเ ฌฌ๋, ช ช โฎซ์ชฎ ฏเจ ข๋ฏฎซญฅญจจ ํโฎฉ ฏเฎฃเ ฌฌ๋ ฎ็ฅเฅค์ คฎๅฎคจโ คฎ ชฎฌ ญค๋ …Œ’. Œซ ค่จฉ ก ฉโ ชฎฌ ญค๋ …Œ’ แฎคฅเฆจโ ชฎค ข จญโฅเข ซฅ ฎโ 340 คฎ 377 (ขฎแ์ฌฅเจ็ญฎฅ), ฎฏเฅคฅซ๏๎้จฉ ฌฅแโฎฏฎซฎฆฅญจฅ ฏฅเฅค ข ฅฌ๋ๅ ฌฎญจโฎเใ  เฃใฌฅญโฎข: Œ‹€„˜ˆ‰ Žƒ€ŒŒ›‰ ‡€Ž‘ €‰’ 340-357 ฏเฎฃเ ฌฌญ๋ฉ ง ฏเฎแ แ  เฃใฌฅญโ ฌจ ข แโฅชฅ จ/จซจ ข R0 360-373 จแฏฎซ์งใฅโแ๏ โฎซ์ชฎ ฌฎญจโฎเฎฌ RT11 374 ฏเฎฃเ ฌฌญ๋ฉ ง ฏเฎแ แ ฎคญจฌ  เฃใฌฅญโฎฌ. ฅฃจแโเ R0 แฎคฅเฆจโ ไใญชๆจฎญ ซ์ญ๋ฉ ชฎค ข แโ เ่ฅฌ ก ฉโฅ จ ญฎฌฅเ ช ญ ซ  ข ฌซ ค่ฅฌ ก ฉโฅ 375 ฏเฎฃเ ฌฌญ๋ฉ ง ฏเฎแ แ ญฅแชฎซ์ชจฌจ  เฃใฌฅญโ ฌจ. ฅฃจแโเ R0 จแฏฎซ์งใฅโแ๏ ข ช ็ฅแโขฅ ใช ง โฅซ๏ ญ  กซฎช  เฃใฌฅญโฎข 376 จแฏฎซ์งใฅโแ๏ โฎซ์ชฎ ฌฎญจโฎเฎฌ RT11 377 ฅงฅเขญ๋ฉ. RT11 จฃญฎเจเใฅโ ํโฎโ …Œ’ จ ขฎงขเ ้ ฅโ ใฏเ ขซฅญจฅ ฏเฎฃเ ฌฌฅ ฏฎซ์งฎข โฅซ๏. 2. Žกเ ้ฅญจฅ ช แจแโฅฌญฎฉ ฌ ชเฎกจกซจฎโฅชฅ „‹Ÿ ‚›Ž‹…ˆŸ Ž…€–ˆ‰ ‘…„‘’‚€Œˆ Ž…€–ˆŽŽ‰ ‘ˆ‘’…- Œ› Žƒ€ŒŒ› Ž‹œ‡Ž‚€’…‹Ÿ ށ€™€ž’‘Ÿ Š ŒŽˆ’ސ“ —……‡ Žƒ- €ŒŒ›… ‡€Ž‘›. ‚ „€ŽŒ €‡„…‹… Žˆ‘€ ”ސŒ€’ ˆ €‡€—…- ˆ… Žƒ€ŒŒ›• ‡€Ž‘Ž‚ Ž…€–ˆŽŽ‰ ‘ˆ‘’…Œ›. ˆŒ…€ ‚‘…• Žƒ€ŒŒ›• ‡€Ž‘Ž‚ €—ˆ€ž’‘Ÿ ‘ˆŒ‚Ž‹ŽŒ "’Ž—Š€"(.), —’Ž Ž’‹ˆ—€…’ ˆ• Ž’ Œ€ŠŽŠŽŒ€„, Ž…„…‹Ÿ…Œ›• Ž‹œ‡Ž‚€’…‹…Œ. ‚‘… Žƒ€ŒŒ›… ‡€Ž‘›, ˆ‘Ž‹œ‡“…Œ›… ‚ Žƒ€ŒŒ…, „Ž‹†› ›’œ Ž…„…‹…› ‚ „ˆ…Š’ˆ‚… .MCALL. ‚ RT11 ˆ‘Ž‹œ‡“ž’‘Ÿ „‚€ ”ސŒ€’€ Žƒ€ŒŒ›• ‡€Ž- ‘Ž‚: 1) .PRGREQ ARG1,ARG2,...,ARGN 2) .PRGREQ AREA,ARG1,...,ARGN ‚ ’ˆ• ”ސŒ€’€• PRGREQ …„‘’€‚‹Ÿ…’ ‘ށމ ˆŒŸ Žƒ- €ŒŒŽƒŽ ‡€Ž‘€, AREA - “Š€‡€’…‹œ € €„…‘ ‹ŽŠ€ €ƒ“Œ…- ’Ž‚, ARG1,ARG2,...,ARGN - €ƒ“Œ…’› Žƒ€ŒŒŽƒŽ ‡€Ž‘€. Žƒ€ŒŒ›… ‡€Ž‘› …‚ŽƒŽ ”ސŒ€’€ ‚›‡›‚€ž’ ƒ……€–ˆž ŠŽŒ€„› …Œ’ ‘ ŠŽ„ŽŒ 374 ˆ‹ˆ Ž„Ž‰ ˆ‡ ŠŽŒ€„ …Œ’ 340-357. Žƒ€ŒŒ›… ‡€Ž‘›, ˆ‘Ž‹œ‡“ž™ˆ… ŠŽŒ€„“ …Œ’ 374, ŽŒ…™€ž’ ‚ Œ‹€„˜ˆ‰ €‰’ …ƒˆ‘’€ R0 ŽŒ… Š€€‹€, € ‚ ‘’€- ˜ˆ‰ - ”“Š–ˆŽ€‹œ›‰ ŠŽ„ (‘Œ.ˆ‘.1). 15 8 7 0 ------------------------------------- R0 = ! ”“Š–ˆŽ€‹œ›‰ ! ŽŒ… Š€€‹€ ! ! ŠŽ„ !(…‘‹ˆ ˆŒ…Ÿ…’‘Ÿ)! ------------------------------------- ˆ‘.1 Ž„ˆŒ ˆ‡ Žƒ€ŒŒ›• ‡€Ž‘Ž‚, ˆ‘Ž‹œ‡“ž™ˆ• …Œ’ 374, Ÿ‚‹Ÿ…’‘Ÿ ‡€Ž‘ .DATE. Œ€ŠŽŽ…„…‹…ˆ… „‹Ÿ ’ŽƒŽ ‡€Ž‘€ ‘‹…„“ž™……: .MACRO .DATE MOV #10.*^O400,%0 EMT ^374 .ENDM ‘ŽŽ’‚…’‘’‚“ž™ˆ‰ ‡€Ž‘“ .DATE ”“Š–ˆŽ€‹œ›‰ ŠŽ„, €‚- ›‰ 10., ŽŒ…™€…’‘Ÿ ‚ ‘’€˜ˆ‰ €‰’ …ƒˆ‘’€ R0, € ŽŒ… XŠ€€‹€ (0) - ‚ Œ‹€„˜ˆ‰ €‰’ …ƒˆ‘’€ R0. Žƒ€ŒŒ›… ‡€Ž‘›, ˆ‘Ž‹œ‡“ž™ˆ… …Œ’ 340-357, ŽŒ…- ™€ž’ €ƒ“Œ…’› (…‘‹ˆ Žˆ ‡€„€›) ‚ ‘’…Š ˆ/ˆ‹ˆ ‚ R0. Žƒ€ŒŒ›‰ ‡€Ž‘ .CSIGEN Ÿ‚‹Ÿ…’‘Ÿ ˆŒ…ŽŒ Žƒ€ŒŒ- ŽƒŽ ‡€Ž‘€, ˆ‘Ž‹œ‡“ž™…ƒŽ …Œ’ 344. ˆ†… …„‘’€‚‹…Ž “Ž™…Ž… Œ€ŠŽŽ…„…‹…ˆ… „‹Ÿ ’ŽƒŽ ‡€Ž‘€: .MACRO .CSIGEN DEVSPC,DEFEXT,CSTRNG,LINBUF .IFF NB MOV LINBUF,-(6.) MOV DEVSPC,-(6.) .IFF NB INC (6.) MOV DEFEXT,-(6.) .IF B CSTRNG CLR -(6.) .IFF .IF IDN CSTRNG,#0 CLR -(6.) .IFF MOV CSTRNG,-(6.) .ENDC .ENDC EMT ^O344 .ENDM ‚‘… “Š€‡€›… €ƒ“Œ…’› ŽŒ…™€ž’‘Ÿ ‚ ‘’…Š Ž‹œ‡Ž‚€’…‹Ÿ (‘Œ.ˆ‘.2) ˆ ˆ‘Ž‹œ‡“ž’‘Ÿ ŒŽˆ’ŽŽŒ ˆ ‚›Ž‹…ˆˆ ‡€Ž‘€ .CSIGEN. ------------ ‚…•ˆ‰ €„…‘ ! LINBUF ! ------------ ! DEVSPC ! ------------ ! DEFEXT ! ------------ “Š€‡€’…‹œ ‘’…Š€ -> ! CSTRNG ! ------------ ˆ†ˆ‰ €„…‘ ˆ‘.2 Žƒ€ŒŒ›… ‡€Ž‘› ‚’ŽŽƒŽ ”ސŒ€’€ ‚›‡›‚€ž’ ƒ……€–ˆž ŠŽŒ€„› …Œ’ ‘ ŠŽ„ŽŒ 375. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ „‹Ÿ …Œ’ 375 …„‘’€‚‹… € ˆ‘.3. ---------------------------------- R0 -> AREA: ! ”“Š–ˆŽ€‹œ›‰ ! ŽŒ… ! ! ŠŽ„ ! Š€€‹€ ! ! (CODE) ! (CHAN) ! ---------------------------------- ! ARG1 ! ---------------------------------- ! ARG2 ! ---------------------------------- . ---------------------------------- ! ARGN ! ---------------------------------- ˆ‘.3 …ŠŽ’ސ›… €ƒ“Œ…’› Žƒ€ŒŒ›• ‡€Ž‘Ž‚ ŒŽƒ“’ ›’œ Ž“™…›. …‘‹ˆ Ž’‘“’‘’‚“…’ €ƒ“Œ…’ AREA, ’Ž …„Ž‹€ƒ€…’‘Ÿ —’Ž Ž ‘Ž„…†ˆ’‘Ÿ ‚ R0. …‘‹ˆ … “Š€‡€› (Ž“™…›) Š€Šˆ…- ‹ˆŽ ˆ‡ €ƒ“Œ…’Ž‚ Ž’ ARG1 „Ž ARGN, ’Ž ‘Ž„…†ˆŒŽ… ‘ŽŽ’- ‚…’‘’‚“ž™ˆ• ’ˆŒ €ƒ“Œ…’€Œ ‘‹Ž‚ ‚ ‹ŽŠ… €ƒ“Œ…’Ž‚ … ˆ‡Œ…Ÿ…’‘Ÿ. €ˆŒ…, ˆ ‚›Ž‹…ˆˆ ‡€Ž‘€ .PRGREQ AREA,ARG1,ARG2 …ƒˆ‘’ R0 ‘Ž„…†ˆ’ €„…‘ ‹ŽŠ€ €ƒ“Œ…’Ž‚, ‚’ސޅ ‘‹Ž‚Ž ‘Ž„…†ˆ’ ARG1, ’…’œ… - ARG2. ˆ ‚›Ž‹…ˆˆ ‡€Ž‘€ .PRGREQ AREA ‘’€˜ˆ‰ €‰’ …‚ŽƒŽ ‘‹Ž‚€ ‹ŽŠ€ €ƒ“Œ…’Ž‚ ‘Ž„…†ˆ’ ”“Š- –ˆŽ€‹œ›‰ ŠŽ„. ‘Ž„…†ˆŒŽ… „“ƒˆ• ‘‹Ž‚ ‹ŽŠ€ €ƒ“Œ…’Ž‚ … ˆ‡Œ…Ÿ…’‘Ÿ. …‘‹ˆ ‚ ‡€Ž‘… .PRGREQ ,ARG1 Ž“™… €ƒ“Œ…’ AREA, ’Ž …Ž‹€ƒ€…’‘Ÿ —’Ž Ž ‘Ž„…†ˆ’‘Ÿ ‚ R0 (”“Š–ˆŽ€‹œ›‰ ŠŽ„ ‚ ’ŽŒ ‘‹“—€… ‚ ‹ŽŠ €ƒ“Œ…’Ž‚ … ‡€Ž‘ˆ’‘Ÿ). ‹ŽŠ €ƒ“Œ…’Ž‚ ŒŽ†…’ ”ސŒˆŽ‚€’œ‘Ÿ Œ€ŠŽ€‘‘…Œ‹…ŽŒ ‚Ž ‚…ŒŸ ’€‘‹Ÿ–ˆˆ Žƒ€ŒŒ› ˆ‹ˆ …Ž‘…„‘’‚…Ž Ž‹œ‡Ž‚€’…- ‹…Œ, €ˆŒ…: 1) MOV #ARG1,AREA+2 MOV #ARG2,AREA+4 .PRGREQ #AREA 2) MOV #AREA,R0 .PRGREQ ,#ARG1,#ARG2 3) MOV #AREA,R0 MOV #ARG1,2(R0) MOV #ARG2,4(R0) MOV #CODE*400!CHAN,(R0) .PRGREQ ‚Ž ‚‘…• ‚›˜…ˆ‚…„…›• ˆŒ…€• Ž…„…‹Ÿ…’‘Ÿ Ž„ˆ ˆ ’Ž’ †… Žƒ€ŒŒ›‰ ‡€Ž‘. ‚ ˆŒ……, ŠŽ’ސ›‰ ‘‹…„“…’ ˆ†…, ˆ‚…„… Ž„ˆ ˆ‡ ‚އ- ŒŽ†›• ‘Ž‘ށނ ”ސŒˆŽ‚€ˆŸ ‹ŽŠ€ €ƒ“Œ…’Ž‚ „‹Ÿ Žƒ€ŒŒ- ŽƒŽ ‡€Ž‘€ .TWAIT. .MCALL .PRINT,.TWAIT START: .TWAIT #EMTBLK .PRINT #MSG BR START EMTBLK: .BYTE 0,24 .WORD TIME TIME: .WORD 0,10.*50 .ASCIZ /—……‡ 10 ‘…Š“„ - …—€’œ ‘ŽŽ™…ˆŸ/ .END START 2.1. €„…‘€–ˆŸ €ƒ“Œ…’Ž‚ ‚‘… €ƒ“Œ…’› Žƒ€ŒŒ›• ‡€Ž‘Ž‚ ‘‹“†€’ ‚ Š€—…‘’‚… Ž…€„€ ˆ‘’Ž—ˆŠ€ ŠŽŒ€„› MOV ˆ ‹ŽŠ €ƒ“Œ…’Ž‚ „Ž‹†… ‘Ž„…†€’œ …Ž‘…„‘’‚…Ž ‡€—…ˆŸ €ƒ“Œ…’Ž‚. Ž’ŽŒ“ …ށ•Ž„ˆŒŽ ŽŒˆ’œ, —’Ž €ƒ“Œ…’› Žƒ€ŒŒ›• ‡€Ž‘Ž‚ „Ž‹†› ›’œ „Ž“‘’ˆŒ›Œˆ ‚ Ÿ‡›Š… €‘‘…Œ‹…€ ˆ ’Ž—Ž …„‘’€‚‹Ÿ’œ ’…“…Œ“ž ‚…‹ˆ—ˆ“. …‘‹ˆ ‚…‹ˆ—ˆ€ Ÿ‚‹Ÿ…’‘Ÿ ŠŽ‘’€’މ ˆ‹ˆ ‘ˆŒ‚Ž‹ˆ—…‘ŠˆŒ ˆŒ……Œ Ž‹œ‡Ž‚€’…‹Ÿ, ’Ž „Ž‹†… ›’œ ˆ‘Ž‹œ‡Ž‚€ …Ž‘…„‘’‚…›‰ Œ…’Ž„ €„…‘€–ˆˆ (#), €- ˆŒ…: .PRGREQ #AREA,#4 …‘‹ˆ ‚…‹ˆ—ˆ€ Ÿ‚‹Ÿ…’‘Ÿ ‘Ž„…†ˆŒ›Œ …ƒˆ‘’€, ’Ž „Ž‹†€ ›’œ ˆ‘Ž‹œ‡Ž‚€€ Œ…ŒŽˆŠ€ …ƒˆ‘’€ (RN). …‘‹ˆ ‚…‹ˆ—ˆ€ Ÿ‚‹Ÿ…’‘Ÿ ‘Ž„…†ˆŒ›Œ Ÿ—…‰Šˆ €ŒŸ’ˆ, ’Ž „Ž‹†€ ›’œ ˆ‘Ž‹œ‡Ž- ‚€€ Œ…’Š€ ’މ Ÿ—…‰Šˆ, €ˆŒ…: .PRGREQ LIST,NUMBER . . . LIST: .WORD AREA NUMBER: .WORD 4 ˆŒ…—€ˆ…. ˆ ‚›Ž‹…ˆˆ ‡€Ž‘€, ‘Ž„…†ˆŒŽ… …ƒˆ‘’- Ž‚ ށ™…ƒŽ €‡€—…ˆŸ, ŠŽŒ… R0, … ˆ‡Œ…Ÿ…’‘Ÿ. “Š€‡€’…‹œ ‘’…Š€ … ……“‘’€€‚‹ˆ‚€…’‘Ÿ. ˆ‘Š‹ž—…ˆ…Œ Ÿ‚‹Ÿ…’‘Ÿ ‚›‡Ž‚ ˆ’……’€’ސ€ ŠŽŒ€„Ž‰ ‘’ŽŠˆ (‡€Ž‘› .CSIGEN,.CSISPC). 2.2. Š‹ž—…‚މ €ƒ“Œ…’ CODE Š‹ž—…‚މ €ƒ“Œ…’ CODE Ž‡‚Ž‹Ÿ…’ ˆ‘Ž‹œ‡Ž‚€’œ Ž„ˆ ˆ ’Ž’ †… ‹ŽŠ €ƒ“Œ…’Ž‚ „‹Ÿ €‡‹ˆ—›• Žƒ€ŒŒ›• ‡€Ž‘Ž‚, ˆŒ…ž™ˆ• Ž„ˆ ˆ ’… †… €ƒ“Œ…’›, Ž €‡‹ˆ—›… ”“Š–ˆŽ€‹œ›… ŠŽ„›. ˆ‘Ž‹œ‡Ž‚€ˆ… ’ŽƒŽ Š‹ž—…‚ŽƒŽ €ƒ“Œ…’€ “Œ…œ˜€…’ €‡Œ… Žƒ€ŒŒ› ˆ ‚…ŒŸ …… ‚›Ž‹…ˆŸ. €ƒ“Œ…’ CODE ŒŽ†…’ ˆŒ…’œ „‚€ ‡€—…ˆŸ: CODE=SET (‡€…‘’ˆ ”“Š–ˆŽ€‹œ›‰ ŠŽ„) ˆ CODE=NOSET (… ‡€Ž‘ˆ’œ ”“Š–ˆŽ€‹œ›‰ ŠŽ„). ˆŒ…. .WRITW #AREA,#CHAN,#BUFF,#WCNT,#BLK . . . .READW #AREA,CODE=SET . . . 3. ‚•Ž„›… ˆ ‚›•Ž„›… „€›… €ƒ“Œ…’› Žƒ€ŒŒ›• ‡€Ž‘Ž‚ Ÿ‚‹Ÿž’‘Ÿ ‚•Ž„›Œˆ „€- ›Œˆ „‹Ÿ ŒŽˆ’ސ€ RT11. ‚ ’€‹.2 ˆ‚…„…› ˆ• “‘‹Ž‚›… ށއ€—…ˆŸ. ‚ ’ŽŒ €‡„…‹… ’€Š†… ˆ‚…„…› …ŠŽ’ސ›… Ž‘Ž‚›… ŽŸ’ˆŸ, ŠŽ’ސ›… ˆ‘Ž‹œ‡“ž’‘Ÿ ˆ ށ€™…ˆˆ Š Œ€Š- Žˆ‹ˆŽ’…Š…. 3.1. ŽŒ… Š€€‹€ ŽŒ… Š€€‹€ (CHAN) …„‘’€‚‹Ÿ…’ ‘ށމ ‹Žƒˆ—…‘Šˆ‰ ˆ„…’ˆ”ˆŠ€’ސ ”€‰‹€ ˆ ˆ‘Ž‹œ‡“…’‘Ÿ ŒŽˆ’ŽŽŒ ˆ ‚›Ž‹…ˆˆ ‡€€˜ˆ‚€…Œ›• Ž…€–ˆ‰. ŽŒ… Š€€‹€ ŒŽ†…’ ˆŒ…’œ ‡€—…ˆ… Ž’ 0 „Ž 254 („…‘Ÿ’ˆ—Ž…) (0-376 (‚Ž‘œŒ…ˆ—Ž…)). Š€€‹ ‘ ŽŒ…ŽŒ 255 („…‘Ÿ’ˆ—Ž…) …‡…‚ˆ“…’‘Ÿ „‹Ÿ ‘ˆ‘’…Œ›• Ž…€- –ˆ‰. Š€†„›‰ ޒА›’›‰ ”€‰‹ ŒŽˆ’ސ ‹Žƒˆ—…‘Šˆ ‘‚Ÿ‡›‚€…’ ‘ Ž…„…‹…›Œ Š€€‹ŽŒ (‹…Œ…’ŽŒ ‘’“Š’“› ŒŽˆ’ސ€, ’Ž—Ž Ž…„…‹Ÿž™ˆŒ ”€‰‹ ‚ Ž…€–ˆŽŽ‰ ‘ˆ‘’…Œ…). „‹Ÿ ށ€™…ˆŸ Š ”€‰‹“ „Ž‘’€’Ž—Ž “Š€‡€’œ ŽŒ… ‘ŽŽ’‚…’‘’‚“ž™…ƒŽ Š€€‹€. 3.2. ‹ŽŠ “‘’Ž‰‘’‚€ ‹ŽŠ “‘’Ž‰‘’‚€ (DBLK) …„‘’€‚‹Ÿ…’ ‘ށމ ‹ŽŠ ˆ”ސ- Œ€–ˆˆ ‚ ŠŽ„€• RADIX-50, ŠŽ’ސ›‰ ‘Ž„…†ˆ’ ”ˆ‡ˆ—…‘ŠŽ… ˆ‹ˆ ‹Žƒˆ—…‘ŠŽ… ˆŒŸ “‘’Ž‰‘’‚€, ˆŒŸ ˆ ’ˆ ”€‰‹€. €‡Œ… ‹ŽŠ€ - 4 ‘‹Ž‚€. ˆŒ…: .RAD50/DX1/ .RAD50/FIL/ .RAD50/NAM/ .RAD50/TYP/ ˆŒŸ “‘’Ž‰‘’‚€, ˆŒŸ ˆ ’ˆ ”€‰‹€ „Ž‹†› ›’œ ‹…‚ŽŽ…- „…‹…›Œˆ ‚ Š€†„ŽŒ Ž‹… Ž…€„€ (’.…. …Ž‘…„‘’‚…Ž ‘‹…- „Ž‚€’œ ‡€ Žƒ€ˆ—ˆ’…‹…Œ Ž…€„€ „ˆ…Š’ˆ‚› .RAD50). „Ž“‘Š€…’‘Ÿ ‡€ˆ‘œ ‹ŽŠ€ “‘’Ž‰‘’‚€ ‚ ‘‹…„“ž™…Œ ‚ˆ„…: .RAD50/DX1FILNAMTYP/ ˆ ’ŽŒ Š€†„Ž… Ž“™…Ž… Ž‹… Ž…€„€ „Ž‹†Ž ‡€Œ…Ÿ’œ‘Ÿ Ž…‹ŽŒ. ’€‹ˆ–€ 2 ----------------------------------------------------------- ! “‘‹Ž‚Ž… ! €ƒ“Œ…’ ! !ށއ€—…ˆ… ! ! !---------------------------------------------------------! ! ADDR ! €„…‘; ‡€—…ˆ… €„…‘€ ‡€‚ˆ‘ˆ’ Ž’ ˆ‘Ž‹œ- ! ! ! ‡“…ŒŽƒŽ ‡€Ž‘€ ! ! AREA ! €„…‘ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’ ! ! BLK ! ŽŒ… ‹ŽŠ€ Ž’Ž‘ˆ’…‹œŽ €—€‹€ ”€‰‹€, ‘ ! ! ! ŠŽ’ŽŽƒŽ „Ž‹†€ ‚›Ž‹Ÿ’œ‘Ÿ Ž…€–ˆŸ ! ! ! ‚‚Ž„€-‚›‚Ž„€ ! ! BUF ! €„…‘ “”…€ €ŒŸ’ˆ ! ! CBLK ! €„…‘ ‹ŽŠ€ ˆ‡ Ÿ’ˆ ‘‹Ž‚, ‚ ŠŽ’ŽŽŒ •€- ! ! ! ˆ’‘Ÿ ˆ”ސŒ€–ˆŸ Ž ‘Ž‘’ŽŸˆˆ Š€€‹€ ! ! CHAN ! ŽŒ… Š€€‹€ ! ! CRTN ! ’Ž—Š€ ‚•Ž„€ Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ ! ! DBLK ! €„…‘ ‹ŽŠ€ “‘’Ž‰‘’‚€ ! ! NUM ! —ˆ‘‹Ž, ‡€—…ˆ… ŠŽ’ŽŽƒŽ ‡€‚ˆ‘ˆ’ Ž’ ! ! ! ˆ‘Ž‹œ‡“…ŒŽƒŽ ‡€Ž‘€ ! ! WCNT ! ‘—…’—ˆŠ ‘‹Ž‚; ŠŽ‹ˆ—…‘’‚Ž ‘‹Ž‚, ŠŽ’ސ›… ! ! ! …ށ•Ž„ˆŒŽ ……„€’œ ‚ ˆ‹ˆ ˆ‡ “”…€ ˆ ! ! ! ‚›Ž‹…ˆˆ Ž…€–ˆˆ ‚‚Ž„€-‚›‚Ž„€ ! ! SEQN ! Ž‘‹…„Ž‚€’…‹œ›‰ ŽŒ… ”€‰‹€ („‹Ÿ Ž…€–ˆ‰! ! ! ‘ Œ€ƒˆ’Ž‰ ‹…’މ) ! ! CHRCNT ! ‘—…’—ˆŠ ‘ˆŒ‚ދނ ! ! FUNC ! —ˆ‘‹Ž‚މ ŠŽ„, Ž…„…‹Ÿž™ˆ‰ ‚›Ž‹Ÿ…Œ“ž ! ! ! ”“Š–ˆž ! ! JOBBLK ! €„…‘ ‹ŽŠ€, ‘Ž„…†€™…ƒŽ ˆŒŸ ‘ˆ‘’…ŒŽƒŽ ! ! ! ‡€„€ˆŸ ‚ ŠŽ„€• ŠŽˆ-7 ! ! JOBDEV ! €„…‘ ‹ŽŠ€, ‘Ž„…†€™…ƒŽ ˆŒŸ “‘’Ž‰‘’‚€ ˆ ! ! ! ˆŒŸ ‘ˆ‘’…ŒŽƒŽ ‡€„€ˆŸ ! ! UNIT ! ‹Žƒˆ—…‘Šˆ‰ ŽŒ… ’…Œˆ€‹€ ! ----------------------------------------------------------- 3.3. ‹ŽŠ €ƒ“Œ…’Ž‚ …Œ’ ށ™ˆ‰ ‚ˆ„ ‹ŽŠ€ €ƒ“Œ…’Ž‚ ŠŽŒ€„› …Œ’ ŽŠ€‡€ € ˆ‘.4. —…’›‰ €‰’ 1-ƒŽ ‘‹Ž‚€ ‘Ž„…†ˆ’ ŽŒ… Š€€‹€, Ž…- „…‹…›‰ ‚ Œ€ŠŽŠŽŒ€„…. …‘‹ˆ ŽŒ… Š€€‹€ … ’…“…’‘Ÿ, ’Ž —…’›‰ €‰’ ‘Ž„…†ˆ’ 0. …—…’›‰ €‰’ 1-ƒŽ ‘‹Ž‚€ ‹ŽŠ€ ‘Ž„…†ˆ’ ”“Š–ˆŽ€‹œ›‰ ŠŽ„ Œ€ŠŽŠŽŒ€„› (Š€†„ŽŒ“ Žƒ€ŒŒ- ŽŒ“ ‡€Ž‘“ ‘ŽŽ’‚…’‘’‚“…’ ‘‚މ ”“Š–ˆŽ€‹œ›‰ ŠŽ„). Ž‘’€‹œ›… ‘‹Ž‚€ ‹ŽŠ€ ‘Ž„…†€’ €ƒ“Œ…’› (…‘‹ˆ Žˆ ‡€„€›), Ž…„…‹…›… ‚ Œ€ŠŽŠŽŒ€„…. AREA: ----------------------------------------- ! ”“Š–ˆŽ€‹œ›‰ ! ŽŒ… ! ! ŠŽ„ ! Š€€‹€ ! !---------------------------------------! ! 1-‰ €ƒ“Œ…’ ! !---------------------------------------! ! 2-މ €ƒ“Œ…’ ! !---------------------------------------! . . . ----------------------------------------- ! N-›‰ €ƒ“Œ…’ ! ----------------------------------------- ˆ‘.4 ‹ŽŠ €ƒ“Œ…’Ž‚ …Œ’ 3.4. Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ Ž„Žƒ€ŒŒ€ ‡€‚…˜…ˆŸ ‘އ„€…’‘Ÿ Ž‹œ‡Ž‚€’…‹…Œ ˆ ‚›Ž‹Ÿ…’‘Ÿ ˆ €‘’“‹…ˆˆ ‘ށ›’ˆŸ. ‘ށ›’ˆ… ŒŽ†…’ ‡€Š‹ž- —€’œ‘Ÿ ‚ ‡€‚…˜…ˆˆ Ž…€–ˆˆ ‚‚Ž„€-‚›‚Ž„€, ŒŽ†…’ ›’œ ‚›‡- ‚€Ž …›‚€ˆ…Œ Ž’ ‚…˜…ƒŽ “‘’Ž‰‘’‚€, ˆ‘’…—…ˆ…Œ ‡€„€- ŽƒŽ ˆ’…‚€‹€ ‚…Œ…ˆ ˆ ’.„. € ‚•Ž„… ‚ Ž„Žƒ€ŒŒ“ ‡€‚…˜…ˆŸ …ƒˆ‘’ R0 ‘Ž„…†ˆ’ ‘‹Ž‚Ž ‘Ž‘’ŽŸˆŸ Š€€‹€, € R1 - ‚Ž‘œŒ…ˆ—›‰ ŽŒ… Š€€‹€ „‹Ÿ Ž…€–ˆˆ. ‚ …†ˆŒ… SJ Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ Ÿ‚‹Ÿž’‘Ÿ €‘‘ˆ•- Ž›Œˆ ˆ ŒŽƒ“’ …›‚€’œ „“ƒ „“ƒ€. ‚ …†ˆŒ€• FB ˆ •Œ, Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ … …›‚€ž’ „“ƒ „“ƒ€, € ސƒ€ˆ- ‡“ž’‘Ÿ ‚ Ž—……„œ. 3.5. ’…Ž‚€ˆ… USR „‹Ÿ ‚›Ž‹…ˆŸ …ŠŽ’ސ›• Žƒ€ŒŒ›• ‡€Ž‘Ž‚ …ށ•Ž- „ˆŒŽ, —’ށ› ŠŽŒŽ…’€ ŒŽˆ’ސ€ USR €•Ž„ˆ‹€‘œ ‚ Ž…€’ˆ‚- Ž‰ €ŒŸ’ˆ. ’…Ž‚€ˆ… USR Žƒ€ŒŒ›Œ ‡€Ž‘€Œ Žˆ‘€Ž ‚ ’€‹.3. ‡€Œ…’ˆŒ, —’Ž ‡€Ž‘ CLOSE € “‘’Ž‰‘’‚€• …”€‰‹Ž‚މ ‘’“Š’“› (LP:,TT:,PC:, ˆ ’.„.) … ’…“…’ €‹ˆ—ˆŸ USR ‚ €ŒŸ’ˆ. Žƒ€ŒŒ€ USR … Ÿ‚‹Ÿ…’‘Ÿ ……’…€…‹œŽ‰; …‘‹ˆ USR ˆ‘Ž‹œ‡“…’‘Ÿ Ž„ˆŒ ‡€„€ˆ…Œ (‚ …†ˆŒ… FB), „“ƒŽ… ‡€„€ˆ…, ’…“ž™…… USR, “„…’ †„€’œ …… Ž‘‚ށކ„…ˆŸ. ’€‹ˆ–€ 3 ------------------------------------------------------------ ! Žƒ€ŒŒ›‰ ‡€Ž‘ ! ’…Ž‚€ˆ… USR ! ! !------------------------------------- ! ! …†ˆŒ SJ ! …†ˆŒ FB ! …†ˆŒ XM ! ------------------------------------------------------------ ! ! * ! ! ! ! .CDFN ! „€ ! …’ ! …’ ! ! 1) ! ! ! ! ! .CLOSE ! „€ ! „€ ! „€ ! ! .CSIGEN ! „€ ! „€ ! „€ ! ! .CSISPC ! „€ ! „€ ! „€ ! ! .DELETE ! „€ ! „€ ! „€ ! ! .DSTATUS ! „€ ! „€ ! „€ ! ! .ENTER ! „€ ! „€ ! „€ ! ! .EXIT ! „€ ! „€ ! „€ ! ! .FETCH/.RELEAS ! „€ ! „€ ! „€ ! ! .GTLIN ! „€ ! „€ ! „€ ! ! .HRESET ! „€ ! …’ ! …’ ! ! 2) ! ! ! ! ! .LOCK ! „€ ! „€ ! „€ ! ! .LOOKUP ! „€ ! „€ ! „€ ! ! ! * ! * ! ! ! .QSET ! „€ ! „€ ! „€ ! ! .RENAME ! „€ ! „€ ! „€ ! ! .REOPEN ! …’ ! …’ ! …’ ! ! ! * ! ! ! ! .SRESET ! „€ ! …’ ! …’ ! ! 3) ! ! ! ! ! .TLOCK ! „€ ! „€ ! „€ ! ------------------------------------------------------------ 1) …‘‹ˆ Š€€‹ ›‹ ޒА›’ Ž .ENTER ; 2) …‘‹ˆ USR €•Ž„ˆ’‘Ÿ ‚ ‘Ž‘’ŽŸˆˆ ‘‚Žˆƒ€; 3) …‘‹ˆ USR … ˆ‘Ž‹œ‡“…’‘Ÿ „“ƒˆŒ ‡€„€ˆ…Œ. ‡€Ž‘›, ŽŒ…—…›… ‚ ’€‹.3 ‡‚…‡„Ž—ŠŽ‰, ‚‘…ƒ„€ ’…- “ž’ ‡€ƒ“‡Šˆ Ž‚މ ŠŽˆˆ USR ……„ ˆ• ‚›Ž‹…ˆ…Œ („€†…, …‘‹ˆ USR ‚ ’Ž’ ŒŽŒ…’ €•Ž„ˆ’‘Ÿ ‚ €ŒŸ’ˆ). 4. ‘ŽŽ™…ˆŸ ˆ ށ€Ž’Š… ‡€Ž‘Ž‚, ŒŽˆ’ސ ŒŽ†…’ ށ€“†ˆ’œ “‘‹Ž- ‚ˆŸ Ž˜ˆŽŠ. Žƒ€ŒŒ›… ‡€Ž‘› ˆ”ސŒˆ“ž’ ށ ’ŽŒ Ž‹œ‡Ž- ‚€’…‹Ÿ, ˆ‘Ž‹œ‡“Ÿ ‘-€‡Ÿ„, €‰’ Ž˜ˆŽŠ (52-މ €‰’ ‚ ށ‹€‘’ˆ ‘‚Ÿ‡…‰ ‘ˆ‘’…Œ›) ˆ …—€’œ € ’…Œˆ€‹… ‘ŽŽ™…ˆ‰ ŒŽˆ’ސ€. ‘-€‡Ÿ„ Ž—ˆ™€…’‘Ÿ Ž‘‹… ‚›Ž‹…ˆŸ ‡€Ž‘€ ˆ “‘’€€‚‹ˆ‚€…’‘Ÿ ‚ ‘‹“—€… Ž˜ˆŠˆ. „‹Ÿ ށ€“†…ˆŸ Ž˜ˆŠˆ ‡€ ‡€Ž‘ŽŒ „Ž‹†€ ‘‹…„Ž‚€’œ ŠŽŒ€„€ BCS ˆ‹ˆ BCC. ŠŽƒ„€ “‘’€- Ž‚‹… ‘-€‡Ÿ„, €‰’ Ž˜ˆŽŠ ‘Ž„…†ˆ’ ŠŽ„ Ž˜ˆŠˆ. ˆ ‚އˆŠŽ‚…ˆˆ ‘…œ…‡›• Ž˜ˆŽŠ (‚ ’ŽŒ ‘‹“—€… ŒŽˆ’ސ …—€’€…’ ‘ŽŽ’‚…’‘’‚“ž™…… ‘ŽŽ™…ˆ… € ’…Œˆ€‹…) “€‚‹…ˆ… ……„€…’‘Ÿ ŒŽˆ’ސ“. „‹Ÿ €€‹ˆ‡€ Ž„ށ›• Ž˜ˆŽŠ …ŠŽŒ…„“…’‘Ÿ ˆ‘Ž‹œ‡Ž‚€’œ Žƒ€ŒŒ›‰ ‡€Ž‘ .SERR. ‚ ˆ- ‹Ž†…ˆˆ ……—ˆ‘‹…› ŠŽ„› Ž˜ˆŽŠ Žƒ€ŒŒ›• ‡€Ž‘Ž‚ ˆ ˆ- —ˆ›, ‚›‡›‚€ž™ˆ… ’ˆ Ž˜ˆŠˆ. 5. Žƒ€ŒŒ›… ‡€Ž‘› ‘“™…‘’‚“ž’ ‘‹…„“ž™ˆ… ’ˆ› Žƒ€ŒŒ›• ‡€Ž‘Ž‚: - ‡€Ž‘› „‹Ÿ Ž…€–ˆ‰ ‘ ”€‰‹€Œˆ; - ‡€Ž‘› „‹Ÿ ސƒ€ˆ‡€–ˆˆ ‚‚Ž„€-‚›‚Ž„€ „€›•; - ‡€Ž‘› ށ™…ƒŽ €‡€—…ˆŸ; - ‡€Ž‘› €‘˜ˆ…Ž‰ €ŒŸ’ˆ; - ‡€Ž‘› „‹Ÿ „€‰‚…Ž‚. ‚ ’€‹ˆ–… 4 ……—ˆ‘‹…› Žƒ€ŒŒ›… ‡€Ž‘›, ŠŽ’ސ›… ŒŽƒ“’ ˆ‘Ž‹œ‡Ž‚€’œ‘Ÿ ‚ ‹žŽŒ ˆ‡ …†ˆŒŽ‚ (SJ,FB,XM). ‡€Ž- ‘›, ŽŒ…—…›… ‚ ’€‹.4 ‘ˆŒ‚Ž‹€Œˆ "Œ’", ŒŽ†Ž ˆ‘Ž‹œ‡Ž‚€’œ ’Ž‹œŠŽ ˆ €‹ˆ—ˆˆ ‚ ‘ˆ‘’…Œ… Œ“‹œ’ˆ’…Œˆ€‹œŽ‰ Ž„„…†Šˆ. Žˆ‘€ˆ… Žƒ€ŒŒ›• ‡€Ž‘Ž‚ „‹Ÿ Žƒ€ŒŒ - „€‰‚…Ž‚ “‘’Ž‰‘’‚ „€…’‘Ÿ ‚ [1]. Žˆ‘€ˆ… ‡€Ž‘Ž‚ €‘˜ˆ…Ž‰ €ŒŸ’ˆ „€…’‘Ÿ ‚ [2]. ’€‹ˆ–€ 4 ------------------------------------------------------------ ! Žƒ€ŒŒ›‰ ! ŠŽ„ ! ”“Š- ! ! ! ‡€Ž‘ ! …Œ’ ! –ˆŽ. ! €‡€—…ˆ… ! ! ! ! ŠŽ„ ! ! ------------------------------------------------------------ ! .ABTIO ! 374 ! 13 ! …›‚€…’ Ž…€–ˆˆ ‚‚Ž„€-‚›- ! ! ! ! ! ‚Ž„€ € “Š€‡€ŽŒ Š€€‹… ! ! .CDFN ! 375 ! 15 ! Ž…„…‹Ÿ…’ „ŽŽ‹ˆ’…‹œ›… ! ! ! ! ! Š€€‹› „‹Ÿ Ž…€–ˆ‰ ‚‚Ž„€- ! ! ! ! ! ‚›‚Ž„€ ! ! .CHAIN ! 374 ! 10 ! ……„€…’ “€‚‹…ˆ… „“ƒŽ‰ ! ! ! ! ! ”ŽŽ‚Ž‰ Žƒ€ŒŒ… ! ! .CLOSE ! 374 ! 6 ! ‡€Š›‚€…’ Š€€‹ ˆ Ž‘‚ށކ„€…’! ! ! ! ! …ƒŽ „‹Ÿ ˆ‘Ž‹œ‡Ž‚€ˆŸ ‚ ! ! ! ! ! „“ƒˆ• Ž…€–ˆŸ• ! ! .CMKT ! 375 ! 23 ! €“‹ˆ“…’ Ž„ˆ ˆ‹ˆ …‘ŠŽ‹œŠŽ! ! ! ! ! ‡€Ž‘Ž‚ .MRKT ! ! .CSIGEN ! 344 ! - ! ‚›‡›‚€…’ €Ž’“ ˆ’……’€’Ž-! ! ! ! ! € ŠŽŒ€„Ž‰ ‘’ŽŠˆ ‚ ށ™…Œ ! ! ! ! ! …†ˆŒ… ! ! .CSISPC ! 345 ! - ! ‚›‡›‚€…’ €Ž’“ ˆ’……’€’Ž-! ! ! ! ! € ŠŽŒ€„Ž‰ ‘’ŽŠˆ ‚ ‘…- ! ! ! ! ! –ˆ€‹œŽŒ …†ˆŒ… ! ! .CSTAT ! 375 ! 27 ! Ž‡‚Ž‹Ÿ…’ Ž‹“—ˆ’œ ˆ”ސŒ€–ˆž! ! ! ! ! Ž ‘Ž‘’ŽŸˆˆ Ž…„…‹…ŽƒŽ ! ! ! ! ! Š€€‹€ ! ! .CTIMIO ! - ! - ! ˆ‘Ž‹œ‡“…’‘Ÿ ‚ Žƒ€ŒŒ€• - ! ! ! ! ! „€‰‚…€• “‘’Ž‰‘’‚ „‹Ÿ Ž’Œ…-! ! ! ! ! Œ…› ‡€Ž‘Ž‚, ’…“ž™ˆ• €- ! ! ! ! ! ‹ˆ—ˆŸ ’€‰Œ…€ ! ! .DATE ! 374 ! 12 ! ……‘›‹€…’ ’…Š“™“ž „€’“ ‚ ! ! ! ! ! …ƒˆ‘’ R0 ! ! .DELETE ! 375 ! 0 ! ‘’ˆ€…’ ”€‰‹ ‘ ’ŽŒ€ “Š€‡€- ! ! ! ! ! ŽƒŽ “‘’Ž‰‘’‚€ ! ! .DRAST: ! ! ! Ž…„…‹Ÿ…’ €—€‹Ž Ž„Žƒ€Œ-! ! ! ! ! Œ› ށ€Ž’Šˆ …›‚€ˆ‰ ! ! .DRBEG ! ! ! ‘އ„€…’ ’€‹ˆ–“ ‡€ƒŽ‹Ž‚Š€ ! ! ! ! ! „€‰‚…€ ! ! .DRBOT ! ! ! Ž…„…‹Ÿ…’ €—€‹Ž …‚ˆ—ŽƒŽ ! ! ! ! ! ‡€ƒ“‡—ˆŠ€ ‚ „€‰‚…… ! ! .DRDEF ! ! ! Ž…„…‹Ÿ…’ €€Œ…’› „€‰‚…€! ! ! ! ! ˆ “‘’Ž‰‘’‚€ ! ! .DREND ! ! ! ”ސŒˆ“…’ ’€‹ˆ–“ €„…‘Ž‚ ! ! ! ! ! Ž„Žƒ€ŒŒ ŒŽˆ’ސ€; Ž…„…-! ! ! ! ! ‹Ÿ…’ ‹Žƒˆ—…‘Šˆ‰ ŠŽ…– ’…Š‘’€ ! ! ! ! ! „€‰‚…€ ! ! .DRFIN ! ! ! ……„€…’ “€‚‹…ˆ… ŒŽˆ’ސ“ ! ! ! ! ! Ž ‡€‚…˜…ˆˆ ށ‘‹“†ˆ‚€ˆŸ ! ! ! ! ! ‹…Œ…’€ Ž—……„ˆ ! ! .DRSET ! ! ! ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ ”ސŒˆŽ‚€ˆŸ! ! ! ! ! ’€‹ˆ– €€Œ…’Ž‚ „€‰‚…€ ! ! .DRVTB ! ! ! ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ Žˆ‘€ˆŸ ! ! ! ! ! ’€‹ˆ–› ‚…Вސނ …›‚€ˆ‰ ! ! ! ! ! ˆ Ž„Žƒ€ŒŒ ˆ• ށ€Ž’Šˆ ! ! .DSTATUS ! 342 ! - ! Ž‡‚Ž‹Ÿ…’ Ž‹“—ˆ’œ ˆ”ސŒ€–ˆž! ! ! ! ! Ž ‘Ž‘’ŽŸˆˆ Ž…„…‹…ŽƒŽ ! ! ! ! ! “‘’Ž‰‘’‚€ ! ! .ENTER ! 375 ! 2 ! …‡…‚ˆ“…’ ށ‹€‘’œ € ’ŽŒ… ! ! ! ! ! “Š€‡€ŽƒŽ “‘’Ž‰‘’‚€ „‹Ÿ ! ! ! ! ! ‘އ„€ˆŸ Ž‚ŽƒŽ ”€‰‹€ ! ! .EXIT ! 350 ! - ! ‡€‚…˜€…’ ‚›Ž‹…ˆ… Žƒ€Œ-! ! ! ! ! Œ› Ž‹œ‡Ž‚€’…‹Ÿ ˆ ……„€…’ ! ! ! ! ! “€‚‹…ˆ… Š‹€‚ˆ€’“ŽŒ“ ! ! ! ! ! ŒŽˆ’ސ“ ! ! .FETCH ! 343 ! - ! ‡€ƒ“†€…’ „€‰‚… “‘’Ž‰‘’‚€ ! ! .FPROT ! 375 ! 43 ! “‘’€€‚‹ˆ‚€…’ (Ž’Œ…Ÿ…’) ! ! ! ! ! ‡€™ˆ’“ ”€‰‹€ ! ! .GTIM ! 375 ! 21 ! Ž…„…‹Ÿ…’ ’…Š“™…… ‚…ŒŸ „Ÿ ! ! .GTJB ! 375 ! 20 ! Ž…„…‹Ÿ…’ €€Œ…’› ‚›Ž‹Ÿ-! ! ! ! ! …ŒŽƒŽ ‡€„€ˆŸ ! ! .GTLIN ! 345 ! - ! ˆˆŒ€…’ ‚•Ž„“ž ‘’ŽŠ“ ‘ ! ! ! ! ! ’…Œˆ€‹€ ˆ‹ˆ ˆ‡ ŠŽ‘‚…ŽƒŽ ! ! ! ! ! ”€‰‹€ ! ! .GVAL ! 376 ! 34 ! ……‘›‹€…’ ‚ R0 ‘Ž„…†ˆŒŽ… ! ! ! ! ! “Š€‡€Ž‰ Ÿ—…‰Šˆ ŒŽˆ’ސ€ ! ! .HERR ! 374 ! 5 ! Ž’Œ…Ÿ…’ „…‰‘’‚ˆ… ‡€Ž‘€ ! ! ! ! ! .SERR ! ! .HRESET ! 357 ! - ! …А€™€…’ ‚‘… Ž…€–ˆˆ ! ! ! ! ! ‚‚Ž„€-‚›‚Ž„€ ˆ ‚›Ž‹Ÿ…’ ! ! ! ! ! ”“Š–ˆˆ ‡€Ž‘€ .SRESET ! ! .INTEN ! - ! - ! ‘ŽŽ™€…’ ŒŽˆ’ސ“ Ž ’ŽŒ, —’Ž ! ! ! ! ! Žˆ‡Ž˜‹Ž …›‚€ˆ… Ž’ ! ! ! ! ! “‘’Ž‰‘’‚€ ˆ “‘’€€‚‹ˆ‚€…’ ! ! ! ! ! ˆŽˆ’…’ Ž–…‘‘ސ€ € ‘Ž- ! ! ! ! ! Ž’‚…’‘’‚“ž™ˆ‰ “Ž‚…œ ! ! .LOCK ! 346 ! - ! „…‹€…’ Žƒ€ŒŒ“ USR …‡ˆ- ! ! ! ! ! „…’Ž‰ ‚ €ŒŸ’ˆ „Ž ’…• Ž, ! ! ! ! ! ŽŠ€ … “„…’ ‚›Ž‹… .EXIT ! ! ! ! ! ˆ‹ˆ .UNLOCK . …‘‹ˆ …ށ•Ž„ˆ- ! ! ! ! ! ŒŽ, ‘‚Žˆ“…’ Žƒ€ŒŒ“ ! ! ! ! ! Ž‹œ‡Ž‚€’…‹Ÿ ! ! .LOOKUP ! 375 ! 1 ! ޒА›‚€…’ ‘“™…‘’‚“ž™ˆ‰ ”€‰‹ ! ! ! ! ! „‹Ÿ ‚‚Ž„€ ˆ/ˆ‹ˆ ‚›‚Ž„€ € ! ! ! ! ! “Š€‡€ŽŒ Š€€‹… ! ! .MFPS ! - ! - ! ‚›ˆ€…’ ‘Ž„…†ˆŒŽ… ‘‘ ! ! .MRKT ! 375 ! 22 ! ‹€ˆ“…’ ‡€“‘Š Ž„Žƒ€ŒŒ›! ! ! ! ! ‡€‚…˜…ˆŸ —……‡ Ž…„…‹…- ! ! ! ! ! ›‰ ˆ’…‚€‹ ‚…Œ…ˆ ! ! .MTATCH(MT) ! 374 ! 37 ! “‘’€€‚‹ˆ‚€…’ ‘‚Ÿ‡œ Œ…†„“ ! ! ! ! ! ‡€„€ˆ…Œ ˆ Ž…„…‹…›Œ ’…- ! ! ! ! ! Œˆ€‹ŽŒ ! ! .MTDTCH(MT) ! 374 ! 37 ! …›‚€…’ ‘‚Ÿ‡œ “Š€‡€ŽƒŽ ! ! ! ! ! ’…Œˆ€‹€ ‘ ‡€„€ˆ…Œ ˆ Ž‘‚Ž- ! ! ! ! ! Ž†„€…’ …ƒŽ „‹Ÿ ˆ‘Ž‹œ‡Ž‚€ˆŸ! ! ! ! ! „“ƒˆŒ ‡€„€ˆ…Œ ! ! .MTGET(MT) ! 374 ! 37 ! Ž…„…‹Ÿ…’ ‘Ž‘’ŽŸˆ… “Š€‡€- ! ! ! ! ! ŽƒŽ ’…Œˆ€‹€ ! ! .MTIN(MT) ! 374 ! 37 ! „…‰‘’‚“…’ ‚ Œ“‹œ’ˆ’…Œˆ€‹œ- ! ! ! ! ! ŽŒ …†ˆŒ… €€‹Žƒˆ—Ž .TTYIN ! ! .MTOUT(MT) ! 374 ! 37 ! „…‰‘’‚“…’ ‚ Œ“‹œ’ˆ’…Œˆ€‹œ- ! ! ! ! ! ŽŒ …†ˆŒ… €€‹Žƒˆ—Ž .TTYOUT! ! .MTPRNT(MT) ! 374 ! 32 ! „…‰‘’‚“…’ ‚ Œ“‹œ’ˆ’…Œˆ€‹œ- ! ! ! ! ! ŽŒ …†ˆŒ… €€‹Žƒˆ—Ž .PRINT ! ! .MTPS ! - ! ! “‘’€€‚‹ˆ‚€…’ ‘‘ ! ! .MTRCTD(MT) ! 374 ! 37 ! ށ…‘…—ˆ‚€…’ ‚›‚Ž„ € “Š€‡€-! ! ! ! ! ›‰ ’…Œˆ€‹ ! ! .MTSET(MT) ! 374 ! 37 ! “‘’€€‚‹ˆ‚€…’ ˆ ŒŽ„ˆ”ˆ–ˆ“…’ ! ! ! ! ! •€€Š’…ˆ‘’ˆŠˆ ’…Œˆ€‹€ ‚ ! ! ! ! ! Œ“‹œ’ˆ’…Œˆ€‹œŽŒ …†ˆŒ… ! ! .MTSTAT(MT) ! 375 ! 37 ! ……‘›‹€…’ Žƒ€ŒŒ… ˆ”ސŒ€-! ! ! ! ! –ˆž Ž ‘Ž‘’ŽŸˆˆ Œ“‹œ’ˆ’…Œˆ- ! ! ! ! ! €‹œŽ‰ ‘ˆ‘’…Œ› ! ! .PEEK ! 375 ! 34 ! Ž…„…‹Ÿ…’ ‘Ž„…†ˆŒŽ… Ÿ—……Š ! ! ! ! ! €ŒŸ’ˆ ! ! .POKE ! 375 ! 34 ! ˆ‡Œ…Ÿ…’ ‘Ž„…†ˆŒŽ… Ÿ—……Š ! ! ! ! ! €ŒŸ’ˆ ! ! .PRINT ! 351 ! - ! ‚›„€…’ € …—€’œ ‘’ŽŠ“ ‘ˆŒ- ! ! ! ! ! ‚ދނ ŠŽˆ-7 ! ! .PURGE ! 374 ! 3 ! Ž‘‚ށކ„€…’ Š€€‹ ! ! .PVAL ! 375 ! 34 ! ˆ‡Œ…Ÿ…’ ‘Ž„…†ˆŒŽ… Ÿ—……Š ! ! ! ! ! ŒŽˆ’ސ€ ! ! .QELDF ! - ! - ! Ž…„…‹Ÿ…’ Œ…ŒŽˆ—…‘Šˆ… ! ! ! ! ! ށއ€—…ˆŸ „‹Ÿ ‹…Œ…’Ž‚ ! ! ! ! ! Ž—……„ˆ ‚‚Ž„€-‚›‚Ž„€ ! ! .QSET ! 353 ! - ! “‚…‹ˆ—ˆ‚€…’ €‡Œ… Ž—……„ˆ ! ! ! ! ! ‚‚Ž„€-‚›‚Ž„€ „‹Ÿ ŒŽˆ’ސ€ ! ! .RCTRLD ! 355 ! - ! ށ…‘…—ˆ‚€…’ ‚›‚Ž„ € ’…Œˆ- ! ! ! ! ! €‹ ! ! .READ ! 375 ! 10 ! ……„…’ „€›… Ž “Š€‡€ŽŒ“ ! ! ! ! ! Š€€‹“ ‚ “”… €ŒŸ’ˆ ˆ ‚އ- ! ! ! ! ! ‚€™€…’ “€‚‹…ˆ… Žƒ€ŒŒ… ! ! ! ! ! Ž‹œ‡Ž‚€’…‹Ÿ, ЀР’Ž‹œŠŽ ‡€- ! ! ! ! ! Ž‘ € —’…ˆ… „€›• “„…’ ! ! ! ! ! Ž‘’€‚‹… ‚ Ž—……„œ ‚‚Ž„€- ! ! ! ! ! ‚›‚Ž„€ ! ! .READC ! 375 ! 10 ! ……„…’ „€›… Ž “Š€‡€ŽŒ“ ! ! ! ! ! Š€€‹“ ‚ “”… €ŒŸ’ˆ ˆ ‚އ- ! ! ! ! ! ‚€™€…’ “€‚‹…ˆ… Žƒ€ŒŒ… ! ! ! ! ! Ž‹œ‡Ž‚€’…‹Ÿ, ЀР’Ž‹œŠŽ ‡€- ! ! ! ! ! Ž‘ € —’…ˆ… „€›• “„…’ ! ! ! ! ! Ž‘’€‚‹… ‚ Ž—……„œ ‚‚Ž„€- ! ! ! ! ! ‚›‚Ž„€. Ž‘‹… ŽŠŽ—€ˆŸ —’…- ! ! ! ! ! ˆŸ “€‚‹…ˆ… ……„€…’‘Ÿ ! ! ! ! ! Ž„Žƒ€ŒŒ… ‡€‚…˜…ˆŸ ! ! .READW ! 375 ! 10 ! ……„…’ „€›… Ž “Š€‡€ŽŒ“ ! ! ! ! ! Š€€‹“ ‚ “”… €ŒŸ’ˆ ˆ ‚އ- ! ! ! ! ! ‚€™€…’ “€‚‹…ˆ… Žƒ€ŒŒ… ! ! ! ! ! Ž‹œ‡Ž‚€’…‹Ÿ Ž‘‹… ŽŠŽ—€ˆŸ ! ! ! ! ! Ž…€–ˆˆ ! ! .RELEAS ! 343 ! - ! “„€‹Ÿ…’ „€‰‚… “‘’Ž‰‘’‚€ ! ! ! ! ! ˆ‡ €ŒŸ’ˆ ! ! .RENAME ! 375 ! 4 ! ……ˆŒ…Ž‚›‚€…’ ”€‰‹. …„Ž- ! ! ! ! ! “‘’ˆŒ ‚ Ž…€–ˆŸ• ‘ Œ€ƒˆ’- ! ! ! ! ! Ž‰ ‹…’މ ! ! .REOPEN ! 375 ! 6 ! ށ…‘…—ˆ‚€…’ ‚Ž‘‘’€Ž‚‹…ˆ… ! ! ! ! ! €€Œ…’Ž‚, ŠŽ’ސ›… ‡€ŽŒˆ€-! ! ! ! ! ‹ˆ‘œ Ž ‡€Ž‘“ .SAVESTATUS ! ! ! ! ! ˆ Ž‚’ސŽ ޒА›‚€…’ Š€€‹ ! ! ! ! ! „‹Ÿ ‚‚Ž„€-‚›‚Ž„€ ! ! .SAVESTATUS ! 375 ! 5 ! ‡€ŽŒˆ€…’ €€Œ…’› ‘Ž‘’ŽŸ- ! ! ! ! ! ˆŸ ޒА›’ŽƒŽ ”€‰‹€ ‚ Ž…„…-! ! ! ! ! ‹…Ž‰ ށ‹€‘’ˆ €ŒŸ’ˆ ˆ Ž‘‚Ž-! ! ! ! ! Ž†„€…’ Š€€‹ ! ! .SCCA ! 374 ! 35 ! Ž‡‚Ž‹Ÿ…’ ‹ŽŠˆŽ‚€’œ ‚›Ž‹- ! ! ! ! ! …ˆ… ŠŽŒ€„› ‘“/‘ ! ! .SDTTM ! 375 ! 40 ! “‘’€€‚‹ˆ‚€…’ ‘ˆ‘’…Œ“ž „€’“ ! ! ! ! ! ˆ/ˆ‹ˆ ‚…ŒŸ ! ! .SERR ! 374 ! 4 ! ‹ŽŠˆ“…’ …›‚€ˆ… Žƒ€Œ-! ! ! ! ! Œ› ˆ ށ€“†…ˆˆ ŒŽˆ’ŽŽŒ ! ! ! ! ! Ž˜ˆŠˆ ! ! .SETTOP ! 354 ! - ! Ž…„…‹Ÿ…’ ‚…•žž ƒ€ˆ–“ ! ! ! ! ! €ŒŸ’ˆ „‹Ÿ ‚›Ž‹Ÿ…ŒŽƒŽ ‡€- ! ! ! ! ! „€ˆŸ ! ! .SFDAT ! 375 ! 42 ! ˆ‡Œ…Ÿ…’ „€’“ ‘އ„€ˆŸ ”€‰‹€ ! ! .SFPA ! 375 ! 30 ! “‘’€‚€‚‹ˆ‚€…’ ‚ Žƒ€ŒŒ… ! ! ! ! ! Ž‹œ‡Ž‚€’…‹Ÿ €„…‘ Ž„Žƒ- ! ! ! ! ! €ŒŒ› ށ€Ž’Šˆ …›‚€ˆŸ ! ! ! ! ! Ž’ Ž–…‘‘ސ€ ‹€‚€ž™…‰ ! ! ! ! ! ‡€Ÿ’މ ! ! .SPFUN ! 375 ! 32 ! ‚›Ž‹Ÿ…’ ‘…–ˆ€‹œ›… ”“Š–ˆˆ! ! ! ! ! „‹Ÿ “‘’Ž‰‘’‚ ! ! .SRESET ! 352 ! - ! ‚Ž‘‘’€€‚‹ˆ‚€…’ Š€€‹› ‚‚Ž„€-! ! ! ! ! ‚›‚Ž„€ ˆ “„€‹Ÿ…’ „€‰‚…› ! ! ! ! ! “‘’Ž‰‘’‚ ˆ‡ €ŒŸ’ˆ ! ! .SYNCH ! - ! - ! ށ…‘…—ˆ‚€…’ ‚އŒŽ†Ž‘’œ ‚›- ! ! ! ! ! Ž‹…ˆŸ Žƒ€ŒŒ›• ‡€Ž‘Ž‚! ! ! ! ! ‚ Ž„Žƒ€ŒŒ… ށ€Ž’Šˆ ! ! ! ! ! …›‚€ˆŸ ! ! .TIMIO ! - ! - ! ‹€ˆ“…’ ‡€“‘Š Ž„Žƒ€ŒŒ›! ! ! ! ! ‡€‚…˜…ˆŸ —……‡ ‡€„€›‰ ! ! ! ! ! ˆ’…‚€‹ ‚…Œ…ˆ ! ! .TLOCK ! 374 ! 7 ! Ž…„…‹Ÿ…’, ˆ‘Ž‹œ‡“…’‘Ÿ ‹ˆ ! ! ! ! ! USR ‚ „€›‰ ŒŽŒ…’ „“ƒˆŒ ! ! ! ! ! ‡€„€ˆ…Œ. …‘‹ˆ USR … ˆ‘Ž‹œ-! ! ! ! ! ‡“…’‘Ÿ, ’Ž ‚›Ž‹Ÿ…’‘Ÿ .LOCK ! ! .TRPSET ! 375 ! 3 ! “‘’€€‚‹ˆ‚€…’ ށ€Ž’Š“ …- ! ! ! ! ! ›‚€ˆ‰ Ž 4-ŽŒ“ ˆ‹ˆ 10-ŽŒ“ ! ! ! ! ! ‚…Вސ€Œ ‚ Žƒ€ŒŒ… Ž‹œ‡Ž- ! ! ! ! ! ‚€’…‹Ÿ ! ! .TTINR ! 340 ! - ! ……„€ž’ Ž„ˆ ‘ˆŒ‚Ž‹ ˆ‡ “- ! ! .TTYIN ! ! ! ”…€ ’…Œˆ€‹€ ‚ …ƒˆ‘’ R0 ! ! .TTYOUT ! 341 ! - ! ……„€ž’ Ž„ˆ ‘ˆŒ‚Ž‹ ˆ‡ …- ! ! .TTOUTR ! ! ! ƒˆ‘’€ R0 ‚ “”… ’…Œˆ€‹€ ! ! .TWAIT ! 375 ! 24 ! ˆŽ‘’€€‚‹ˆ‚€…’ ‚›Ž‹…ˆ… ! ! ! ! ! ‡€„€ˆŸ € “Š€‡€›‰ ˆ’…‚€‹! ! ! ! ! ‚…Œ…ˆ ! ! .UNLOCK ! 347 ! - ! Ž‘‚ށކ„€…’ Žƒ€ŒŒ“ USR, ! ! ! ! ! …‘‹ˆ €…… ›‹ ‚›Ž‹… ‡€- ! ! ! ! ! Ž‘ .LOCK ˆ, …‘‹ˆ …ށ•Ž„ˆŒŽ,! ! ! ! ! ‚Ž‚œ ‡€ƒ“†€…’ Žƒ€ŒŒ“ ! ! ! ! ! Ž‹œ‡Ž‚€’…‹Ÿ ! ! .WAIT ! 374 ! 0 ! ކˆ„€…’ ‡€‚…˜…ˆŸ Ž…€–ˆˆ ! ! ! ! ! ‚‚Ž„€-‚›‚Ž„€ € “Š€‡€ŽŒ ! ! ! ! ! Š€€‹… ! ! .WRITC ! 375 ! 11 ! ……„€…’ „€›… Ž “Š€‡€Ž- ! ! ! ! ! Œ“ Š€€‹“ € “‘’Ž‰‘’‚Ž ˆ ! ! ! ! ! ‚އ‚€™€…’ “€‚‹…ˆ… Žƒ- ! ! ! ! ! €ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ ЀР’Ž‹œŠŽ! ! ! ! ! ‡€Ž‘ € ……„€—“ „€›• “-! ! ! ! ! „…’ Ž‘’€‚‹… ‚ Ž—……„œ ! ! ! ! ! ‚‚Ž„€-‚›‚Ž„€. Ž‘‹… ŽŠŽ—€ˆŸ! ! ! ! ! ‡€ˆ‘ˆ, “€‚‹…ˆ… ……„€…’‘Ÿ! ! ! ! ! Ž„Žƒ€ŒŒ… ‡€‚…˜…ˆŸ ! ! .WRITE ! 375 ! 11 ! ……„€…’ „€›… Ž “Š€‡€Ž- ! ! ! ! ! Œ“ Š€€‹“ € “‘’Ž‰‘’‚Ž ˆ ! ! ! ! ! ‚އ‚€™€…’ “€‚‹…ˆ… Žƒ- ! ! ! ! ! €ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ ЀР’Ž‹œŠŽ! ! ! ! ! ‡€Ž‘ € ……„€—“ „€›• “-! ! ! ! ! „…’ Ž‘’€‚‹… ‚ Ž—……„œ ! ! ! ! ! ‚‚Ž„€-‚›‚Ž„€ ! ! .WRITW ! 375 ! 11 ! ……„€…’ „€›… Ž “Š€‡€Ž- ! ! ! ! ! Œ“ Š€€‹“ € “‘’Ž‰‘’‚Ž ˆ ! ! ! ! ! ‚އ‚€™€…’ “€‚‹…ˆ… Žƒ- ! ! ! ! ! €ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ Ž‘‹… ! ! ! ! ! ŽŠŽ—€ˆŸ ……„€—ˆ „€›• ! ------------------------------------------------------------ ’€‹ˆ–€ 5 ------------------------------------------------------------ ! Žƒ€ŒŒ›‰ ! ŠŽ„ ! ”“Š- ! ! ! ‡€Ž‘ ! …Œ’ ! –ˆŽ. ! €‡€—…ˆ… ! ! ! ! ŠŽ„ ! ! ------------------------------------------------------------ ! .CHCOPY ! 375 ! 13 ! ޒА›‚€…’ Š€€‹ „‹Ÿ ‚‚Ž„€ ˆ ! ! ! ! ! ‹Žƒˆ—…‘Šˆ ‘‚Ÿ‡›‚€…’ …ƒŽ ‘ ! ! ! ! ! ޒА›’›Œ Š€€‹ŽŒ „“ƒŽƒŽ ! ! ! ! ! ‡€„€ˆŸ ! ! .CNTXSW ! 375 ! 33 ! Ž…„…‹Ÿ…’ Ÿ—…‰Šˆ €ŒŸ’ˆ „‹Ÿ ! ! ! ! ! Ž…€–ˆˆ ……Š‹ž—…ˆŸ ŠŽ- ! ! ! ! ! ’…Š‘’€ ! ! .CRAW(XM) ! 374 ! 36 ! ‘އ„€…’ ‚ˆ’“€‹œŽ… €„…‘Ž… ! ! ! ! ! ŽŠŽ ! ! .CRRG(XM) ! 374 ! 36 ! ‘އ„€…’ „ˆ€Œˆ—…‘Š“ž ށ‹€‘’œ ! ! ! ! ! ”ˆ‡ˆ—…‘ŠŽ‰ €ŒŸ’ˆ ! ! .DEVICE ! 375 ! 14 ! Ž‡‚Ž‹Ÿ…’ ‡€…’ˆ’œ …›‚€- ! ! ! ! ! ˆ… Ž’ “‘’Ž‰‘’‚€ ‚ …†ˆŒ… ! ! ! ! ! FB Ž‘‹… ŽŠŽ—€ˆŸ ‚›Ž‹…ˆŸ! ! ! ! ! Žƒ€ŒŒ› ! ! .ELAW(XM) ! 374 ! 36 ! €“‹ˆ“…’ ‚ˆ’“€‹œŽ… €„…‘-! ! ! ! ! Ž… ŽŠŽ ! ! .ELRG(XM) ! 374 ! 36 ! €“‹ˆ“…’ „ˆ€Œˆ—…‘Š“ž ށ- ! ! ! ! ! ‹€‘’œ ”ˆ‡ˆ—…‘ŠŽ‰ €ŒŸ’ˆ ˆ ! ! ! ! ! „…‹€…’ …… ‘‚ށބŽ‰ „‹Ÿ ˆ‘- ! ! ! ! ! Ž‹œ‡Ž‚€ˆŸ „“ƒˆŒ ‡€„€ˆ…Œ ! ! .GMCX(XM) ! 374 ! 36 ! ……‘›‹€…’ Žƒ€ŒŒ… ˆ”ސ- ! ! ! ! ! Œ€–ˆž Ž ‘Ž‘’ŽŸˆˆ Ž…„…‹…- ! ! ! ! ! ŽƒŽ ŽŠ€ ! ! .MAP(XM) ! 374 ! 36 ! ޒށ€†€…’ …„‚€ˆ’…‹œŽ ! ! ! ! ! ‘އ„€Ž… ŽŠŽ ‚ˆ’“€‹œŽƒŽ ! ! ! ! ! €„…‘€ ! ! .MWAIT ! 374 ! 11 ! ……‚Ž„ˆ’ ’…Š“™…… ‡€„€ˆ… ‚ ! ! ! ! ! ‘Ž‘’ŽŸˆ… ކˆ„€ˆŸ „Ž ‡€‚…- ! ! ! ! ! ˜…ˆŸ ……„€—ˆ „€›• ! ! .PROTECT ! 375 ! 31 ! ‡€Š…‹Ÿ…’ Ž„ˆ ˆ‡ ‚…Вސނ ! ! ! ! ! (€„…‘€ Ž’ 0 „Ž 476) ‡€ „€- ! ! ! ! ! ›Œ ‡€„€ˆ…Œ ! ! .RCVD ! 375 ! 26 ! Ž‘“™…‘’‚‹Ÿž’ ˆ…Œ ‘ŽŽ™…ˆ‰ ! ! .RCVDC ! ! ! ˆ‹ˆ „€›•, ……„€‚€…Œ›• „“-! ! .RCVDW ! ! ! ƒˆŒ ‡€„€ˆ…Œ ‚ …†ˆŒ… FB. ! ! ! ! ! €€‹Žƒˆ—› ‡€Ž‘€Œ .READ, ! ! ! ! ! .READC,.READW ! ! .RDBBK(XM) ! - ! - ! ‘އ„€…’ ‹ŽŠ Ž…„…‹…ˆŸ ! ! ! ! ! ށ‹€‘’ˆ ! ! .RDBDF(XM) ! - ! - ! Ž…„…‹Ÿ…’ Œ…ŒŽˆ—…‘Šˆ… ! ! ! ! ! ށއ€—…ˆŸ „‹Ÿ ‹ŽŠ€ Ž…„…-! ! ! ! ! ˆŸ ށ‹€‘’ˆ ! ! .RSUM ! 374 ! 2 ! ‚އށŽ‚‹Ÿ…’ ‚›Ž‹…ˆ… ‡€„€-! ! ! ! ! ˆŸ, ŠŽ’ސޅ ›‹Ž …‚€Ž ! ! ! ! ! Ž ‡€Ž‘“ .SPND ! ! .SDAT ! 375 ! 25 ! Ž‘“™…‘’‚‹Ÿž’ ……„€—“ ‘ŽŽ™…-! ! .SDATC ! ! ! ˆ‰ ˆ‹ˆ „€›• „“ƒŽ‰ ! ! .SDATW ! ! ! Žƒ€ŒŒ…. €€‹Žƒˆ—› ‡€Ž- ! ! ! ! ! ‘€Œ .WRITE,.WRITC,.WRITW ! ! .SPCPS ! 375 ! 41 ! Ž‡‚Ž‹Ÿ…’ ˆ‡Œ…ˆ’œ €„…‘ ! ! ! ! ! ‚އ‚€’€ ˆ‡ …›‚€ˆŸ ‚ Ž„-! ! ! ! ! Žƒ€ŒŒ… ‡€‚…˜…ˆŸ ! ! .SPND ! 374 ! 1 ! ˆŽ‘’€€‚‹ˆ‚€…’ ‚›Ž‹…ˆ… ! ! ! ! ! ‡€„€ˆŸ ! ! .UNMAP(XM) ! 374 ! 36 ! Ž’Œ…Ÿ…’ „…‰‘’‚ˆ… ‡€Ž‘€ ! ! ! ! ! .MAP ! ! .UNPROTECT ! 374 ! 31 ! Ž’Œ…Ÿ…’ „…‰‘’‚ˆ… ‡€Ž‘€ ! ! ! ! ! .PROTECT ! ! .WDBBK(XM) ! - ! - ! ‘އ„€…’ ‹ŽŠ Ž…„…‹…ˆŸ ŽŠ€! ! .WDBDF(XM) ! - ! - ! Ž…„…‹Ÿ…’ Œ…ŒŽˆ—…‘Šˆ… ! ! ! ! ! ށއ€—…ˆŸ „‹Ÿ ‹ŽŠ€ Ž…„…-! ! ! ! ! ‹…ˆŸ ŽŠ€ ! ------------------------------------------------------------ 5.1. Žƒ€ŒŒ›… ‡€Ž‘› „‹Ÿ Ž…€–ˆ‰ ‘ ”€‰‹€Œˆ 5.1.1. .CHCOPY (…†ˆŒ FB,XM) ‡€Ž‘ .CHCOPY ޒА›‚€…’ Š€€‹ „‹Ÿ ‚‚Ž„€ „€›• ˆ ‹Žƒˆ—…‘Šˆ ‘‚Ÿ‡›‚€…’ …ƒŽ ‘ Š€€‹ŽŒ „“ƒŽƒŽ ‡€„€ˆŸ ޒА›’›Œ „‹Ÿ ‚‚Ž„€ ˆ‹ˆ ‚›‚Ž„€. ‡€Ž‘ ŒŽ†…’ ˆ‘Ž‹œ‡Ž‚€’œ‘Ÿ Ž‘Ž‚Ž‰, ”ŽŽ‚Ž‰ Žƒ€ŒŒ€Œˆ, € ’€Š†… ‘ˆ‘’…Œ›Œ ‡€„€ˆ…Œ. ‡€Ž‘ .CHCOPY „Ž“‘’ˆŒ ’Ž‹œŠŽ „‹Ÿ ”€‰‹Ž‚, ŠŽ’ސ›… €•Ž„Ÿ’‘Ÿ € „ˆ‘Š€•; Ž„€ŠŽ ‘ˆ‘’…Œ€ … ށ€“†ˆ’ Ž˜ˆŠˆ, …‘‹ˆ ˆ‘Ž‹œ- ‡“…’‘Ÿ „“ƒŽ… “‘’Ž‰‘’‚Ž. „‹Ÿ ’ŽƒŽ, —’ށ› ‡€Š›’œ Š€€‹, ޒА›’›‰ Ž .CHCOPY …ށ•Ž„ˆŒŽ ˆ‘Ž‹œ‡Ž‚€’œ ‡€Ž‘› .CLOSE ˆ‹ˆ .PURGE. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .CHCOPY AREA,CHAN,OCHAN[,JOBBLK] ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; CHAN - ŽŒ… Š€€‹€, ˆ‘Ž‹œ‡“…ŒŽƒŽ ‡€„€ˆ…Œ „‹Ÿ —’…ˆŸ „€›•; OCHAN - ŽŒ… Š€€‹€ „“ƒŽƒŽ ‡€„€ˆŸ; JOBBLK - €„…‘ ‹ŽŠ€ ˆ‡ ’…• ‘‹Ž‚, ‘Ž„…†€™…ƒŽ ‹Žƒˆ- —…‘ŠŽ… ˆŒŸ ‡€„€ˆŸ. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,13 .WORD OCHAN .WORD JOBBLK ˆŒ…. ;ˆŒ… ‘Ž‘’Žˆ’ ˆ‡ „‚“• Žƒ€ŒŒ. …‚€Ÿ ˆ‡ Žƒ€ŒŒ ;(Ž‘Ž‚€Ÿ) ‚›Ž‹Ÿ…’ ……„€—“ „€›• ‚Ž ‚’ސ“ž - ;”ŽŽ‚“ž Žƒ€ŒŒ“. .TITLE CHCOPF.MAC ;Ž‘Ž‚€Ÿ Žƒ€ŒŒ€ .MCALL .ENTER,.PRINT,.SDATW,.RCVDW,.CLOSE,.WRITW .MCALL .EXIT STARTF: MOV #AREA,R5 .ENTER R5,#0,#FILE,#5 ;‘އ„€’œ ”€‰‹ .WRITW R5,#0,#RECRD,#256.,#4 ;‡€ˆ‘€’œ ‹ŽŠ BCS ENTERR .SDATW R5,#BUFR,#2 ;……„€’œ ‘ŽŽ˜…ˆ… ; . .RCVDW R5,#BUFR,#1 .CLOSE #0 .PRINT #FEXIT .EXIT ENTERR: .PRINT #ERMSG .EXIT FILE: .RAD50 /DK QUFILE/ .RAD50 /TMP/ AREA: .BLKW 5 BUFR: .WORD 0 ;ŽŒ… Š€€‹€ .WORD 4 ;ŽŒ… ‹ŽŠ€ RECRD: .BLKW 256. ERMSG: .ASCIZ /Ž˜ˆŠ€ .ENTER/ FEXIT: .ASCIZ /ŠŽ…– Ž‘Ž‚Ž‰ Žƒ€ŒŒ›/ .END STARTF .TITLE CHCOPB.MAC ;”ŽŽ‚€Ÿ Žƒ€ŒŒ€ .MCALL .CHCOPY,.RCVDW,.READW,.EXIT,.PRINT,.SDATW STARTB: MOV #AREA,R5 .RCVDW R5,#MSG,#2 ;Ž‹“—ˆ’œ ‘ŽŽ™…ˆ… BCS 1$ .CHCOPY R5,#0,MSG+2 ;ŽŒ… Š€€‹€ ˆ‡ MSG+2 BCS 2$ .READW R5,#0,#BUFF,#256.,MSG+4 ;—ˆ’€’œ ‹ŽŠ BCS 3$ ; . .SDATW R5,#MSG,#1 .PRINT #BEXIT .EXIT 1$: MOV #NOJOB,R0 BR 4$ 2$: MOV #NOCH,R0 BR 4$ 3$: MOV #RDERR,R0 4$: .PRINT .EXIT AREA: .BLKW 5 MSG: .BLKW 3 ;“”… „‹Ÿ ‘ŽŽ™…ˆŸ BUFF: .BLKW 256. BEXIT: .ASCIZ /ŠŽ…– ”ŽŽ‚Ž‰ Žƒ€ŒŒ›/ NOJOB: .ASCIZ /…’ Ž‘Ž‚ŽƒŽ ‡€„€ˆŸ/ NOCH: .ASCIZ /… ޒА›’ Š€€‹ „‹Ÿ Ž‘Ž‚ŽƒŽ ‡€„€ˆŸ/ RDERR: .ASCIZ /Ž˜ˆŠ€ —’…ˆŸ/ .END STARTB 5.1.2. .CLOSE ‡€Ž‘ .CLOSE ‡€‚…˜€…’ „…‰‘’‚ˆ… € “Š€‡€ŽŒ Š€€‹… ˆ Ž‘‚ށކ„€…’ …ƒŽ „‹Ÿ ˆ‘Ž‹œ‡Ž‚€ˆŸ ‚ „“ƒŽ‰ Ž…€–ˆˆ. „‹Ÿ ‚›Ž‹…ˆŸ ‡€Ž‘€ „€‰‚… ‘ŽŽ’‚…’‘’‚“ž™…ƒŽ “‘’Ž‰‘’‚€ „Ž‹- †… €•Ž„ˆ’œ‘Ÿ ‚ €ŒŸ’ˆ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„› .CLOSE CHAN ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,6 „‹Ÿ ’ŽƒŽ, —’ށ› ‘„…‹€’œ ”€‰‹ Ž‘’ŽŸ›Œ € ’ŽŒ… …ށ- •Ž„ˆŒŽ € ‘ŽŽ’‚…’‘’‚“ž™…Œ Š€€‹…, ޒА›’ŽŒ „‹Ÿ ‚›‚Ž„€, ‚›Ž‹ˆ’œ ‡€Ž‘ .CLOSE. ‡€Ž‘ .CLOSE € …ޒА›’ŽŒ Š€€‹… ˆƒŽˆ“…’‘Ÿ. .CLOSE, ‚›Ž‹Ÿ…Œ›‰ € Š€€‹…, ŠŽ’ސ›‰ ›‹ ޒА›’ Ž .ENTER ‚›‡›‚€…’ ŠŽ…Š’ˆŽ‚Š“ ‘€‚Ž—ˆŠ€ “‘’Ž‰‘’‚€ „‹Ÿ Ž…„…‹…ˆŸ ”€‰‹€ ЀРŽ‘’ŽŸŽƒŽ € ’ŽŒ “‘’Ž‰‘’‚…. …‘‹ˆ ”€‰‹ ޒА›’ Ž .LOOKUP, ’Ž ŠŽ…Š’ˆŽ‚Šˆ ‘€‚Ž—ˆŠ€ … Žˆ‘•Ž„ˆ’. …‘‹ˆ “‘’Ž‰‘’‚Ž, ‘‚Ÿ‡€Ž… ‘ “Š€‡€›Œ Š€€‹ŽŒ, “†… ‘Ž„…†ˆ’ ”€‰‹ ‘ ’…Œ †… ˆŒ……Œ ˆ ’ˆŽŒ, —’Ž ˆ ‚Ž‚œ ‘އ„€- ›‰ ”€‰‹, ’Ž ‘’€€Ÿ ŠŽˆŸ ”€‰‹€ ‘’ˆ€…’‘Ÿ, ŠŽƒ„€ Ž‚›‰ ”€‰‹ ‘’€Ž‚ˆ’‘Ÿ Ž‘’ŽŸ›Œ. …‘‹ˆ € “‘’Ž‰‘’‚… “†… ‘“™…‘’‚“…’ ‡€™ˆ™…›‰ ”€‰‹ ‘ ’…Œ †… ˆŒ……Œ, ’Ž ’…Š“™ˆ‰ ”€‰‹ ‡€Š›‚€…’‘Ÿ, Ž ŽŸ‚‹Ÿž’‘Ÿ „‚€ ”€‰‹€ ‘ Ž„ˆ€ŠŽ‚›Œˆ ˆŒ…€Œˆ. ˆŒ…—€ˆ…. ŒŽˆ’ސ ˆ”ސŒˆ“…’ Žƒ€ŒŒ“ Ž‹œ‡Ž‚€’…‹Ÿ ށ Ž˜ˆŠ… ˆ ‚›Ž‹…ˆˆ ‡€Ž‘€ .CLOSE ’Ž‹œŠŽ ‚ ’ŽŒ ‘‹“- —€…, …‘‹ˆ „Ž ’ŽƒŽ ›‹ ‚›Ž‹… ‡€Ž‘ .SERR. ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .CLOSE ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .CSISPC. 5.1.3. .DELETE ‡€Ž‘ .DELETE “„€‹Ÿ…’ ”€‰‹ ˆ‡ ‘€‚Ž—ˆŠ€ “Š€‡€ŽƒŽ “‘’Ž‰‘’‚€. .DELETE …„Ž“‘’ˆŒ „‹Ÿ Œ€ƒˆ’›• ‹…’. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .DELETE AREA,CHAN,DBLK ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; DBLK - €„…‘ ‹ŽŠ€ “‘’Ž‰‘’‚€, ‘Ž„…†€™…ƒŽ ‘…–ˆ”ˆŠ€- –ˆž “„€‹Ÿ…ŒŽƒŽ ”€‰‹€. ˆŒ…—€ˆŸ: 1. ށ€™…ˆ… РޒА›’ŽŒ“ Š€€‹“ ˆ‚Ž„ˆ’ Š Ž˜ˆŠ…; 2. “„€‹…›‰ ”€‰‹ ‚ ‹ˆ‘’ˆƒ… ‘€‚Ž—ˆŠ€ “‘’Ž‰‘’‚€ “„…’ Žˆ‘€ ЀР…ˆ‘Ž‹œ‡“…Œ€Ÿ ށ‹€‘’œ (UNUSED) ’ŽƒŽ †… €‡Œ…€; 3. ‡€Ž‘ .DELETE € “‘’Ž‰‘’‚€• …”€‰‹Ž‚މ ‘’“Š’“› ˆƒŽˆ“…’‘Ÿ; 4. ˆ ‚›Ž‹…ˆˆ .DELETE …ށ•Ž„ˆŒŽ, —’ށ› „€‰‚… ‘ŽŽ’‚…’‘’‚“ž™…ƒŽ “‘’Ž‰‘’‚€ €•Ž„ˆ‹‘Ÿ ‚ €ŒŸ’ˆ; 5. Ž‘‹… ‚›Ž‹…ˆŸ .DELETE, “Š€‡€›‰ Š€€‹ Ž‘‚ށކ- „€…’‘Ÿ „‹Ÿ „€‹œ…‰˜…ƒŽ ˆ‘Ž‹œ‡Ž‚€ˆŸ. ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .DELETE ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .CSISPC. 5.1.4. .ENTER ‡€Ž‘ .ENTER …‡…‚ˆ“…’ ށ‹€‘’œ € Ž…„…‹…ŽŒ “‘’- Ž‰‘’‚… ˆ ‡€Ž‘ˆ’ ‚ ‘€‚Ž—ˆŠ “‘’Ž‰‘’‚€ ‡€ˆ‘œ Ž ‘އ„€ˆˆ ‚…Œ…ŽƒŽ ”€‰‹€. Ž ‡€Ž‘“ .ENTER ŒŽˆ’ސ ˆ„…’ˆ”ˆ–ˆ“…’ ŽŒ… Š€€‹€, Ž…„…‹…›‰ ‚ ‡€Ž‘…, ‘ “Š€‡€›Œ ”€‰‹ŽŒ. ‡€Œ…’ˆŒ, —’Ž …‘‹ˆ Žƒ€ŒŒ€ ˆŒ……’ Ž‚…‹…‰“ž ‘’“Š’““, ’Ž 15-‰ Š€€‹ ˆ‘Ž‹œ‡“…’‘Ÿ Ž‚…‹…‰›Œ „€‰‚…ŽŒ ˆ … „Ž‹†… ŒŽ„ˆ”ˆ–ˆŽ‚€’œ‘Ÿ Žƒ€ŒŒŽ‰ Ž‹œ‡Ž‚€’…‹Ÿ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .ENTER AREA,CHAN,DBLK,LEN[,SEQN] ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 4-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; DBLK - €„…‘ ‹ŽŠ€ “‘’Ž‰‘’‚€, ‚ ŠŽ’ŽŽŒ Žˆ‘€ ‘އ„€- ‚€…Œ›‰ ”€‰‹; LEN - €‡Œ… ”€‰‹€; (‘Œ.’€‹.6); SEQN - Ž‘‹…„Ž‚€’…‹œ›‰ ŽŒ… ”€‰‹€ „‹Ÿ Œ€ƒˆ’Ž‰ ‹…- ’›; ‡€—…ˆŸ €ƒ“Œ…’€ SEQN ˆ ‘ŽŽ’‚…’‘’‚“ž™ˆ… ˆŒ „…‰‘’‚ˆŸ ŒŽˆ’ސ€ Žˆ‘€› ‚ ’€‹.7. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,2 .WORD DBLK .WORD LEN .WORD SEQN ’€‹ˆ–€ 6 ------------------------------------------------------------ ! ‡€—…ˆ… ! „…‰‘’‚ˆ… ŒŽˆ’ސ€ ! ! €ƒ“Œ…’€ ! ! !----------------------------------------------------------- ! 0 ! Ž’‚Ž„ˆ’ „‹Ÿ ”€‰‹€ Ž‹Ž‚ˆ“ €ˆŽ‹œ˜…‰ ! ! ! ‘‚ށބŽ‰ ށ‹€‘’ˆ ˆ‹ˆ Ž‹Ž‘’œž ‚’ސ“ž Ž ! ! ! ‚…‹ˆ—ˆ… ‘‚ށބ“ž ށ‹€‘’œ € ’ŽŒ…, ‚ ‡€- ! ! ! ‚ˆ‘ˆŒŽ‘’ˆ Ž’ ’ŽƒŽ, ЀЀŸ ˆ‡ ˆ• Ž‹œ˜… ! ! Œ ! Ž’‚Ž„ˆ’ „‹Ÿ ”€‰‹€ Œ ‹ŽŠŽ‚ ! ! -1 ! Ž’‚Ž„ˆ’ „‹Ÿ ”€‰‹€ €ˆŽ‹œ˜“ž ‘‚ށބ“ž ށ- ! ! ! ‹€‘’œ € ’ŽŒ… ! ------------------------------------------------------------ ’€‹ˆ–€ 7 ------------------------------------------------------------ ! ‡€—…ˆ… ! „…‰‘’‚ˆ… ŒŽˆ’ސ€ ! ! €ƒ“Œ…’€ ! ! ------------------------------------------------------------ ! 0 ! ……Œ€’›‚€…’ Œ€ƒˆ’“ž ‹…’“ ˆ Žˆ‡‚Ž„ˆ’ ! ! ! Žˆ‘Š Œ…’Šˆ LEOT (‹Žƒˆ—…‘Šˆ‰ ŠŽ…– ‹…’›) ! ! N ! “‘’€€‚‹ˆ‚€…’ Œ€ƒˆ’“ž ‹…’“ ‚ Ž‹Ž†…ˆ…, ! ! ! ‘ŽŽ’‚…’‘’‚“ž™…… ”€‰‹“ ‘ Ž‘‹…„Ž‚€’…‹œ›Œ ! ! ! ŽŒ…ŽŒ N ! ! -1 ! Žˆ‡‚Ž„ˆ’ Žˆ‘Š LEOT ! ! -2 ! ……Œ€’›‚€…’ Œ€ƒˆ’“ž ‹…’“ ˆ Žˆ‡‚Ž„ˆ’ ! ! ! Žˆ‘Š LEOT ˆ‹ˆ ”€‰‹€ ‘ ’…Œ †… ˆŒ……Œ, —’Ž ! ! ! ˆ ‚Ž‚œ ‘އ„€‚€…Œ›‰ ”€‰‹ ! ------------------------------------------------------------ ”€‰‹, ‘އ„€›‰ Ž .ENTER … Ÿ‚‹Ÿ…’‘Ÿ Ž‘’ŽŸ›Œ „Ž ’…• Ž, ŽŠ€ € ‘ŽŽ’‚…’‘’‚“ž™…Œ Š€€‹… … “„…’ ‚›Ž‹… ‡€Ž‘ .CLOSE. ‡€Ž‘› .LOOKUP ˆ .SAVESTATUUS …„…‰‘’‚ˆ- ’…‹œ› „‹Ÿ ”€‰‹Ž‚, ŠŽ’ސ›… … Ÿ‚‹Ÿž’‘Ÿ Ž‘’ŽŸ›Œˆ. Ž„€ŠŽ —’…ˆ… ’€ŠŽƒŽ ”€‰‹€ ‚އŒŽ†Ž Ž‘…„‘’‚ŽŒ ށ€™…ˆŸ Š ŽŒ…“ ‘ŽŽ’‚…’‘’‚“ž™…ƒŽ ‹ŽŠ€. …‘‹ˆ € ‘ŽŽ’‚…’‘’‚“ž™…Œ Š€€‹… ‚›Ž‹Ÿ…’‘Ÿ .CLOSE, ’Ž ‹žŽ‰ ‘“™…‘’‚“ž™ˆ‰ € ’ŽŒ… Ž‘’ŽŸ- ›‰, …‡€™ˆ™…›‰ ”€‰‹ ‘ ’…Œ †… ˆŒ……Œ ˆ ’ˆŽŒ ‘’ˆ€…’‘Ÿ ˆ Ž‚›‰ ”€‰‹ ‘’€Ž‚ˆ’‘Ÿ Ž‘’ŽŸ›Œ. •Ž’Ÿ ށ‹€‘’œ „‹Ÿ ”€‰‹€ …‡…‚ˆ“…’‘Ÿ ˆ ‚›Ž‹…ˆˆ .ENTER, ”€Š’ˆ—…‘Š€Ÿ „‹ˆ€ ”€‰- ‹€ Ž…„…‹Ÿ…’‘Ÿ Ž‘‹… ‚›Ž‹…ˆŸ .CLOSE. Š€†„Ž… ‡€„€ˆ… ŒŽ†…’ ˆŒ…’œ „Ž 255 Ž„Ž‚…Œ…Ž ޒА›- ’›• ”€‰‹Ž‚. …‘‹ˆ ’…“…’‘Ÿ, ‚‘… 255 ”€‰‹Ž‚ ŒŽƒ“’ ›’œ Ž’Š- ›’› „‹Ÿ ‚›‚Ž„€ Ž‘…„‘’‚ŽŒ .ENTER. „‹Ÿ ‚›Ž‹…ˆŸ .ENTER …ށ•Ž„ˆŒŽ, —’ށ› „€‰‚… ‘ŽŽ’‚…’‘’‚“ž™…ƒŽ “‘’Ž‰‘’‚€ ›‹ ‚ €ŒŸ’ˆ. Ž‘‹… ‚›Ž‹…ˆŸ .ENTER …ƒˆ‘’ R0 “„…’ ‘Ž„…†€’œ €‡Œ… ށ‹€‘’ˆ ’ŽŒ€, Ž’‚…„…›‰ „‹Ÿ ‘އ„€ˆŸ Ž‚ŽƒŽ ”€‰‹€. ˆŒ…. .TITLE ENTER.MAC ;‚ ‘‹…„“ž™…Œ ˆŒ…… ‘ ˆ‘Ž‹œ‡Ž‚€ˆ…Œ ‡€Ž‘€ .ENTER ;‚›Ž‹Ÿ…’‘Ÿ ŠŽˆŽ‚€ˆ… ”€‰‹€ ENTER.SAV € “‘’Ž‰‘’‚Ž ;DK:. .MCALL .LOOKUP,.ENTER,.WRITW,.READW,.CLOSE .MCALL .PRINT,.EXIT ERRBYT = 52 START: .LOOKUP #AREA,#0,#ENTER ;‘‚Ÿ‡€’œ 0-މ Š€€‹ ;‘ ”€‰‹ŽŒ ENTER.SAV BCS 5$ MOV R0,R3 ;€‡Œ… ”€‰‹€ ‚ R3 .ENTER #AREA,#1,#NEWFIL,R3 ;ޒА›’œ Ž‚›‰ ”€‰‹ BCS 6$ CLR BLK 1$: .READW #AREA,#0,#BUFFR,#256.,BLK ;—ˆ’€’œ ‹ŽŠ BCC 2$ TSTB @#ERRBYT ;ŠŽ…– ”€‰‹€? BEQ 3$ ;„€ MOV #RERR,R0 BR 7$ 2$: .WRITW #AREA,#1,#BUFFR,#256.,BLK ;‡€ˆ‘€’œ ‹ŽŠ INC BLK BCC 1$ MOV #WERR,R0 BR 7$ 3$: .CLOSE #1 MOV #DONE,R0 BR 7$ 5$: MOV #NOFIL,R0 BR 7$ 6$: MOV #NOENT,R0 7$: .PRINT .EXIT AREA: .WORD 0 BLK: .WORD 0,0,0,0 BUFFR: .BLKW 256. ENTER: .RAD50 /DK/ .RAD50 /ENT/ .RAD50 /ER/ .RAD50 /SAV/ NEWFIL: .RAD50 /DK/ .RAD50 /NEWENT/ .RAD50 /SAV/ NOFIL: .ASCIZ /”€‰‹ … €‰„…/ NOENT: .ASCIZ /Ž˜ˆŠ€ .ENTER / WERR: .ASCIZ /Ž˜ˆŠ€ .WRITW / RERR: .ASCIZ / Ž˜ˆŠ€ .READW / DONE: .ASCIZ /ŠŽˆŽ‚€ˆ… ‡€‚…˜…Ž/ .EVEN .END START 5.1.5. .LOOKUP ˆ‘Ž‹œ‡“ž’‘Ÿ „‚… ”ސŒ› ‡€Ž‘€ .LOOKUP. …‚€Ÿ ”ސŒ€ .LOOKUP ‘‚Ÿ‡›‚€…’ “Š€‡€›‰ Š€€‹ ‘ “‘’Ž‰‘’‚ŽŒ ˆ/ˆ‹ˆ ‘“™…‘’‚“ž™ˆŒ ”€‰‹ŽŒ „‹Ÿ ‚›Ž‹…ˆŸ Ž…€–ˆ‰ ‚‚Ž„€-‚›‚Ž„€. ˆ‘Ž‹œ‡“…Œ›‰ Š€€‹ “„…’ "‡€Ÿ’" „Ž ’…• Ž, ŽŠ€ … “„…’ ‚›Ž‹… Ž„ˆ ˆ‡ ‘‹…„“ž™ˆ• ‡€Ž‘Ž‚: .CLOSE, .SAVESTATUS,.SRESET,.HRESET,.PURGE,.CSIGEN (…‘‹ˆ ŽŒ… Š€€‹€ ‚ „ˆ€Ž‡Ž… Ž’ 0 „Ž 10 (‚Ž‘œŒ…ˆ—Ž‰). ‡€Œ…’ˆŒ, —’Ž …‘‹ˆ Žƒ€ŒŒ€ ˆŒ……’ Ž‚…‹…‰“ž ‘’“Š’“- “, ’Ž 15-›‰ Š€€‹ ˆ‘Ž‹œ‡“…’‘Ÿ Ž‚…‹…‰›Œ „€‰‚…ŽŒ ˆ … „Ž‹†… ˆ‡Œ…Ÿ’œ‘Ÿ Žƒ€ŒŒŽ‰ Ž‹œ‡Ž‚€’…‹Ÿ. …‘‹ˆ …‚Ž… ‘‹Ž‚Ž ˆŒ…ˆ ”€‰‹€ ‚ ‹ŽŠ… “‘’Ž‰‘’‚€ (DBLK) ‘Ž„…†ˆ’ “‹œ ˆ “‘’Ž‰‘’‚Ž …‘’œ “‘’Ž‰‘’‚Ž ”€‰‹Ž‚މ ‘’“Š’“›, ’Ž €‘Ž‹ž’›‰ ‹ŽŠ 0 ’ŽƒŽ “‘’Ž‰‘’‚€ Ž…„…- ‹Ÿ…’‘Ÿ ЀР"€—€‹Ž ”€‰‹€" (‚ ’ŽŒ ‘‹“—€… ƒŽ‚ސŸ’ Ž …”€‰‹Ž- ‚ŽŒ .LOOKUP). ’Ž’ Œ…’Ž„ „Ž“‘Š€…’ ‚‚Ž„-‚›‚Ž„ „‹Ÿ ‹žŽƒŽ ”ˆ‡ˆ—…‘ŠŽƒŽ ‹ŽŠ€ € “‘’Ž‰‘’‚…. …‘‹ˆ ˆŒŸ ”€‰‹€ Ž…„…‹…Ž „‹Ÿ “‘’Ž‰‘’‚€ …”€‰‹Ž‚މ ‘’“Š’“›, ’Ž ˆŒŸ ”€‰‹€ ˆƒŽˆ- “…’‘Ÿ. „‹Ÿ ‚›Ž‹…ˆŸ .LOOKUP „€‰‚… ‘ŽŽ’‚…’‘’‚“ž™…ƒŽ “‘’- Ž‰‘’‚€ „Ž‹†… ›’œ ‚ €ŒŸ’ˆ. Ž‘‹… ‚›Ž‹…ˆŸ .LOOKUP , …ƒˆ‘’ R0 “„…’ ‘Ž„…†€’œ „‹ˆ“ ޒА›’ŽƒŽ ”€‰‹€ ‚ ‹ŽŠ€•. Ž‘‹… ‚›Ž‹…ˆŸ .LOOKUP „‹Ÿ “‘’Ž‰‘’‚ …‘€‚Ž—Ž‰ ‘’“Š- ’“›, …ƒˆ‘’ RO “„…’ ‘Ž„…†€’œ Ž‹œ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .LOOKUP AREA,CHAN,DBLK[,SEQN] ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; SEQN - Ž‘‹…„Ž‚€’…‹œ›‰ ŽŒ… ”€‰‹€ „‹Ÿ Œ€ƒˆ’Ž‰ ‹…- ’›; ‡€—…ˆŸ, ŠŽ’ސ›… ŒŽ†…’ ˆŒ…’œ SEQN ˆ ‘ŽŽ’‚…’‘’‚“ž™ˆ… ˆŒ „…‰‘’‚ˆŸ ŒŽˆ’ސ€ Žˆ‘€› ‚ ’€‹ˆ–… 8. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,1 .WORD DBLK .WORD SEQN ˆŒ… 1. .TITLE LOOKUP.MAC ;‚ „€ŽŒ ˆŒ……, ˆ‘Ž‹œ‡“ž™…Œ ‡€Ž‘ .LOOKUP, ;Ž…„…‹Ÿ…’‘Ÿ €‹ˆ—ˆ… € “‘’Ž‰‘’‚… DK: €Ž—…ƒŽ ;”€‰‹€, ‘Ž„…†€™…ƒŽ Ž—……„œ ”€‰‹Ž‚ „‹Ÿ ‚›‚Ž„€ € ;“Š€‡€Ž… “‘’Ž‰‘’‚Ž. ;…‘‹ˆ €Ž—ˆ‰ ”€‰‹ ‘“™…‘’‚“…’, ’Ž …ƒŽ €‡Œ… ;(‚ ‹ŽŠ€•) …—€’€…’‘Ÿ € ‘ˆ‘’…ŒŽŒ ’…Œˆ€‹…. .MCALL .LOOKUP,.PRINT,.EXIT START: .LOOKUP #AREA,#0,#QUSPEC ;ޒА›’œ ”€‰‹ BCC 1$ .PRINT #NOFILE ;”€‰‹€ …’ .EXIT 1$: MOV #SIZE,R1 CALL CNV10 .PRINT #BUFF .EXIT CNV10: MOV R0,-(SP) ;Ž„Žƒ€ŒŒ€ CLR R0 ;…ށ€‡Ž‚€ˆŸ €‡Œ…€ 1$: INC R0 ;”€‰‹€ „‹Ÿ ‚›‚Ž„€ € SUB #10.,@SP ;’…Œˆ€‹ BGE 1$ ADD #72,@SP DEC R0 BEQ 2$ CALL CNV10 2$: MOVB (SP)+,(R1)+ RETURN AREA: .BLKW 3 QUSPEC: .RAD50 /DK QUFILE/ .RAD50 /TMP/ BUFF: .ASCII /€‡Œ… ”€‰‹€ QUFILE.TMP = / SIZE: .ASCIZ / / NOFILE: .ASCIZ /€ DK: …’ ”€‰‹€ QUFILE.TMP/ .EVEN .END START ’€‹ˆ–€ 8 ------------------------------------------------------------ ! ‡€—…ˆ… ! „…‰‘’‚ˆ… ŒŽˆ’ސ€ ! ! €ƒ“Œ…’€ ! ! !----------------------------------------------------------! ! -1 ! Žˆ‡‚Ž„ˆ’ Žˆ‘Š ”€‰‹€ ‘ ’…Š“™…ƒŽ Ž‹Ž†…ˆŸ! ! ! Œ€ƒˆ’Ž‰ ‹…’› ! ! 0 ! ……Œ€’›‚€…’ Œ€ƒˆ’“ž ‹…’“ ˆ Žˆ‡‚Ž„ˆ’ ! ! ! Žˆ‘Š ”€‰‹€ ! ! N(N>0) ! “‘’€€‚‹ˆ‚€…’ Œ€ƒˆ’“ž ‹…’“ ‚ Ž‹Ž†…ˆ… ! ! ! ‘ŽŽ’‚…’‘’‚“ž™…… ”€‰‹“ ‘ Ž‘‹…„Ž‚€’…‹œ›Œ ! ! ! ŽŒ…ŽŒ N ! ------------------------------------------------------------ ‚’ސ€Ÿ ”ސŒ€ .LOOKUP ‘‚Ÿ‡›‚€…’ Š€€‹ ‘ “Š€‡€›Œ ‡€„€- ˆ…Œ „‹Ÿ ށŒ…€ ˆ”ސŒ€–ˆ…‰ ‚ …†ˆŒ€• FB ˆ •Œ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .LOOKUP AREA,CHAN,JOBDES ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; JOBDES - €„…‘ ‹ŽŠ€ ˆ‡ 4-• ‘‹Ž‚; 1-Ž… ‘‹Ž‚Ž ‘Ž„…†ˆ’ ˆŒŸ „€‰‚…€ Ž—……„ˆ ‘ŽŽ™…ˆ‰ (MQ) ‚ ŠŽ„€• RADIX-50; 2,3,4 ‘‹Ž‚€ ‘Ž„…†€’ ‹Žƒˆ—…‘ŠŽ… ˆŒŸ ‘ˆ‘’…ŒŽƒŽ ‡€„€ˆŸ ‚ ŠŽ„€• ŠŽˆ-7. …‘‹ˆ 2-Ž… ‘‹Ž‚Ž ‘Ž„…†ˆ’ 0 , ’Ž Š€€‹ (CHAN) ŒŽ†…’ ˆ‘Ž‹œ‡Ž‚€’œ‘Ÿ ’Ž‹œŠŽ ‡€Ž‘€Œˆ .READ/C/W „‹Ÿ Ž‹“—…ˆŸ ‘ŽŽ™…ˆŸ Ž’ ‹žŽƒŽ ‡€„€ˆŸ. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,1 .WORD JOBDES ˆŒ… 2. .TITLE SJLOOK.MAC ;‚ „€ŽŒ ˆŒ…… ‡€Ž‘ .LOOKUP ޒА›‚€…’ Š€€‹ ;„‹Ÿ ‘ˆ‘’…ŒŽƒŽ ‡€„€ˆŸ QUEUE.REL. ;ˆŒ… ‚›Ž‹Ÿ…’‘Ÿ Ž„ “€‚‹…ˆ…Œ ŒŽˆ’ސނ FB ;ˆ‹ˆ •Œ. ; .MCALL .LOOKUP,.PRINT,.EXIT,.WRITW,.READW START: .LOOKUP #AREA,#0,#QMSG ;ޒА›’œ Š€€‹ „‹Ÿ QUEUE BCC 1$ .PRINT #NOJOB .EXIT 1$: .WRITW #AREA,#0,#RMSJ,#6 BCS 2$ .READW #AREA,#0,#RMSJ,#6 BCS 2$ .PRINT #QRUN .EXIT 2$: .PRINT #MSGERR .EXIT AREA: .BLKW 5 QMSG: .RAD50 /MQ/ .ASCIZ /QUEUE/ .WORD 0,0 RMSJ: .WORD 0 .ASCII /SJLOOK/ MSGERR: .ASCIZ /Ž˜ˆŠ€/ NOJOB: .ASCIZ /QUEUE … ‡€ƒ“†…€/ QRUN: .ASCIZ /QUEUE €Ž’€…’!/ .EVEN .END START 5.1.6. .PURGE ‡€Ž‘ .PURGE Ž‘‚ށކ„€…’ “Š€‡€›‰ Š€€‹ „‹Ÿ ˆ‘Ž‹œ- ‡Ž‚€ˆŸ ‚ „“ƒŽ‰ Ž…€–ˆˆ …‡ ‚›Ž‹…ˆŸ Š€Šˆ•-‹ˆŽ ”“Š–ˆ‰ ‡€Ž‘Ž‚ .HRESET,.SRESET,.SAVESTATUS ˆ‹ˆ .CLOSE. ‚…Œ…›‰ ”€‰‹ ޒА›’›‰ € ’ŽŒ Š€€‹… Ž .ENTER, €“‹ˆ“…’‘Ÿ. ‡€- Ž‘ .PURGE € ‘‚ށބŽŒ Š€€‹… ˆƒŽˆ“…’‘Ÿ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .PURGE CHAN ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,3 ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .PURGE ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .HERR. 5.1.7. .RENAME ‡€Ž‘ .RENAME ˆ‡Œ…Ÿ…’ ˆŒŸ ”€‰‹€ (…„Ž“‘’ˆŒ ‚ Ž…€- –ˆŸ• ‘ Œ€ƒˆ’Ž‰ ‹…’މ). ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .RENAME AREA,CHAN,DBLK ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-•‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; DBLK - €„…‘ ‹ŽŠ€, ‘Ž„…†€™…ƒŽ ˆŒŸ “‘’Ž‰‘’‚€ ˆ ˆŒŸ ”€‰‹€, ŠŽ’ސ›… ’…“…’‘Ÿ ˆ‡Œ…ˆ’œ, ˆ Ž‚Ž… ˆŒŸ “‘’Ž‰‘’‚€ ˆ ˆŒŸ ”€‰‹€ ‚ ŠŽ„€• RADIX-50. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,4 .WORD DBLK €ˆŒ…, .RENAME #AREA,#7,#DXLK BCS RNMERR . . . DBLK: .RAD50 /DX1OLDFILMAC/ .RAD50 /DX1NEWFILMAC/ …‘‹ˆ ”€‰‹ ‘ ’…Œ †… ˆŒ……Œ, —’Ž ˆ Ž‚Ž…, “†… ‘“™…‘’‚“…’ € ’ŽŒ…, ’Ž Ž “„€‹Ÿ…’‘Ÿ. Ž‚’ސŽ… Ž…„…‹…ˆ… ˆŒ…ˆ “‘’- Ž‰‘’‚€ DX1 ‚ Ž‚މ ‘…–ˆ”ˆŠ€–ˆˆ ”€‰‹€ …ށ•Ž„ˆŒŽ „‹Ÿ €- ‚ˆ‹œŽƒŽ ‚›Ž‹…ˆŸ Ž…€–ˆˆ ˆ … „Ž‹†Ž Ž“‘Š€’œ‘Ÿ. Ž‘‹… ‚›Ž‹…ˆŸ .RENAME ˆ‘Ž‹œ‡“…Œ›‰ Š€€‹ Ž‘‚ށކ„€…’‘Ÿ. ‡€Ž‘ .RENAME ’…“…’, —’ށ› „€‰‚… ‘ŽŽ’‚…’‘’‚“ž™…ƒŽ “‘’Ž‰‘’‚€ ›‹ ‚ €ŒŸ’ˆ ……„ ‚›Ž‹…ˆ…Œ Ž…€–ˆˆ. ‡€Ž‘ .RENAME … ‚›Ž‹Ÿ…’‘Ÿ „‹Ÿ ‡€™ˆ™…›• ”€‰‹Ž‚. ˆŒ…. .TITLE RENAME.MAC ;‚ „€ŽŒ ˆŒ…… ‡€Ž‘ .RENAME ˆ‘Ž‹œ‡“…’‘Ÿ ;„‹Ÿ ˆ‡Œ……ˆŸ ˆŒ…ˆ ”€‰‹€. .MCALL .CSISPC,.RENAME,.FETCH,.PRINT,.SRESET,.EXIT ERRBYT = 52 START: .CSISPC #FILESP,#DEFEXT ;‚‚Ž„ ŠŽŒ€„Ž‰ ‘’ŽŠˆ .FETCH #DRVLOD,#FILESP ;‡€ƒ“‡ˆ’œ „€‰‚… BCS 2$ MOV #FILESP,R2 MOV #FILESP+46,R3 MOV @R2,#FILESP+36 .REPT 4 MOV (R2)+,(R3)+ .ENDR .RENAME #AREA,#0,#FILESP+36 ;……ˆŒ…Ž‚€’œ ”€‰‹ BCC 1$ DECB @#ERRBYT ;€€‹ˆ‡ Ž˜ˆŠˆ BEQ 3$ MOV #ILLOP,R0 BR 4$ 1$: .SRESET .EXIT 2$: MOV #FERR,R0 BR 4$ 3$: MOV #NOFIL,R0 4$: .PRINT BR 1$ AREA: .BLKW 5 DEFEXT: .WORD 0,0,0,0 NOFIL: .ASCIZ /”€‰‹ … €‰„…/ ILLOP: .ASCIZ /…„Ž“‘’ˆŒ€Ÿ Ž…€–ˆŸ/ FERR: .ASCIZ /Ž˜ˆŠ€ .FETCH/ .EVEN FILESP: .BLKW 39.*2 DRVLOD =. .END START 5.1.8. .REOPEN ‡€Ž‘ .REOPEN Ž‚’ސŽ ‘‚Ÿ‡›‚€…’ “Š€‡€›‰ Š€€‹ ‘ ”€‰‹ŽŒ, „‹Ÿ ŠŽ’ŽŽƒŽ ›‹ ‚›Ž‹… ‡€Ž‘ .SAVESTATUS. ‘Ž‚- Œ…‘’Ž… ˆ‘Ž‹œ‡Ž‚€ˆ… ‡€Ž‘Ž‚ .SAVESTATUS ˆ .REOPEN ’…- “…’‘Ÿ „‹Ÿ Ž„Ž‚…Œ…ŽƒŽ ށ€™…ˆŸ Š Ž‹œ˜ŽŒ“ —ˆ‘‹“ ”€‰- ‹Ž‚. ”€‰‹› ޒА›‚€ž’‘Ÿ Ž .LOOKUP ˆ €€Œ…’› ˆ• ‘Ž‘’ŽŸˆŸ ‡€ŽŒˆ€ž’‘Ÿ Ž .SAVESTATUS. ŠŽƒ„€ ’…“ž’‘Ÿ „€›… ˆ‡ ”€‰- ‹€, .REOPEN ށ…‘…—ˆ‚€…’ Žƒ€ŒŒ… ‚އŒŽ†Ž‘’œ —’…ˆŸ ’ˆ• „€›•. … Ÿ‚‹Ÿ…’‘Ÿ ށŸ‡€’…‹œ›Œ ‚›Ž‹…ˆ… .REOPEN € ’ŽŒ †… Š€€‹…, € ŠŽ’ŽŽŒ ›‹ˆ ‚›Ž‹…› .LOOKUP ˆ .SAVESTATUS. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .REOPEN AREA,CHAN,CBLK ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; CBLK - €„…‘ ‹ŽŠ€ ˆ‡ 5-’ˆ ‘‹Ž‚, ƒ„… ‡€ŽŒˆ€…’‘Ÿ ˆ”ސŒ€–ˆŸ Ž ‘Ž‘’ŽŸˆˆ Š€€‹€. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,6 .WORD CBLK ˆŒ… ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .SAVESTATUS. 5.1.9. .SAVESTATUS ‡€Ž‘ .SAVESTATUS ‡€ŽŒˆ€…’ Ÿ’œ ‘‹Ž‚ ˆ”ސŒ€–ˆˆ Ž ‘Ž‘’ŽŸˆˆ Š€€‹€ ‚ “Š€‡€Ž‰ Ž‹œ‡Ž‚€’…‹…Œ ށ‹€‘’ˆ €ŒŸ’ˆ. ’ˆ ‘‹Ž‚€ ‘Ž„…†€’ Ž‹“ž ˆ”ސŒ€–ˆž, ŠŽ’ސ€Ÿ ’…“…’‘Ÿ Ž…€–ˆŽŽ‰ ‘ˆ‘’…Œ… „‹Ÿ ’Ž—ŽƒŽ Ž…„…‹…ˆŸ ”€‰‹€. Ž‘‹… ‚›Ž‹…ˆŸ .SAVESTATUS “Š€‡€›‰ Š€€‹ Ž‘‚ށކ„€…’‘Ÿ. …‘‹ˆ …ށ•Ž„ˆŒŽ Ž‹“—ˆ’œ „€›… Ž ’ŽŒ“ Š€€‹“, ’Ž ˆ‘Ž‹œ‡“…’‘Ÿ ‡€Ž‘ .REOPEN. ‡€Ž‘ .SAVESTATUS ŒŽ†…’ ˆ‘Ž‹œ‡Ž‚€’œ‘Ÿ ‚ ’ŽŒ ‘‹“—€…, …‘‹ˆ ”€‰‹ ›‹ ޒА›’ Ž .LOOKUP. …‘‹ˆ ›‹ ˆ‘Ž‹œ‡Ž‚€ .ENTER, ’Ž .SAVESTATUS ˆƒŽˆ“…’‘Ÿ ˆ ƒ……ˆ- “…’‘Ÿ Ž˜ˆŠ€. ‡€Ž‘ .SAVESTATUS …„Ž“‘’ˆŒ ‚ Ž…€–ˆŸ• ‘ ”€‰‹€Œˆ, ŠŽ’ސ›… €•Ž„Ÿ’‘Ÿ € Œ€ƒˆ’Ž‰ ‹…’…. ‡€Ž‘› .SAVESTATUS ˆ .REOPEN ˆ‘Ž‹œ‡“ž’‘Ÿ „‹Ÿ €Ž’› ‘ Ž‹œ˜ˆŒ —ˆ‘‹ŽŒ ”€‰‹Ž‚ ˆ Žƒ€ˆ—…ŽŒ —ˆ‘‹… Š€€‹Ž‚. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .SAVESTATUS AREA,CHAN,CBLK ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; CBLK - €„…‘ ‹ŽŠ€ ˆ‡ 5-’ˆ ‘‹Ž‚, ‚ ŠŽ’ސ›‰ “„…’ ‡€ˆ- ‘€€ ˆ”ސŒ€–ˆŸ Ž ‘Ž‘’ŽŸˆˆ Š€€‹€; €„…‘ „Ž‹†… ›’œ “Š€- ‡€ ‚ …„…‹€• Žƒ€ŒŒ› Ž‹œ‡Ž‚€’…‹Ÿ. (‘Œ. ˆ‹Ž†…ˆ… 2). ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,5 .WORD CBLK ˆŒ…. .TITLE SAVEST.MAC .MCALL .CSIGEN,.SAVESTATUS,.READW,.WRITW,.PRINT .MCALL .PURGE,.REOPEN,.CLOSE,.EXIT ERRBYT = 52 START: .CSIGEN #DSPACE,#DEFEXT ;‚‚Ž„ ŠŽŒ€„Ž‰ ‘’ŽŠˆ MOV #3,R4 ;‚•Ž„Ž‰ Š€€‹ MOV #AREA,R3 ;“Š€‡€’…‹œ € ‹ŽŠ ;‘Ž‘’ŽŸˆŸ Š€€‹€ MOV #SAVBLK,R5 1$: .SAVEST R3,R4,R5 ;‘Ž•€ˆ’œ ˆ”ސŒ€–ˆž ;Ž Š€€‹… BCS 2$ ADD #12,R5 ;“Š€‡€’…‹œ € ‘‹…„“ž™ˆ‰ ;‹ŽŠ ˆ”ސŒ€–ˆˆ INC R4 CMP #8.,R4 ;‚•Ž„›… ”€‰‹› ‚‘…? BGE 1$ ;…’ 2$: MOV #SAVBLK,R5 BEQ 7$ 4$: .REOPEN R3,#3,R5 ;Ž‚’ސŽ ˆ‘Ž‹œ‡Ž‚€’œ ;Š€€‹ 3 CLR BLK 5$: .READW R3,#3,#BUFF,#256.,BLK ;—ˆ’€’œ ‹ŽŠ BCC 6$ TSTB @#ERRBYT ;ŠŽ…– ”€‰‹€? BNE 8$ .PURGE #3 ;Ž‘‚ށބˆ’œ Š€€‹ ADD #12,R5 TST @R5 ;Ž‘‹…„ˆ‰ ”€‰‹? BNE 4$ .CLOSE #0 ;‡€Š›’œ ‚›•.Š€€‹ .PRINT #DONE .EXIT 6$: .WRITW R3,#0,#BUFF,#256.,WBLK ;‡€ˆ‘€’œ ‹ŽŠ INC WBLK INC BLK BCC 5$ MOV #WERR,R0 BR 9$ 7$: MOV #NOIMP,R0 BR 9$ 8$: MOV #RERR,R0 9$: .PRINT .EXIT AREA: .BLKW 5 BLK: .WORD 0 WBLK: .WORD 0 SAVBLK: .BLKW 30. DEFEXT: .WORD 0,0,0,0 NOIMP: .ASCIZ /…’ Ž‹œ˜… ‚•Ž„›• ”€‰‹Ž‚/ WERR: .ASCIZ /Ž˜ˆŠ€ ‡€ˆ‘ˆ/ RERR: .ASCIZ /Ž˜ˆŠ€ —’…ˆŸ/ DONE: .ASCIZ /ŠŽ…– Žƒ€ŒŒ›/ .EVEN BUFF: .BLKW 256. DSPACE =. .END START 5.2. Žƒ€ŒŒ›… ‡€Ž‘› „‹Ÿ ސƒ€ˆ‡€–ˆˆ ‚‚Ž„€-‚›‚Ž„€ „€›• 5.2.1. .READ,.READC,.READW ‘ˆ‘’…Œ€ RT11 …„“‘Œ€’ˆ‚€…’ ’ˆ …†ˆŒ€ ‚›Ž‹…ˆŸ Ž…€–ˆ‰ ‚‚Ž„€-‚›‚Ž„€: .READ /.WRITE .READC/.WRITC .READW/.WRITW ˆ ˆ‘Ž‹œ‡Ž‚€ˆˆ ‡€Ž‘Ž‚ .READ ˆ .READC „Ž‹†› ›’œ Ž…„…‹…› „ŽŽ‹ˆ’…‹œ›… ‹…Œ…’› „‹Ÿ Ž—……„ˆ ‚‚Ž„€- ‚›‚Ž„€. …‘‹ˆ ‡€Ž‘› READ/C/W ˆ‘Ž‹œ‡“ž’‘Ÿ „‹Ÿ ށŒ…€ ˆ”ސŒ€- –ˆ…‰ Œ…†„“ ‡€„€ˆŸŒˆ, ’Ž €‡Œ… “”…€ (BUF) „Ž‹†… € Ž„Ž ‘‹Ž‚Ž …‚›˜€’œ —ˆ‘‹Ž ‘‹Ž‚ „‹Ÿ —’…ˆŸ (WCNT) ’.Š. …‚Ž… ‘‹Ž‚Ž “”…€ (BUF) “„…’ ‘Ž„…†€’œ „…‰‘’‚ˆ’…‹œŽ… ŠŽ‹ˆ—…‘’- ‚Ž ……„€›• ‘‹Ž‚. ‡€Ž‘ .READ ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ ……„€—ˆ Ž…„…‹…ŽƒŽ ŠŽ‹ˆ—…‘’‚€ ‘‹Ž‚ Ž “Š€‡€ŽŒ“ Š€€‹“ ‚ “”… €ŒŸ’ˆ. “€‚- ‹…ˆ… ……„€…’‘Ÿ Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ …Œ…„‹…Ž Ž‘‹… €—€‹€ ‚›Ž‹…ˆŸ ‡€Ž‘€ .READ. Ž‘‹… ‡€‚…˜…ˆŸ ……„€—ˆ „€›• ˆŠ€Šˆ• „…‰‘’‚ˆ‰ … Žˆ‘•Ž„ˆ’. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .READ AREA,CHAN,BUF,WCNT,BLK ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 5-’ˆ ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; BUF - €„…‘ “”…€ „‹Ÿ —’…ˆŸ „€›•; WCNT - ŠŽ‹ˆ—…‘’‚Ž ‘‹Ž‚ „‹Ÿ —’…ˆŸ; BLK - ŽŒ… ‹ŽŠ€ „‹Ÿ Ž…€–ˆˆ —’…ˆŸ; …‘‹ˆ ›‹ ˆ‘Ž‹œ‡Ž‚€ ”€‰‹Ž‚›‰ .LOOKUP, TO BLK - ŽŒ… ‹ŽŠ€ Ž’Ž‘ˆ- ’…‹œŽ €—€‹€ ”€‰‹€; …‘‹ˆ ›‹ ˆ‘Ž‹œ‡Ž‚€ …”€‰‹Ž‚›‰ .LOOKUP, TO BLK - €‘Ž‹ž’›‰ ŽŒ… ‹ŽŠ€ “‘’Ž‰‘’‚€; Žƒ- €ŒŒ€ Ž‹œ‡Ž‚€’…‹Ÿ „Ž‹†€ ŒŽ„ˆ”ˆ–ˆŽ‚€’œ BLK ……„ …ƒŽ Ž‚- ’ސ›Œ ˆ‘Ž‹œ‡Ž‚€ˆ…Œ. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,10 .WORD BLK .WORD BUF .WORD WCNT .WORD 1 ˆŒ…. .TITLE READ.MAC ;ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ ‡€Ž‘Ž‚ .READ,.WRITE. .MCALL .READ,.WRITE,.CLOSE,.PRINT,.CSIGEN .MCALL .WAIT,.SRESET,.EXIT ERRBYT = 52 .ENABL LSB START: .CSIGEN #DSPACE,#DEFEXT ;‚‚Ž„ ŠŽŒ€„Ž‰ ‘’ŽŠˆ MOV #AREA,R5 CLR IOBLK 1$: .READ R5,#3 ;—ˆ’€’œ ‘ 0-ƒŽ ‹ŽŠ€ BCS 6$ ;Ž˜ˆŠ€ —’…ˆŸ ; . BIT #1,IOBLK BNE 2$ .PRINT #MES ; . 2$: .WAIT #3 ;†„€’œ ‡€‚…˜…ˆŸ Ž…€–ˆˆ BCS 5$ .WRITE R5,#0 ;‡€ˆ‘€’œ ‹ŽŠ BCS 3$ INC IOBLK ; . .WAIT #0 ;†„€’œ ‡€‚…˜…ˆŸ Ž…€–ˆˆ BCC 1$ 3$: MOV #WERR,R0 4$: .PRINT BR 7$ 5$: MOV #RERR,R0 BR 4$ 6$: TSTB @#ERRBYT BNE 5$ .PRINT #MES1 .CLOSE #0 7$: .SRESET ;“„€‹ˆ’œ ‡€ƒ“†…›‰ „€‰‚… .EXIT AREA: .WORD 0 IOBLK: .WORD 0 .WORD BUFF .WORD 256. .WORD 0 BUFF: .BLKW 256. DEFEXT: .WORD 0,0,0,0 MES1: .ASCIZ /Ž…€–ˆŸ ‚‚Ž„€-‚›‚Ž„€ ‡€‚…˜…€/ MES: .ASCIZ <15><12>/‚›Ž‹…ˆ… Žƒ€ŒŒ› Ž„Ž‹†€…’‘Ÿ/ WERR: .ASCIZ /Ž˜ˆŠ€ .WRITE/ RERR: .ASCIZ /Ž˜ˆŠ€ .READ/ .EVEN DSPACE =. .END START …‘‹ˆ ‚‚Ž„ ‚›Ž‹Ÿ…’‘Ÿ ‘ ’…Œˆ€‹€ ˆ BLK=0, ’Ž € ’…- Œˆ€‹… …—€’€…’‘Ÿ "^" (ŠŽ„ 136). ŠŽƒ„€ Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ “†Ž ‚›Ž‹ˆ’œ —’…ˆ… „€›•, ŒŽ†…’ ›’œ ˆ‘Ž‹œ‡Ž‚€ ‡€Ž‘ .WAIT. ’Ž ƒ€€’ˆ- “…’ ’Ž, —’Ž „€›… “„“’ Ž—ˆ’€› Ž‹Ž‘’œž. …‘‹ˆ ‚Ž ‚…- ŒŸ ……„€—ˆ „€›• Žˆ‡Ž˜‹€ Ž˜ˆŠ€, ‡€Ž‘ .WAIT ‘ŽŽ™€…’ Ž …‰. ‡€Ž‘ .READC ……„€…’ Ž…„…‹…Ž… ŠŽ‹ˆ—…‘’‚Ž ‘‹Ž‚ Ž “Š€‡€ŽŒ“ Š€€‹“ ‚ €ŒŸ’œ. “€‚‹…ˆ… Žƒ€ŒŒ… Ž‹œ‡Ž‚€- ’…‹Ÿ “„…’ ……„€Ž ‘€‡“ Ž‘‹… €—€‹€ ‚›Ž‹…ˆŸ .READC. Ž›’Š€ —’…ˆŸ „€›• Ž‘‹… ŠŽ–€ ”€‰‹€ ‚›‡›‚€…’ ……„€—“ “€‚‹…ˆŸ ‚›‡›‚€ž™…‰ Žƒ€ŒŒ… ‘ “‘’€Ž‚‹…ˆ…Œ ‘-€‡Ÿ„€ ˆ ‡€ˆ‘œž “‹Ÿ ‚ €‰’ Ž˜ˆŽŠ (52-€‰’). Ž‘‹… ‚›Ž‹…ˆŸ .READC “€‚‹…ˆ… “„…’ ……„€Ž Ž„Žƒ€ŒŒ… ‡€‚…˜…ˆŸ, €„…‘ ŠŽ’ސ›‰ “Š€‡€ ‚ ‡€Ž‘…. …‘‹ˆ ‚ Ž„Žƒ€ŒŒ… ‡€‚…- ˜…ˆŸ ‚›Ž‹Ÿ…’‘Ÿ ŠŽŒ€„€ RTS PC, ’Ž “€‚‹…ˆ… ‚އ‚€™€…’- ‘Ÿ Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .READC AREA,CHAN,BUF,WCNT,CRTN,BLK ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 5-’ˆ ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; BUF - €„…‘ “”…€ „‹Ÿ —’…ˆŸ „€›•; WCNT - ŠŽ‹ˆ—…‘’‚Ž ‘‹Ž‚ „‹Ÿ —’…ˆŸ; CRTN - €„…‘ Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ (€„…‘ „Ž‹†… ›’œ Ž‹œ˜… 500 (‚Ž‘œŒ…ˆ—Ž‰)); BLK - ‘Œ. ‡€Ž‘ .READ ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,10 .WORD BLK .WORD BUF .WORD WCNT .WORD CRTN ˆ ‡€“‘Š… Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ ‘€‚…„‹ˆ‚Ž ‘‹…- „“ž™……: 1) …ƒˆ‘’ R0 ‘Ž„…†ˆ’ ‘‹Ž‚Ž ‘Ž‘’ŽŸˆŸ Š€€‹€; …‘‹ˆ ‚ R0 “‘’€Ž‚‹… €‡Ÿ„ 0, ’Ž Žˆ‡Ž˜‹€ €€€’€Ÿ Ž˜ˆŠ€ ‚Ž ‚…ŒŸ ……„€—ˆ „€›•; 2) …ƒˆ‘’ R1 ‘Ž„…†ˆ’ ŽŒ… Š€€‹€ „‹Ÿ Ž…€–ˆˆ; ’€ ˆ”ސŒ€–ˆŸ …ށ•Ž„ˆŒ€, ŠŽƒ„€ Ž„€ ˆ ’€ †… Ž„Žƒ€ŒŒ€ ‡€‚…˜…ˆŸ ˆ‘Ž‹œ‡“…’‘Ÿ ‚ …‘ŠŽ‹œŠˆ• Ž…€–ˆŸ•. ˆŒ…. .TITLE READC.MAC ;ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ ‡€Ž‘Ž‚ .READC,.WRITC. .MCALL .READC,.WRITC,.CSIGEN,.PRINT .MCALL .CLOSE,.WAIT,.SRESET,.EXIT ERRBYT = 52 .ENABL LSB START: .CSIGEN #DSPACE,#DEFEXT ;‚‚Ž„ ŠŽŒ€„Ž‰ ‘’ŽŠˆ CALL IOXFER .PRINT #MES MOV #-1,R5 1$: DEC R5 BNE 1$ TSTB EOF BEQ 1$ ;0 - Ž˜ˆŠ€ ‡€ˆ‘ˆ BLT RERR ;<0- Ž˜ˆŠ€ —’…ˆŸ .CLOSE #0 ;>0- ŠŽ…– ”€‰‹€ MOV #DONE,R0 BR EXIT WERR: MOV #WRERR,R0 BR EXIT RERR: MOV #RDERR,R0 EXIT: .PRINT .SRESET ;“„€‹ˆ’œ ‡€ƒ“†…›… ;„€‰‚…› .EXIT WRDONE: .WAIT #0 BCS 3$ IOXFER: .READC #AREA,#3,,,#4$ ;—ˆ’€’œ ‹ŽŠ BCC 7$ TSTB @#ERRBYT ;ŠŽ…– ”€‰‹€? BEQ 6$ ;„€ 2$: DECB EOF 3$: DECB EOF RETURN 4$: .WAIT #3 BCS 2$ .WRITC #AREA,#0,,,#WRDONE;‡€ˆ‘€’œ ‹ŽŠ BCS 3$ 5$: INC BLOK RETURN 6$: INCB EOF 7$: RETURN AREA: .WORD 0 ;‹ŽŠ €ƒ“Œ…’Ž‚ …Œ’ BLOK: .WORD 0 ;ŽŒ… ‹ŽŠ€ .WORD BUFF ;€„…‘ “”…€ .WORD 256. ;‘—…’—ˆŠ ‘‹Ž‚ .WORD 0 ;€„…‘ Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ BUFF: .BLKW 256. DEFEXT: .WORD 0,0,0,0 DONE: .ASCIZ /ŠŽ…– Žƒ€ŒŒ›/ MES: .ASCIZ /‚›Ž‹…ˆ… Žƒ€ŒŒ› Ž„Ž‹†€…’‘Ÿ/ WRERR: .ASCIZ /Ž˜ˆŠ€ .WRITC/ RDERR: .ASCIZ /Ž˜ˆŠ€ .READC/ EOF: .BYTE 0 .EVEN DSPACE =. .END START ‡€Ž‘ .READW ……„€…’ Ž…„…‹…Ž… ŠŽ‹ˆ—…‘’‚Ž ‘‹Ž‚ Ž “Š€‡€ŽŒ“ Š€€‹“ ‚ €ŒŸ’œ. “€‚‹…ˆ… ……„€…’‘Ÿ Žƒ- €ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ Ž‘‹… ‚›Ž‹…ˆŸ ‡€Ž‘€ .READW ˆ‹ˆ ˆ ށ€“†…ˆˆ Ž˜ˆŠˆ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .READW AREA,CHAN,BUF,WCNT,BLK ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 5-’ˆ ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; WCNT - ŠŽ‹ˆ—…‘’‚Ž ‘‹Ž‚ „‹Ÿ —’…ˆŸ (Š€†„›‰ ‡€Ž‘ ŒŽ†…’ ……„€’œ Œ€Š‘ˆŒ€‹œŽ 32Š ‘‹Ž‚); BLK - ‘Œ. ‡€Ž‘ .READ ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,10 .WORD BLK .WORD BUF .WORD WCNT .WORD 0 …‘‹ˆ Ž‘‹… ‡€‚…˜…ˆŸ ‡€Ž‘€ “„…’ “‘’€Ž‚‹… ‘- €‡Ÿ„, ’Ž ’Ž “Š€‡›‚€…’ € ’Ž, —’Ž € Š€€‹… Žˆ‡Ž˜‹€ €€€’€Ÿ Ž˜ˆŠ€. …‘‹ˆ Ž˜ˆŠˆ … ›‹Ž, ’Ž „€›… €•Ž„Ÿ’‘Ÿ ‚ €ŒŸ’ˆ, €—ˆ€Ÿ ‘ “Š€‡€ŽƒŽ €„…‘€. ‚ …†ˆŒ… FB Ž„Ž ˆ‡ ‡€„€ˆ‰ ŒŽ†…’ ‚›Ž‹Ÿ’œ‘Ÿ ‚ ’Ž ‚…ŒŸ ЀР„“ƒŽ… ‡€„€ˆ… ކˆ„€…’ ‡€‚…˜…ˆŸ Ž…€–ˆˆ. ˆŒ…. .TITLE READW.MAC ;ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ ‡€Ž‘Ž‚ .READW,.WRITW. .MCALL .CSIGEN,.READW,.WRITW,.PRINT,.CLOSE .MCALL .SRESET,.EXIT ERRBYT = 52 START: .CSIGEN #DSPACE,#DEFEXT CLR IOBLK MOV #AREA,R5 READ: .READW R5,#3 BCC 2$ TSTB @#ERRBYT BEQ 3$ MOV #RERR,R0 1$: .PRINT BR 4$ 2$: .WRITW R5,#0 INC IOBLK BCC READ MOV #WERR,R0 BR 1$ 3$: .CLOSE #0 .PRINT #DONE 4$: .SRESET .EXIT DEFEXT: .WORD 0,0,0,0 AREA: .WORD 0 IOBLK: .WORD 0 .WORD BUFF .WORD 256. .WORD 0 BUFF: .BLKW 256. RERR: .ASCIZ /Ž˜ˆŠ€ .READW/ WERR: .ASCIZ /Ž˜ˆŠ€ .WRITW/ DONE: .ASCIZ /ŠŽ…– Žƒ€ŒŒ›/ .EVEN DSPACE =. .END START 5.2.2. .WRITE,.WRITC,.WRITW ˆ ˆ‘Ž‹œ‡Ž‚€ˆˆ ‡€Ž‘Ž‚ .WRITE ˆ .WRITC „Ž‹†› ›’œ Ž…„…‹…› „ŽŽ‹ˆ’…‹œ›… ‹…Œ…’› „‹Ÿ Ž—……„ˆ ‚‚Ž„€- ‚›‚Ž„€. ‡€Ž‘ .WRITE ……„€…’ “Š€‡€Ž… ŠŽ‹ˆ—…‘’‚Ž ‘‹Ž‚ ˆ‡ €ŒŸ’ˆ Ž “Š€‡€ŽŒ“ Š€€‹“. “€‚‹…ˆ… Žƒ€ŒŒ… Ž‹œ‡Ž‚€- ’…‹Ÿ ……„€…’‘Ÿ ‘€‡“ †… Ž‘‹… ’ŽƒŽ, ЀР‡€Ž‘ “„…’ Ž‘- ’€‚‹… ‚ Ž—……„œ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .WRITE AREA,CHAN,BUF,WCNT,BLK ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 5-’ˆ ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; BUF - €„…‘ “”…€ €ŒŸ’ˆ, ŠŽ’ސ›‰ ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ ‚›‚Ž„€; WCNT - ŠŽ‹ˆ—…‘’‚Ž ‘‹Ž‚ „‹Ÿ ‡€ˆ‘ˆ; BLK - ŽŒ… ‹ŽŠ€ „‹Ÿ Ž…€–ˆˆ ‡€ˆ‘ˆ; …‘‹ˆ ˆ‘Ž‹œ- ‡“…’‘Ÿ ”€‰‹Ž‚›‰ .LOOKUP ˆ‹ˆ .ENTER, TO BLK - ŽŒ… ‹ŽŠ€ Ž’Ž‘ˆ’…‹œŽ €—€‹€ ”€‰‹€; …‘‹ˆ ›‹ ˆ‘Ž‹œ‡Ž‚€ …”€‰‹Ž‚›‰ .LOOKUP ˆ‹ˆ .ENTER, ’Ž BLK - €‘Ž‹ž’›‰ ŽŒ… ‹ŽŠ€ “‘’- Ž‰‘’‚€; Žƒ€ŒŒ€ Ž‹œ‡Ž‚€’…‹Ÿ „Ž‹†€ ŒŽ„ˆ”ˆ–ˆŽ‚€’œ BLK ……„ …ƒŽ Ž‚’ސ›Œ ˆ‘Ž‹œ‡Ž‚€ˆ…Œ. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,11 .WORD BLK .WORD BUF .WORD WCNT .WORD 1 ‡€Ž‘ .WRITC ……„€…’ ‡€„€Ž… ŠŽ‹ˆ—…‘’‚Ž ‘‹Ž‚ ˆ‡ €ŒŸ’ˆ Ž “Š€‡€ŽŒ“ Š€€‹“. “€‚‹…ˆ… ……„€…’‘Ÿ Žƒ€Œ- Œ… Ž‹œ‡Ž‚€’…‹Ÿ …Œ…„‹…Ž Ž‘‹… €—€‹€ ‚›Ž‹…ˆŸ .WRITC. Ž‘‹… ‚›Ž‹…ˆŸ ‡€Ž‘Ž‚, “€‚‹…ˆ… “„…’ ……„€Ž Ž„- Žƒ€ŒŒ… ‡€‚…˜…ˆŸ. Ž ŠŽŒ€„… RTS PC “€‚‹…ˆ… ‚އ‚€- ˜€…’‘Ÿ Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .WRITC AREA,CHAN,BUF,WCNT,CRTN,BLK ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 5-’ˆ ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; BUF - €„…‘ “”…€ €ŒŸ’ˆ, ŠŽ’ސ›‰ ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ ‚›‚Ž„€; WCNT - ŠŽ‹ˆ—…‘’‚Ž ‘‹Ž‚ „‹Ÿ ‡€ˆ‘ˆ; CRTN - €„…‘ Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ; BLK - ‘Œ. ‡€Ž‘ .WRITE ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,11 .WORD BLK .WORD BUF .WORD WCNT .WORD CRTN ‡€Ž‘ .WRITW ……„€…’ ‡€„€Ž… ŠŽ‹ˆ—…‘’‚Ž ‘‹Ž‚ ˆ‡ €ŒŸ’ˆ Ž “Š€‡€ŽŒ“ Š€€‹“. “€‚‹…ˆ… ……„€…’‘Ÿ Žƒ€Œ- Œ… Ž‹œ‡Ž‚€’…‹Ÿ Ž‘‹… ‡€‚…˜…ˆŸ .WRITW. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .WRITW AREA,CHAN,BUF,WCNT,BLK ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 5-’ˆ ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; BUF - €„…‘ “”…€, ŠŽ’ސ›‰ ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ ‚›‚Ž„€; WCNT - ŠŽ‹ˆ—…‘’‚Ž ‘‹Ž‚ „‹Ÿ ‡€ˆ‘ˆ; BLK - ‘Œ. ‡€Ž‘ .WRITE. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,10 .WORD BLK .WORD BUF .WORD WCNT .WORD 0 5.2.3. .RCVD,.RCVDC,.RCVDW (…†ˆŒ FB,•Œ) ‘“™…‘’‚“ž’ ’ˆ ”ސŒ› ‡€Ž‘€ Ž‹“—…ˆŸ „€›•, ŠŽ’ސ›… ˆ‘Ž‹œ‡“ž’‘Ÿ ‚Œ…‘’… ‘ ‡€Ž‘€Œˆ .SDAT. ‡€Ž‘› .RCVD €€‹Ž- ƒˆ—› ‡€Ž‘€Œ .READ, Ž ‚ Ž’‹ˆ—ˆˆ Ž’ ˆ• Ž‘“™…‘’‚‹Ÿž’ ˆ…Œ „€›• ˆ‡ „“ƒŽ‰ Žƒ€ŒŒ›, € … ‘ “‘’Ž‰‘’‚€. ˆ ˆ‘Ž‹œ‡Ž‚€ˆˆ ‡€Ž‘Ž‚ .RCVD ˆ .RCVDC „Ž‹†› ›’œ Ž…„…‹…- › „ŽŽ‹ˆ’…‹œ›… ‹…Œ…’› „‹Ÿ Ž—……„ˆ ‚‚Ž„€-‚›‚Ž„€. ‡€Ž‘ .RCVD ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ Ž‹“—…ˆŸ „€›• ˆ‹ˆ ‘ŽŽ™…ˆ‰, Ž‘›‹€…Œ›• „“ƒŽ‰ Žƒ€ŒŒŽ‰. “€‚‹…ˆ… ‚›‡›- ‚€ž™…‰ Žƒ€ŒŒ… ……„€…’‘Ÿ ‘€‡“ †… Ž‘‹… €—€‹€ ‚›Ž‹…- ˆŸ ‡€Ž‘€ .RCVD. ˆ …ށ•Ž„ˆŒŽ‘’ˆ, ‘ .RCVD ˆ‘Ž‹œ‡“…’‘Ÿ ‡€Ž‘ .MWAIT, ŠŽ’ސ›‰ ‡€„…†ˆ‚€…’ ‚›Ž‹…ˆ… Žƒ€ŒŒ› „Ž ŽŠŽ—€ˆŸ Ž…€–ˆˆ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .RCVD AREA,BUF,WCNT ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 5-’ˆ ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; BUF - €„…‘ “”…€ „‹Ÿ ‘ŽŽ™…ˆ‰ („€›•); WCNT - ŠŽ‹ˆ—…‘’‚Ž ……„€‚€…Œ›• ‘‹Ž‚. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE 0,26 .WORD <‡€…‡…‚ˆŽ‚€Ž> .WORD BUF .WORD WCNT .WORD 1 Ž‘‹… ‚›Ž‹…ˆŸ ŒŽˆ’ŽŽŒ ‡€Ž‘€ .RCVD, …‚Ž… ‘‹Ž‚Ž “”…€ (BUF) “„…’ ‘Ž„…†€’œ „…‰‘’‚ˆ’…‹œŽ… ŠŽ‹ˆ—…‘’‚Ž ……„€›• ‘‹Ž‚. ’€ŠˆŒ ށ€‡ŽŒ, ށ‹€‘’œ €ŒŸ’ˆ „‹Ÿ ˆ…Œ€ „€›• „Ž‹†€ ›’œ, Ž А€‰…‰ Œ……, € Ž„Ž ‘‹Ž‚Ž Ž‹œ˜… €‡Œ…€ ……„€‚€…ŒŽƒŽ ‘ŽŽ™…ˆŸ. ŠŽŒˆ€–ˆŸ .SDAT/.RCVD ŒŽ†…’ ›’œ ˆ‘Ž‹œ‡Ž‚€€ „‹Ÿ ……„€—ˆ ЀР…‘ŠŽ‹œŠˆ• ‘‹Ž‚, ’€Š ˆ –…‹ŽƒŽ “”…€. Ž…€–ˆŸ Ž ‡€Ž‘“ .RCVD ‡€Š€—ˆ‚€…’‘Ÿ ’Ž‹œŠŽ Ž‘‹… ‚›Ž‹…ˆŸ .SDAT ˆ‡ „“ƒŽ‰ Žƒ€ŒŒ›. ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .RCVD ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .MWAIT. ‡€Ž‘ .RCVDC Ž‘“™…‘’‚‹Ÿ…’ ˆ…Œ „€›• ˆ ‡€“‘Š€…’ Ž„Žƒ€ŒŒ“ ‡€‚…˜…ˆŸ Ž‘‹… Ž‹“—…ˆŸ ‘ŽŽ™…ˆŸ (€€‹Ž- ƒˆ—Ž .READC). ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .RCVDC AREA,BUF,WCNT,CRTN ƒ„… CRTN - €„…‘ Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE 0,26 .WORD <‡€…‡…‚ˆŽ‚€Ž> .WORD BUF .WORD WCNT .WORD CRTN ‡€Ž‘ .RCVDW Ž‘“™…‘’‚‹Ÿ…’ ˆ…Œ „€›• ˆ ކˆ„€…’ ŽŠŽ—€ˆŸ Ž…€–ˆˆ. ‚›Ž‹…ˆ… ‚›‡›‚€ž™…‰ Žƒ€ŒŒ› ‡€„…- †ˆ‚€…’‘Ÿ „Ž ŽŠŽ—€ˆŸ ……„€—ˆ ‘ŽŽ™…ˆŸ „“ƒŽ‰ Žƒ€ŒŒŽ‰. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .RCVDW AREA,BUF,WCNT ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE 0,26 .WORD <‡€…‡…‚ˆŽ‚€Ž> .WORD BUF .WORD WCNT .WORD 0 ЀРˆ ‚ .RCVD, …‚Ž… ‘‹Ž‚Ž “”…€ „‹Ÿ .RCVDC ˆ .RCVDW “„…’ ‘Ž„…†€’œ „…‰‘’‚ˆ’…‹œŽ… ŠŽ‹ˆ—…‘’‚Ž ……„€›• ‘‹Ž‚. ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .RCVDW ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .CHCOPY. 5.2.4. .SDAT,.SDATC,.SDATW (…†ˆŒ FB,•Œ) ‡€Ž‘› .SDAT,.SDATC,.SDATW ˆ‘Ž‹œ‡“ž’‘Ÿ ‚Œ…‘’… ‘ ‡€- Ž‘€Œˆ .RCVD,.RCVDC, .RCVDW „‹Ÿ ……„€—ˆ ‘ŽŽ™…ˆ‰ ˆ‹ˆ „€- ›• Œ…†„“ Žƒ€ŒŒ€Œˆ Ž„ “€‚‹…ˆ…Œ ŒŽˆ’ސނ FB ˆ‹ˆ XM. ‡€Ž‘› .SDAT,.SDATC,.SDATW €€‹Žƒˆ—Ž ‡€Ž‘€Œ .WRITE,.WRITC,.WRITW, ’Ž‹œŠŽ Ž‘“™…‘’‚‹Ÿž’ ……„€—“ „€›• … € “‘’Ž‰‘’‚Ž, € „“ƒŽ‰ Žƒ€ŒŒ…. ˆ ˆ‘Ž‹œ‡Ž‚€ˆˆ ‡€Ž‘Ž‚ .SDAT ˆ .SDATC „Ž‹†› ›’œ Ž…„…‹…› „ŽŽ‹ˆ’…‹œ- ›… ‹…Œ…’› „‹Ÿ Ž—……„ˆ ‚‚Ž„€-‚›‚Ž„€. .SDAT ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .SDAT AREA,BUF,WCNT ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 5-’ˆ ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; BUF - €„…‘ “”…€ „‹Ÿ ‘ŽŽ™…ˆ‰ („€›•), ŠŽ’ސ›… “„“’ ……„€›; WCNT - ŠŽ‹ˆ—…‘’‚Ž ‘‹Ž‚ „‹Ÿ ……„€—ˆ. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE 0,25 .WORD <‡€…‡…‚ˆŽ‚€Ž> .WORD BUF .WORD WCNT .WORD 1 ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .SDAT ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .MWAIT. .SDATC ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .SDATC AREA,BUF,WCNT,CRTN ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 5-’ˆ ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; BUF - €„…‘ “”…€ „‹Ÿ ‘ŽŽ™…ˆ‰ („€›•), ŠŽ’ސ›… “„“’ ……„€›; WCNT - ŠŽ‹ˆ—…‘’‚Ž ‘‹Ž‚ „‹Ÿ ……„€—ˆ; CRTN - €„…‘ Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE 0,25 .WORD <‡€…‡…‚ˆŽ‚€Ž> .WORD BUF .WORD WCNT .WORD CRTN .SDATW ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .SDATW AREA,BUF,WCNT ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 5-’ˆ ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; BUF - €„…‘ “”…€ „‹Ÿ ‘ŽŽ™…ˆ‰ („€›•), ŠŽ’ސ›… “„“’ ……„€›; WCNT - ŠŽ‹ˆ—…‘’‚Ž ‘‹Ž‚ „‹Ÿ ……„€—ˆ. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE 0,25 .WORD <‡€…‡…‚ˆŽ‚€Ž> .WORD BUF .WORD WCNT .WORD 0 ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .SDATW ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .CHCOPY. 5.2.5. .TTYIN,.TTINR ‡€Ž‘› .TTYIN ˆ .TTINR ˆ‘Ž‹œ‡“ž’‘Ÿ „‹Ÿ ……„€—ˆ ‘ˆŒ- ‚ދނ ‘ ’…Œˆ€‹€ ‚ Žƒ€ŒŒ“ Ž‹œ‡Ž‚€’…‹Ÿ. Œ€ŠŽ€‘˜ˆ…ˆ… „‹Ÿ .TTYIN: EMT 340 BCS .-2 Œ€ŠŽ€‘˜ˆ…ˆ… „‹Ÿ .TTINR: EMT 340 ‡€Ž‘ .TTYIN –ˆŠ‹ˆ’‘Ÿ ‚ ކˆ„€ˆˆ Ž„€—ˆ ‘ˆŒ‚Ž‹€ ˆ‹ˆ ‘’ŽŠˆ ‘ˆŒ‚ދނ, ‚ ’Ž ‚…ŒŸ ЀРŽ‹œ‡Ž‚€’…‹œ ŒŽ†…’ ˆ‹ˆ ކˆ- „€’œ, ˆ‹ˆ Ž„Ž‹†€’œ ‚›Ž‹…ˆ… Žƒ€ŒŒ›, ˆ‘Ž‹œ‡“Ÿ .TTINR. …‘‹ˆ Ž ‡€‚…˜…ˆž ‚›Ž‹…ˆŸ .TTINR “‘’€€‚‹ˆ‚€…’ ‘-€‡Ÿ„, ’Ž ’Ž ‡€—ˆ’ —’Ž ‚ “”…… ’…Œˆ€‹€ ‘ˆŒ‚Ž‹ Ž’‘“’‘’‚“…’ (Ž‹œ‡Ž‚€’…‹œ …™… … €…—€’€‹ …ƒŽ). ‚ …†ˆŒ€• FB,•Œ ˆ SJ(…‡ Œ“‹œ’ˆ’…Œˆ€‹œŽ‰ Ž„„…†Šˆ) .TTINR … “‘’€€‚‹ˆ‚€…’ ‘-€‡Ÿ„, …‘‹ˆ … “‘’€Ž‚‹… 6-މ €‡Ÿ„ ‚ ‘‹Ž‚… ‘Ž‘’ŽŸˆŸ ‡€„€ˆŸ (‘‘‡). ‘“™…‘’‚“ž’ „‚€ …†ˆŒ€ ‚‚Ž„€ ‘ ’…Œˆ€‹€. …†ˆŒ ‚‚Ž„€ Ž…„…‹Ÿ…’‘Ÿ ‘Ž„…†ˆŒ›Œ 12-ƒŽ €‡Ÿ„€ ‚ ‘‘‡. …‘‹ˆ ‘Ž„…†ˆŒŽ… 12-ƒŽ €‡Ÿ„€ Ž‹œ, ’Ž ƒŽ‚ސŸ’ ށ ށ™…Œ …†ˆŒ… ‚‚Ž„€-‚›‚Ž- „€. ‚ ’ŽŒ …†ˆŒ… ‚›Ž‹Ÿž’‘Ÿ ‘‹…„“ž™ˆ… „…‰‘’‚ˆŸ: 1) ŒŽˆ’ސ ށ…‘…—ˆ‚€…’ "•Ž" ‚‘…Œ ‘ˆŒ‚Ž‹€Œ, ‚‚Ž„ˆŒ›Œ ‘ ’…Œˆ€‹€; 2) ‘’ˆ€ˆ… ‘ˆŒ‚ދނ ˆ ‘’ŽŠ Ž‘“™…‘’‚‹Ÿ…’‘Ÿ ‘ ŽŒŽ™œž ŠŽŒ€„ ‡ ˆ ‘“/U ‘ŽŽ’‚…’‘’‚…Ž; 3) „‹Ÿ ……„€—ˆ ‘ˆŒ‚ދނ Žƒ€ŒŒ… …ށ•Ž„ˆŒŽ Ž„€’œ ‚Š , ‘ ˆ‹ˆ ŠŽŒ€„› ‘“/Z ˆ‹ˆ ‘“/‘; ‚އ‚€’ Š€…’Šˆ ˆ ……- ‚Ž„ ‘’ŽŠˆ ’€Š†… ……„€ž’‘Ÿ Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ. …‘‹ˆ 12-›‰ €‡Ÿ„ ‚ ‘‘‡ €‚… …„ˆˆ–…, ’Ž “‘’€€‚‹ˆ- ‚€…’‘Ÿ ‘…–ˆ€‹œ›‰ …†ˆŒ ‚‚Ž„€-‚›‚Ž„€. ‚ ’ŽŒ …†ˆŒ… ‚›Ž‹- Ÿž’‘Ÿ ‘‹…„“ž™ˆ… „…‰‘’‚ˆŸ: 1) ŒŽˆ’ސ … ‚›„€…’ "•Ž" ‘ˆŒ‚Ž‹€Œ, ‚‚Ž„ˆŒ›Œ ‘ ’…Œˆ- €‹€, ŠŽŒ… ‘“/‘ ˆ ‘“/D; 2) ‘“/U ˆ ‡ … ‚›Ž‹Ÿž’ ‘‚Žˆ• ”“Š–ˆ‰; 3) ‘ˆŒ‚Ž‹› ‘€‡“ †… ……„€ž’‘Ÿ Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ. ‚ ‘…–ˆ€‹œŽŒ …†ˆŒ… Žƒ€ŒŒ€ Ž‹œ‡Ž‚€’…‹Ÿ „Ž‹†€ ‘€Œ€ ‚›Ž‹Ÿ’œ …—€’œ ‚‚Ž„ˆŒ›• ‘ˆŒ‚ދނ, …‘‹ˆ ’Ž …ށ•Ž„ˆ- ŒŽ (ˆ‘Š‹ž—…ˆ… ‘Ž‘’€‚‹Ÿž’ ‘“/‘ ˆ ‘“/D). 12-›‰ €‡Ÿ„ ‚ ‘‘‡ „Ž‹†… “‘’€€‚‹ˆ‚€’œ‘Ÿ Žƒ€ŒŒŽ‰ Ž‹œ‡Ž‚€’…‹Ÿ. ’Ž’ €‡Ÿ„ Ž—ˆ™€…’‘Ÿ, …‘‹ˆ “€‚‹…ˆ… ……- „€…’‘Ÿ ŒŽˆ’ސ“. „…‰‘’‚ˆŸ ‘“/F,‘“/‚ ˆ ‘“/• … ‡€‚ˆ‘Ÿ’ Ž’ ‘Ž„…†ˆŒŽƒŽ 12-ƒŽ €‡Ÿ„€, …‘‹ˆ €…… … ›‹€ Ž„€€ ŠŽŒ€„€ SET TT NOFB). ŠŽŒ€„› ‘“/S ˆ ‘“/Q ‚›Ž‹Ÿž’‘Ÿ ŒŽˆ’ŽŽŒ, …‘‹ˆ ’Ž‹œŠŽ ‚ …†ˆŒ… FB(XM) €…… … ›‹€ ‚›Ž‹…€ ŠŽŒ€„€ SET TT NOPAGE. …‘‹ˆ ‚ …†ˆŒ… FB (XM) ‘„…‹€ ‡€Ž‘ ‚‚Ž„€, € ‘ˆŒ‚Ž‹€ …’ ‚ €‹ˆ—ˆˆ, ’Ž ‚›Ž‹…ˆ… Žƒ€ŒŒ› ‹ŽŠˆ“…’‘Ÿ „Ž ’…• Ž, ŽŠ€ ‚ “”…… ‚‚Ž„€ … ŽŸ‚ˆ’‘Ÿ ‘ˆŒ‚Ž‹. ’Ž ‘€‚…„‹ˆ- ‚Ž „‹Ÿ .TTYIN ˆ TTINR ˆ … ‡€‚ˆ‘ˆ’ Ž’ …†ˆŒ€ ‚‚Ž„€. „‹Ÿ ’ŽƒŽ, —’ށ› Ž„Ž‹†ˆ’œ ‚›Ž‹…ˆ… Žƒ€ŒŒ› (ˆ ށ…‘…—ˆ’œ “‘’€Ž‚Š“ ‘-€‡Ÿ„€ ‚ ‘‹“—€… Ž’‘“’‘’‚ˆŸ ‘ˆŒ‚Ž‹€ ‚ “”…… ‚‚Ž„€) …ށ•Ž„ˆŒŽ “‘’€Ž‚ˆ’œ ……„ .TTINR 6-މ €‡Ÿ„ ‚ ‘‘‡. 6-މ €‡Ÿ„ Ž—ˆ™€…’‘Ÿ Ž‘‹… ŽŠŽ—€ˆŸ ‚›Ž‹…ˆŸ Žƒ- €ŒŒ›. ‚‚Ž„ˆŒ›… Ž .TTYIN, .TTYINR ‘ˆŒ‚Ž‹› ŒŽ†Ž …„€Š’ˆŽ- ‚€’œ ‘ ŽŒŽ™œž SL, …‘‹ˆ …„‚€ˆ’…‹œŽ ›‹ˆ Ž„€› ŠŽŒ€„› SET SL ON ˆ SET SL TTYIN ˆ ‘Ž„…†ˆŒŽ… 4-ƒŽ ˆ 12-ƒŽ €‡Ÿ„Ž‚ ‘‘‡ €‚› “‹ž. ˆ …„€Š’ˆŽ‚€ˆˆ Ž‘…„‘’‚ŽŒ SL, ‘Ž„…†ˆŒŽ… 6-ƒŽ €‡Ÿ„€ ‘‘‡ … ‘“™…‘’‚…Ž, ˆ ‚›Ž‹…ˆ… ‡€Ž‘€ .TTINR “„…’ ‡€‚…˜…Ž ’Ž‹œŠŽ Ž‘‹… ‡€‚…˜…ˆŸ Ž…€–ˆˆ …„€Š’ˆŽ- ‚€ˆŸ. ˆŒ…—€ˆ…. ‡€Ž‘ .TTYIN … ށ‘‹“†ˆ‚€…’ ŠŽ‘‚…›… ”€‰‹›. „‹Ÿ ’މ –…‹ˆ …ށ•Ž„ˆŒŽ ‚Ž‘Ž‹œ‡Ž‚€’œ‘Ÿ ‡€Ž‘ŽŒ .GTLIN. Ž .TTYIN …‚އŒŽ†Ž Ž‹“—ˆ’œ ‘ˆŒ‚Ž‹ ˆ‡ ŠŽ‘‚…ŽƒŽ ”€‰‹€. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .TTYIN CHAR .TTINR ƒ„… CHAR - €„…‘ Ÿ—…‰Šˆ, Š“„€ ……‘›‹€…’‘Ÿ ŠŽ„ ‚‚Ž„ˆŒŽƒŽ ‘ˆŒ‚Ž‹€; …‘‹ˆ CHAR “Š€‡€ ‚ ‡€Ž‘…, ’Ž ŠŽ„ ……‘›‹€…’‘Ÿ ‚ “Š€‡€“ž Ÿ—…‰Š“ ˆ ‚ R0; …‘‹ˆ CHAR … “Š€‡€, ’Ž ‚ R0. ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .TTYIN,.TTINR ‘Œ. ‚ Žˆ‘€ˆˆ ‡€- Ž‘Ž‚ .TTYOUT,.TTOUTR. 5.2.6. .TTYOUT,.TTOUTR ‡€Ž‘› .TTYOUT,.TTOUTR ˆ‘Ž‹œ‡“ž’‘Ÿ „‹Ÿ ……„€—ˆ ‘ˆŒ- ‚ދނ ˆ‡ R0 ‚ “”… ’…Œˆ€‹€. „…‰‘’‚ˆŸ ’ˆ• ‡€Ž‘Ž‚ €€- ‹Žƒˆ—› „…‰‘’‚ˆŸŒ ‡€Ž‘Ž‚ .TTYIN,.TTINR. …‘‹ˆ “”… ’…Œˆ- €‹€ ‡€Ž‹…, ’Ž ‡€Ž‘ .TTYOUT ކˆ„€…’ ŽŸ‚‹…ˆŸ ‚ “”…… ‘‚ށބŽƒŽ Œ…‘’€ „‹Ÿ ‚›‚Ž„ˆŒŽƒŽ ‘ˆŒ‚Ž‹€, ’Žƒ„€ ЀР.TTOUTR … ކˆ„€…’ ‘‚ށބŽƒŽ Œ…‘’€ ˆ ‘ˆŒ‚Ž‹, €•Ž„Ÿ™ˆ‰‘Ÿ ‚ R0, € ’…Œˆ€‹ … ‚›‚Ž„ˆ’‘Ÿ. …‘‹ˆ Ž‘‹… ‡€‚…˜…ˆŸ .TTOUTR “‘’€- Ž‚‹… ‘-€‡Ÿ„, ’Ž ’Ž ƒŽ‚ސˆ’ Ž ’ŽŒ, —’Ž ‚ “”…… …’ ‘‚ށބŽƒŽ Œ…‘’€ ˆ —’Ž ‘ˆŒ‚Ž‹ … ›‹ ‚›‚…„… € ’…Œˆ€‹. ‚ …†ˆŒ€• FB,•Œ ‡€Ž‘ .TTOUTR … “‘’€€‚‹ˆ‚€…’ ‘-€‡Ÿ„. ‚ ’ŽŒ ‘‹“—€…, ‚›Ž‹…ˆ… Žƒ€ŒŒ› ‹ŽŠˆ“…’‘Ÿ „Ž ŽŸ‚‹…ˆŸ ‚ “”…… ‘‚ށބŽƒŽ Œ…‘’€. „‹Ÿ ’ŽƒŽ, —’ށ› Ž„Ž‹†ˆ’œ ‚›Ž‹…ˆ… Žƒ€ŒŒ› ˆ ށ…‘…—ˆ’œ “‘’€Ž‚Š“ ‘-€‡Ÿ„€, …ށ•Ž„ˆŒŽ ‚ ‘‘‡ “‘’€Ž‚ˆ’œ 6-މ €‡Ÿ„. ˆŒ…—€ˆ…. …‘‹ˆ ‚ Ž‘Ž‚ŽŒ ‡€„€ˆˆ “‘’€Ž‚‹… 6-މ €‡Ÿ„ ‚ ‘‘‡, ’Ž ‡€Ž‘› .TTYIN ˆ .TTYOUT “„“’ ‚›‡›‚€’œ ‹ŽŠˆŽ‚Š“ ”ŽŽ‚ŽƒŽ ‡€„€ˆŸ. ‡€Œ…’ˆŒ, —’Ž Š€†„Ž… ‡€„€ˆ… ‚ Ž‘Ž‚ŽŒ ˆ‹ˆ ”ŽŽ‚ŽŒ …†ˆŒ… ˆŒ……’ ‘‚Ž… ‘ށ‘’‚…Ž… ‘‘‡ ˆ Ž’ŽŒ“ Žˆ ŒŽƒ“’ ˆ‘Ž‹œ‡Ž‚€’œ €‡‹ˆ—›… …†ˆŒ› €Ž’› ’…- Œˆ€‹€ …‡€‚ˆ‘ˆŒŽ „“ƒ Ž’ „“ƒ€. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .TTYOUT CHAR .TTOUTR ƒ„… CHAR - €„…‘ Ÿ—…‰Šˆ, ‘Ž„…†€™…‰ ŠŽ„ ‘ˆŒ‚Ž‹€, ŠŽ’ސ›‰ “„…’ ……‘›‹€’œ‘Ÿ ‚ R0 ‘ Ž‘‹…„“ž™ˆŒ ‚›‚Ž„ŽŒ € ’…Œˆ€‹; …‘‹ˆ CHAR … “Š€‡€, € ’…Œˆ€‹ ‚›‚Ž„ˆ’‘Ÿ ‘Ž„…†ˆŒŽ… R0. ˆŒ…. .TITLE TTIO.MAC .MCALL .TTYIN,.TTYOUT,.TTINR,.TTOUTR,.EXIT JSW =44 ;‘‹Ž‚Ž ‘Ž‘’ŽŸˆŸ ‡€„€ˆŸ START: MOV #BUFFER,R1 CLR R2 BIS #100,@#JSW ;“‘’€Ž‚ˆ’œ 6 €‡Ÿ„ INLOOP: .TTINR ;‚‚…‘’ˆ ‘ˆŒ‚Ž‹ ‘ ’’: BCS NOCHR CHRIN: MOVB R0,(R1)+ ;……‘‹€’œ ‘ˆŒ‚Ž‹ ‚ “”… INC R2 CMPB R0,#12 BNE INLOOP MOV #BUFFER,R1 OUTLOOP:MOVB (R1),R0 ;……‘‹€’œ ‘ˆŒ‚Ž‹ ‚ R0 .TTOUTR ;‚›‚…‘’ˆ ‘ˆŒ‚Ž‹ € ’’: BCS NOROOM CHROUT: DEC R2 BEQ START INC R1 BR OUTLOOP ;…—€’€’œ ‘‹…„“ž™ˆ‰ ‘ˆŒ‚Ž‹ NOCHR: .TTINR BCC CHRIN ;…‘’œ ‘ˆŒ‚Ž‹? ; . ; . ; . BR NOCHR NOROOM: MOVB (R1),R0 .TTOUTR BCC CHROUT ;ˆ €‹ˆ—ˆˆ ‘ˆŒ‚Ž‹€ - ;…—€’€’œ …ƒŽ ; . ; . ; . BIC #100,@#JSW ;Ž—ˆ‘’ˆ’œ 6 €‡Ÿ„ ˆ .TTYOUT (R1) ;…—€’€’œ ‘ˆŒ‚Ž‹ BIS #100,@#JSW BR CHROUT BUFFER: .BLKB 128. .END START 5.2.7. .PRINT ‡€Ž‘ .PRINT ‚›‡›‚€…’ …—€’œ ‘’ŽŠˆ ‘ˆŒ‚ދނ ŠŽˆ-7 € ‘ˆ‘’…ŒŽŒ ’…Œˆ€‹…. ‚ …†ˆŒ€• FB,•Œ Š€†„ŽŒ“ ‘ŽŽ™…ˆž …„˜…‘’‚“…’ Ž“†„€ž™ˆ‰ ‡€Š ‚> ˆ‹ˆ F>, ‚ ‡€‚ˆ‘ˆŒŽ‘’ˆ Ž’ ’ŽƒŽ, Š€ŠŽ… ‡€„€ˆ… …ƒŽ …—€’€…’ (‚> - ”ŽŽ‚Ž…, F> - Ž‘Ž‚- Ž…). ’Ž Žˆ‘•Ž„ˆ’ ‚ ‘‹“—€… ……Š‹ž—…ˆŸ ‘ˆ‘’…ŒŽƒŽ ’…- Œˆ€‹€ € ށ‘‹“†ˆ‚€ˆ… „“ƒŽƒŽ ‡€„€ˆŸ. …‘‹ˆ ‚‚Ž„ € ’…Œˆ€‹ ‚›Ž‹Ÿ…’‘Ÿ ‘ˆ‘’…Œ›Œ ‡€„€ˆ…Œ, ’Ž ‚ Š€—…‘’‚… Ž“†„€ž™…ƒŽ ‡€Š€ …—€’€…’‘Ÿ ˆŒŸ ‘ˆ‘’…ŒŽƒŽ ‡€„€ˆŸ. ‘’ŽŠ€ ’…Š‘’€, ŠŽ’ސ€Ÿ ‚›‚Ž„ˆ’‘Ÿ € …—€’œ, ŒŽ†…’ ŽŠ€—ˆ‚€’œ‘Ÿ ЀР“‹…‚›Œ (0) €‰’ŽŒ, ’€Š ˆ €‰’ŽŒ 200. ‚ …‚ŽŒ ‘‹“—€…, ‚ Ž’‹ˆ—ˆˆ Ž’ ‚’ŽŽƒŽ, ‚›‚Ž„ €‚’ŽŒ€’ˆ—…‘Šˆ ‡€Š€—ˆ‚€…’‘Ÿ ‚Š ˆ ‘ . “€‚‹…ˆ… ‚އ‚€™€…’‘Ÿ Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ Ž‘‹… ’ŽƒŽ Š€Š ‚‘… ‘ˆŒ‚Ž‹› “„“’ ‡€ˆ‘€› ‚ “”… ‚›‚Ž„€ ŒŽˆ’Ž- €. Ž‘Ž‚Ž… ‡€„€ˆ… …—€’€…’ ‘ŽŽ™…ˆ… ‘€‡“ †…, …‡€‚ˆ- ‘ˆŒŽ Ž’ ‘Ž‘’ŽŸˆŸ ”ŽŽ‚ŽƒŽ ‡€„€ˆŸ. ’€ŠˆŒ ށ€‡ŽŒ, „‹Ÿ …—€’ˆ ‘Ž—›• ‘ŽŽ™…ˆ‰ „Ž‹†… ˆ‘Ž‹œ‡Ž‚€’œ‘Ÿ ‡€Ž‘ .PRINT, € … .TTYIN ˆ‹ˆ .TTYOUT. …‘‹ˆ ”ŽŽ‚Ž… ‡€„€ˆ… …—€’€…’ Ž“†„€ž™ˆ‰ ‡€Š ˆ ‡‚…‡- „Ž—Š“, ’Ž ‘ˆ‘’…Œ›‰ ’…Œˆ€‹ “„…’ ˆ€„‹…†€’œ …Œ“ ˆ ‡€- Ž‘› .TTYOUT ˆ‡ Ž‘Ž‚ŽƒŽ ‡€„€ˆŸ ‚›Ž‹Ÿ’œ‘Ÿ … “„“’, ŽŠ€ „‹Ÿ ”ŽŽ‚ŽƒŽ … “„…’ ‚›Ž‹… ‚Š . ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .PRINT ADDR ƒ„… ADDR - €„…‘ ‘’ŽŠˆ, ŠŽ’ސ“ž …ށ•Ž„ˆŒŽ €…—€’€’œ. ˆŒ…. .TITLE PRINT.MAC ;‚ ’ŽŒ ˆŒ…… ‡€Ž‘ .PRINT ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ …—€’ˆ ;‘ˆŒ‚ދނ, ‚‚Ž„ˆŒ›• ‘ ’…Œˆ€‹€. .MCALL .GTLIN,.PRINT,.EXIT START: .GTLIN #BUFF,#PROMPT ;‚‚Ž„ ‘ˆŒ‚ދނ ‘ ’…Œˆ€‹€ TSTB BUFF ;‘’ŽŠ€ “‘’€Ÿ? BEQ 1$ ;„€ .PRINT #BUFF ;…’-…—€’œ ‘’ŽŠˆ CLRB BUFF BR START 1$: .EXIT BUFF: .BLKW 41. PROMPT: .ASCII /‚‚…„ˆ’… ‘’ŽŠ“ : /<200> .END START 5.2.8. .MTIN ‡€Ž‘ .MTIN Ÿ‚‹Ÿ…’‘Ÿ Œ“‹œ’ˆ’…Œˆ€‹œŽ‰ ”ސŒŽ‰ ‡€Ž- ‘€ .TTYIN. ‡€Ž‘ .MTIN ……‘›‹€…’ Ž„ˆ ˆ‹ˆ Ž‹…… ‘ˆŒ‚ދނ ˆ‡ “”…€ ‚‚Ž„€ ŒŽˆ’ސ€ ‚ “”…, “Š€‡€›‰ Ž‹œ‡Ž‚€’…‹…Œ. ’…Œˆ€‹ „Ž‹†… ›’œ ‹Žƒˆ—…‘Šˆ ‘‚Ÿ‡€ ‘ ’…Š“™ˆŒ ‡€„€ˆ…Œ. …‘‹ˆ ‡€Ž‘ ‚›Ž‹… “‘…˜Ž, ’Ž ŒŽ„ˆ”ˆ–ˆŽ‚€›‰ €„…‘ “”…€ Ž‹œ‡Ž‚€’…‹Ÿ “„…’ ‡€ˆ‘€ ‚ R0 . …‘‹ˆ €‡Ÿ„ TCBIT “‘’€Ž‚‹… ‚ ‘‹Ž‚… M.TSTS, ’Ž ‡€Ž‘ .MTIN “‘’€€‚‹ˆ‚€…’ ‘- €‡Ÿ„ ˆ ……„€…’ “€‚‹…ˆ… ‚›‡›‚€ž™…‰ Žƒ€ŒŒ…, …‘‹ˆ ‚‚Ž„ ‘ ’…Œˆ€‹€ …‚އŒŽ†… (’.…. …’ ‘’ŽŠˆ, …‘‹ˆ €‡Ÿ„ TTSPC Ž—ˆ™… ˆ‹ˆ …’ ‘ˆŒ‚Ž‹€ ‚ “”…… ‚‚Ž„€, …‘‹ˆ €‡Ÿ„ TTSPC “‘’€Ž‚‹…). ‚ Ž’ˆ‚ŽŒ ‘‹“—€…, .MTIN “„…’ ކˆ„€’œ Ž…€–ˆˆ ‚‚Ž„€ ˆ, ’…Œ ‘€Œ›Œ, ‚›Ž‹…ˆ… ‡€„€ˆŸ “„…’ ˆŽ‘’€Ž‚‹…Ž. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .MTIN AREA,ADDR,UNIT[,CHRCNT] ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ “”…€ Ž‹œ‡Ž‚€’…‹Ÿ; UNIT - ‹Žƒˆ—…‘Šˆ‰ ŽŒ… ’…Œˆ€‹€ (‹’); CHRCNT - ŠŽ‹ˆ—…‘’‚Ž ……‘›‹€…Œ›• ‘ˆŒ‚ދނ (Ž’ 1 „Ž 255); …‘‹ˆ ’Ž’ €ƒ“Œ…’ Ž“™…, ’Ž ……„€…’‘Ÿ Ž„ˆ ‘ˆŒ‚Ž‹. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE 2,37 .WORD ADDR .BYTE UNIT,CHRCNT 5.2.9. .MTOUT ‡€Ž‘ .MTOUT Ÿ‚‹Ÿ…’‘Ÿ Œ“‹œ’ˆ’…Œˆ€‹œŽ‰ ”ސŒŽ‰ ‡€- Ž‘€ .TTYOUT. ‡€Ž‘ .MTOUT ……‘›‹€…’ Ž„ˆ ˆ‹ˆ Ž‹…… ‘ˆŒ- ‚ދނ ˆ‡ “”…€ Ž‹œ‡Ž‚€’…‹Ÿ ‚ “”… ‚›‚Ž„€ ’…Œˆ€‹€. ’…- Œˆ€‹ „Ž‹†… ›’œ ‹Žƒˆ—…‘Šˆ ‘‚Ÿ‡€ ‘ ‡€„€ˆ…Œ. ŒŽ„ˆ”ˆ–ˆŽ- ‚€›‰ €„…‘ “”…€ Ž‹œ‡Ž‚€’…‹Ÿ “„…’ ‡€ˆ‘€ ‚ R0, …‘‹ˆ ‡€Ž‘ ‚›Ž‹… “‘…˜Ž. …‘‹ˆ ‚ “”…… ‚›‚Ž„€ …’ ‘‚ށބŽ- ƒŽ Œ…‘’€ ˆ €‡Ÿ„ TCBIT “‘’€Ž‚‹… ‚ ‘‹Ž‚… M.TSTS, ’Ž .MTOUT “‘’€€‚‹ˆ‚€…’ ‘-€‡Ÿ„ ˆ ……„€…’ “€‚‹…ˆ… ‚›‡›- ‚€ž™…‰ Žƒ€ŒŒ…. …‘‹ˆ €‡Ÿ„ TCBIT Ž—ˆ™…, ‚›Ž‹…ˆ… ‡€„€ˆŸ ˆŽ‘’€€‚‹ˆ‚€…’‘Ÿ „Ž ’…• Ž, ŽŠ€ … ŽŸ‚ˆ’‘Ÿ ‘‚ށބŽ… Œ…‘’Ž ‚ “”…… ‚›‚Ž„€. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .MTOUT AREA,ADDR,UNIT[,CHRCNT] ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ “”…€ Ž‹œ‡Ž‚€’…‹Ÿ; UNIT - ‹Žƒˆ—…‘Šˆ‰ ŽŒ… ’…Œˆ€‹€; CHRCNT - ŠŽ‹ˆ—…‘’‚Ž ……„€‚€…Œ›• ‘ˆŒ‚ދނ (Ž’ 1 „Ž 255); …‘‹ˆ ’Ž’ €ƒ“Œ…’ Ž“™…, ’Ž ……„€…’‘Ÿ Ž„ˆ ‘ˆŒ‚Ž‹. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE 3,37 .WORD ADDR .BYTE UNIT,CHRCNT 5.2.10. .MTPRNT ‡€Ž‘ .MTPRNT Ÿ‚‹Ÿ…’‘Ÿ Œ“‹œ’ˆ’…Œˆ€‹œŽ‰ ”ސŒŽ‰ ‡€- Ž‘€ .PRINT. Ž Ž‘“™…‘’‚‹Ÿ…’ ‚›‚Ž„ Ž„Ž‰ ˆ‹ˆ …‘ŠŽ‹œŠˆ• ‘’ŽŠ ‘ˆŒ‚ދނ € “Š€‡€›‰ ’…Œˆ€‹. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .MTPRNT AREA,ADDR,UNIT ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ ‘’ŽŠˆ, ŠŽ’ސ“ž …ށ•Ž„ˆŒŽ €…—€’€’œ (’.…. .ASCII /‘’ŽŠ€/ <200> ˆ‹ˆ .ASCIZ /‘’ŽŠ€/); UNIT - ‹Žƒˆ—…‘Šˆ‰ ŽŒ… ’…Œˆ€‹€. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE 7,37 .WORD ADDR .BYTE UNIT 5.2.11. .SPFUN ‡€Ž‘ .SPFUN ˆ‘Ž‹œ‡“…’‘Ÿ ƒ‹€‚›Œ ށ€‡ŽŒ „€‰‚…€Œˆ “‘’Ž‰‘’‚ „‹Ÿ ‚›Ž‹…ˆŸ ‘…–ˆ€‹œ›• ”“Š–ˆ‰, ‡€‚ˆ‘Ÿ™ˆ• Ž’ ’ˆ• “‘’Ž‰‘’‚. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .SPFUN AREA,CHAN,FUNC,BUF,WCNT,BLK[,CRTN] ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 6-’ˆ ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; FUNC - ŠŽ„ ”“Š–ˆˆ, ŠŽ’ސ€Ÿ “„…’ ‚›Ž‹Ÿ’œ‘Ÿ; BUF - €„…‘ “”…€; ’Ž’ €ƒ“Œ…’ „Ž‹†… ›’œ €‚… “‹ž, …‘‹ˆ „‹Ÿ Ž…€–ˆˆ “”… … ’…“…’‘Ÿ; CRTN - €„…‘ Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ; …‘‹ˆ CRTN … “Š€‡€, ’Ž …ƒŽ ‡€—…ˆ… €‚’ŽŒ€’ˆ—…‘Šˆ ˆ€‚ˆ‚€…’‘Ÿ “‹ž; …‘‹ˆ CRTN €‚… “‹ž, ’Ž “€‚‹…ˆ… Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ “„…’ ……„€Ž Ž‘‹… ‡€‚…˜…ˆŸ Ž…€–ˆˆ; …‘‹ˆ CRTN €‚… 1, “€‚‹…ˆ… “„…’ ……„€Ž Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ …Œ…„- ‹…Ž Ž‘‹… €—€‹€ Ž…€–ˆˆ; …‘‹ˆ CRTN=N , ’Ž N - €„…‘ Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ (N>500 (‚Ž‘œŒ…ˆ—Ž‰)). €ƒ“Œ…’› CHAN,BLK,WCNT ’… †…, —’Ž ˆ ‚ ‡€Ž‘€• .READ/.WRITE. Žˆ ˆ‘Ž‹œ‡“ž’‘Ÿ ’Ž‹œŠŽ ’Žƒ„€, ŠŽƒ„€ …ށ•Ž- „ˆŒŽ Žˆ‡‚…‘’ˆ ‡€ˆ‘œ € Œ€ƒˆ’“ž ‹…’“ ‘ €‘˜ˆ…›Œ Œ…†”€‰‹Ž‚›Œ ŽŒ…†“’ŠŽŒ. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE CHAN,32 .WORD BLK .WORD BUF .WORD WCNT .BYTE 377,FUNC .WORD CRTN ‚ ’€‹.9 ˆ‚Ž„Ÿ’‘Ÿ ”“Š–ˆˆ ‡€Ž‘€ .SPFUN ˆ ‘ŽŽ’- ‚…’‘’‚“ž™ˆ… ˆŒ ŠŽ„›. ’€‹ˆ–€ 9 ----------------------------------------------------------- ! ! ŠŽ„ ! ! ”“Š–ˆŸ !-----------------------! ! ! M’ ! DX ! DY ! LD ! !---------------------------------------------------------! ! ……ŒŽ’Š€ „Ž ’Ž—Šˆ ‡€ƒ“‡Šˆ ! 373 ! ! ! ! ! ‡€ˆ‘œ Œ…’Šˆ EOF ! 377 ! ! ! ! ! ……ŒŽ’Š€ ‚……„ € Ž„ˆ ‹ŽŠ ! 376 ! ! ! ! ! ……ŒŽ’Š€ €‡€„ € Ž„ˆ ‹ŽŠ ! 375 ! ! ! ! ! ‡€ˆ‘œ ! 371 ! 376 ! 376 ! ! ! —’…ˆ… ! 370 ! 377 ! 377 ! ! ! ‡€ˆ‘œ ‘ €‘˜ˆ…›Œ Œ…†”€‰‹Ž‚›Œ! ! ! ! ! ! ŽŒ…†“’ŠŽŒ ! 374 ! ! ! ! ! ށ€’€Ÿ ……ŒŽ’Š€ ‚ €‚’ŽŽŒŽŒ ! ! ! ! ! ! …†ˆŒ… ! 372 ! ! ! ! ! ‡€ˆ‘œ ‘Ž ‘’ˆ€ˆ…Œ Œ€Š…€ ! ! ! ! ! ! „€›• ! ! 375 ! 375 ! ! ! Ž…„…‹…ˆ… €‡Œ…€ “‘’Ž‰‘’‚€ ! ! ! ! ! ! (’ŽŒ€) ! ! - ! 373 ! 373 ! ! —’…ˆ…(‡€ˆ‘œ) ’€‹ˆ–› ’€‘‹Ÿ- ! ! ! ! ! ! –ˆˆ ! ! ! ! 372 ! ----------------------------------------------------------- „‹Ÿ ˆ‘Ž‹œ‡Ž‚€ˆŸ ‡€Ž‘€ .SPFUN …ށ•Ž„ˆŒŽ, —’ށ› „€‰‚… ‘ŽŽ’‚…’‘’‚“ž™…ƒŽ “‘’Ž‰‘’‚€ €•Ž„ˆ‹‘Ÿ ‚ €ŒŸ’ˆ ˆ Š€€‹ ›‹ ‘‚Ÿ‡€ ‘ ”€‰‹ŽŒ Ž ‡€Ž‘“ .LOOKUP. ˆŒ…. .TITLE SPFUN.MAC ;ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ ‡€Ž‘€ .SPFUN. .MCALL .SPFUN,.FETCH,.LOOKUP,.PRINT,.CLOSE,.EXIT START: .FETCH #DSPC,#MT ;‡€ƒ“‡ˆ’œ „€‰‚… Œ’: BCS 1$ .LOOKUP #AREA,#4,#MT ;ޒА›’œ Š€€‹ BCS 2$ .SPFUN #AREA,#4,#373,#0;……ŒŽ’Š€ „Ž ’Ž—Šˆ ;‡€ƒ“‡Šˆ .BCS 3$ .CLOSE #4 .EXIT 1$: MOV #FERR,R0 BR 5$ 2$: MOV #LKERR,R0 BR 5$ 3$: MOV #SPERR,R0 5$: .PRINT .EXIT AREA: .WORD 0 MT: .RAD50 /MT / .WORD 0,0,0 FERR: .ASCIZ /Ž˜ˆŠ€ .FETCH/ LKERR: .ASCIZ /Ž˜ˆŠ€ .LOOKUP/ SPERR: .ASCIZ /Ž˜ˆŠ€ .SPFUN/ .EVEN DSPC =. .END START 5.3. ‡€Ž‘› ށ™…ƒŽ €‡€—…ˆŸ 5.3.1. .CDFN ‡€Ž‘ .CDFN ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ ……Ž…„…‹…ˆŸ —ˆ‘‹€ Š€€‹Ž‚ ‚‚Ž„€-‚›‚Ž„€. Š€†„Ž… ‡€„€ˆ… …‡€‚ˆ‘ˆŒŽ Ž’ ’ŽƒŽ Ÿ‚‹Ÿ…’‘Ÿ ‹ˆ ŽŽ Ž‘Ž‚›Œ ˆ‹ˆ ”ŽŽ‚›Œ, …‚Ž€—€‹œŽ ށ…‘…- —ˆ‚€…’‘Ÿ 16 („…‘Ÿ’ˆ—Ž…) Š€€‹€Œˆ ‚‚Ž„€-‚›‚Ž„€ (Ž’ 0 „Ž 15). ‡€Ž‘ .CDFN Ž‡‚Ž‹Ÿ…’ “‚…‹ˆ—ˆ’œ —ˆ‘‹Ž Š€€‹Ž‚ „Ž 255 („…‘Ÿ’ˆ—Ž…) (Ž’ 0 „Ž 254). Š€€‹ ‘ ŽŒ…ŽŒ 255 ˆ‘Ž‹œ‡“…’- ‘Ÿ ŒŽˆ’ŽŽŒ. ށ‹€‘’œ €ŒŸ’ˆ „‹Ÿ Ž‚›• Š€€‹Ž‚ Ž…„…‹Ÿ…’‘Ÿ ‚ …„…‹€• Žƒ€ŒŒ› Ž‹œ‡Ž‚€’…‹Ÿ. Ž„ Š€†„›‰ Š€€‹ ‚‚Ž„€- ‚›‚Ž„€ Ž’‚Ž„ˆ’‘Ÿ Ÿ’œ ‘‹Ž‚ (‘…Œœ ‘‹Ž‚ „‹Ÿ ŒŽˆ’ސ€ •Œ). ‚ …†ˆŒ… •Œ ށ‹€‘’œ €ŒŸ’ˆ „‹Ÿ „ŽŽ‹ˆ’…‹œ›• Š€€‹Ž‚, “Š€- ‡€›• ‚ ‡€Ž‘… .CDFN, „Ž‹†€ €‘Ž‹€ƒ€’œ‘Ÿ ‚ ˆ†ˆ• 28Š Ž…€’ˆ‚Ž‰ €ŒŸ’ˆ. …ŠŽŒ…„“…’‘Ÿ, —’ށ› ‡€Ž‘ .CDFN ‚›Ž‹Ÿ‹‘Ÿ ‚ €—€‹… Žƒ€ŒŒ› ……„ Ž…€–ˆŸŒˆ ‚‚Ž„€- ‚›‚Ž„€. …‘‹ˆ ‚ Žƒ€ŒŒ… ˆ‘Ž‹œ‡“…’‘Ÿ Ž‹…… Ž„ŽƒŽ ‡€Ž‘€ .CDFN, ’Ž Ž‹€‘’ˆ Š€€‹Ž‚ „‹Ÿ ˆ• … „Ž‹†› ……А›‚€’œ „“ƒ „“ƒ€, Ž ŒŽƒ“’ ˆŒ…’œ Ž„ˆ ˆ ’Ž’ †… €—€‹œ›‰ €„…‘. „‚€ ‡€Ž‘€ .SRESET ˆ .HRESET ‚Ž‘‘’€€‚‹ˆ‚€ž’ …‚Ž€—€‹œ- Ž… —ˆ‘‹Ž Š€€‹Ž‚ (16 („…‘Ÿ’ˆ—Ž‰)). ‘‹…„Ž‚€’…‹œŽ ‚‘… ‡€- Ž‘› .CDFN „Ž‹†› ‚›Ž‹Ÿ’œ‘Ÿ Ž‚’ސŽ Ž‘‹… ˆ‘Ž‹œ‡Ž‚€ˆŸ .SRESET ˆ‹ˆ .HRESET. ‡€Œ…’ˆŒ, —’Ž ‡€Ž‘ .CDFN Ž…„…‹Ÿ…’ Ž‚›… Š€€‹›. ށ‹€‘’œ €ŒŸ’ˆ „‹Ÿ €…… Ž…„…‹…›• Š€€‹Ž‚ … ˆ‘Ž‹œ- ‡“…’‘Ÿ. ’€Š, ‡€Ž‘ .CDFN „‹Ÿ 20 („…‘Ÿ’ˆ—Ž‰) Š€€‹Ž‚ ‚‚Ž- „€-‚›‚Ž„€ (‚ ’Ž ‚…ŒŸ ЀР16 …‚Ž€—€‹œ›• Š€€‹Ž‚ “†… Ž…„…‹…›) ‘އ„€…’ 20 Ž‚›• Š€€‹Ž‚ ‚‚Ž„€-‚›‚Ž„€. ށ‹€‘’œ „‹Ÿ 16-’ˆ …‚Ž€—€‹œ›• Š€€‹Ž‚ … ˆ‘Ž‹œ‡“…’‘Ÿ, Ž ‘Ž„…- †ˆŒŽ… ‘’€›• Š€€‹Ž‚ “„…’ ‘ŠŽˆŽ‚€Ž ‚ Ž‚›…. „‹Ÿ Žƒ€ŒŒ› ‘ Ž‚…‹…‰Ž‰ ‘’“Š’“Ž‰ 15-›‰ Š€€‹ ˆ‘Ž‹œ‡“…’‘Ÿ Ž‚…‹…‰›Œ „€‰‚…ŽŒ ˆ … „Ž‹†… ˆ‡Œ…Ÿ’œ‘Ÿ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .CDFN AREA,ADDR,NUM ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ ށ‹€‘’ˆ €ŒŸ’ˆ „‹Ÿ Ž‚›• Š€€‹Ž‚; NUM - —ˆ‘‹Ž ‘އ„€‚€…Œ›• Š€€‹Ž‚. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE 0,15 .WORD ADDR .WORD NUM ˆŒ…. .TITLE CDFN.MAC ; ‚ ’ŽŒ ˆŒ…… ‡€Ž‘ .CDFN ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ ; Ž…„…‹…ˆŸ 32. Ž‚›• Š€€‹Ž‚. .MCALL .CDFN,.PRINT,.EXIT,.HRESET START: .CDFN #AREA,#CHAN,#255. ;Ž…„…‹ˆ’œ 32.Š€€‹€ BCC 1$ .PRINT #MSG1 ;…—€’œ ‘ŽŽ™…ˆŸ .EXIT ;‚›•Ž„ ˆ‡ Žƒ€ŒŒ› 1$: .PRINT #MSG2 ;…—€’œ ‘ŽŽ™…ˆŸ .HRESET .EXIT ;‚›•Ž„ ˆ‡ Žƒ€ŒŒ› AREA: .BLKW 3 ;‹ŽŠ €ƒ“Œ…’Ž‚ …Œ’ CHAN: .BLKW 5*255. ;ށ‹€‘’œ „‹Ÿ Š€€‹Ž‚ MSG1: .ASCIZ /Ž˜ˆŠ€ .CDFN/ MSG2: .ASCII /Ž…„…‹…› 32. Ž‚›• Š€€‹€/<15><12> .ASCIZ /‚އ‚€’ Š 16. Š€€‹€Œ/ .EVEN .END START 5.3.2. .CHAIN ‡€Ž‘ .CHAIN Ž‡‚Ž‹Ÿ…’ Ž„Ž‰ ”ŽŽ‚Ž‰ Žƒ€ŒŒ… ˆˆ- –ˆˆŽ‚€’œ ‚›Ž‹…ˆ… „“ƒŽ‰ ”ŽŽ‚Ž‰ Žƒ€ŒŒ› …‡ ‚Œ…˜€- ’…‹œ‘’‚€ Ž…€’ސ€. ’Ž’ Ž–…‘‘ ŒŽ†…’ Ž‚’ސŸ’œ‘Ÿ, ˆ Ž‡- ‚Ž‹Ÿ…’ ސƒ€ˆ‡Ž‚€’œ Ž‘‹…„Ž‚€’…‹œŽ… ‚›Ž‹…ˆ… Ž‹œ˜ŽƒŽ —ˆ‘‹€ Žƒ€ŒŒ. Ÿ—…‰Šˆ 500-507 „Ž‹†› ‘Ž„…†€’œ ˆŒŸ “‘’Ž‰‘’‚€ ˆ ˆŒŸ ”€‰‹€ (‚ ŠŽ„€• RADIX-50), ŠŽ’ސ›‰ …ށ•Ž„ˆŒŽ ‚›‡‚€’œ. Ÿ—…‰- Šˆ 510-777 ˆ‘Ž‹œ‡“ž’‘Ÿ „‹Ÿ ……„€—ˆ ˆ”ސŒ€–ˆˆ Œ…†„“ Ž‘- ‹…„Ž‚€’…‹œŽ ‚›Ž‹Ÿ…Œ›Œˆ Žƒ€ŒŒ€Œˆ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .CHAIN ˆŒ…—€ˆŸ: 1) ‘Ž„…†ˆŒŽ… ށ‹€‘’…‰ Ž…€’ˆ‚Ž‰ €ŒŸ’ˆ, ‡€ ˆ‘Š‹ž—…- ˆ…Œ ށ‹€‘’ˆ €ŒŸ’ˆ ŠŽ’ސ“ž ‡€ˆŒ€…’ …‡ˆ„…’›‰ ŒŽˆ’ސ ˆ Ÿ—……Š 500-777, ŒŽ†…’ ˆ‡Œ…Ÿ’œ‘Ÿ Ž‘‹… ‚›Ž‹…ˆŸ .CHAIN; …‘‹ˆ .CHAIN ‚›Ž‹Ÿ…’‘Ÿ ˆ‡ ‚ˆ’“€‹œŽƒŽ ‡€„€ˆŸ, ’Ž ‘Ž„…- †ˆŒŽ… Ÿ—……Š 500-777 … ‘Ž•€Ÿ…’‘Ÿ. 2) Š€€‹› ‚‚Ž„€-‚›‚Ž„€ Ž‘’€ž’‘Ÿ ޒА›’›Œˆ Ž‘‹… ‚›Ž‹- …ˆŸ ‡€Ž‘€ .CHAIN „‹Ÿ ˆ‘Ž‹œ‡Ž‚€ˆŸ Ž‚މ Žƒ€ŒŒŽ‰. Ž„€ŠŽ, Š€€‹› ‚‚Ž„€-‚›‚Ž„€, ޒА›’›… Ž ‡€Ž‘“ .CDFN … ŒŽƒ“’ ˆ‘Ž‹œ‡Ž‚€’œ‘Ÿ. ’€Š ЀРŽ ‡€Ž‘“ .CHAIN ŒŽˆ’ސ ‚Ž‘‘’€€‚‹ˆ‚€…’ …‚Ž€—€‹œŽ… —ˆ‘‹Ž Š€€‹Ž‚ (16 („…‘Ÿ’ˆ—- Ž‰)), ’Ž Žƒ€ŒŒ€, ŠŽ’ސ€Ÿ Ž‘’€‚‹Ÿ…’ ”€‰‹› ޒА›’›Œˆ ˆ ‚›Ž‹…ˆˆ .CHAIN … „Ž‹†€ ˆ‘Ž‹œ‡Ž‚€’œ .CDFN. ……‡ˆ„…’- ›… „€‰‚…› “‘’Ž‰‘’‚ “„€‹Ÿž’‘Ÿ ˆ‡ €ŒŸ’ˆ ˆ ‚›Ž‹…ˆˆ .CHAIN, Ž’ŽŒ“ Žˆ „Ž‹†› ›’œ ‚Ž‚œ ‡€ƒ“†…› Ž‚މ Žƒ- €ŒŒŽ‰. 3) Ž 8-ŽŒ“ €‡Ÿ„“ ‘‘‡ Žƒ€ŒŒ€ ŒŽ†…’ Ž…„…‹ˆ’œ, Š€Š Ž€ ›‹€ ‡€ƒ“†…€ - Ž ‡€Ž‘“ .CHAIN ˆ‹ˆ Ž ŠŽŒ€„… RUN. €‡Ÿ„ “‘’€€‚‹ˆ‚€…’‘Ÿ ‚Ž ‚…ŒŸ ‚›Ž‹…ˆŸ Žƒ€ŒŒ›, …‘‹ˆ Ž€ ›‹€ ‡€ƒ“†…€ ‘ ŽŒŽ™œž .CHAIN. …‘‹ˆ Žƒ€ŒŒ€, ‡€ˆŒ€ž™€Ÿ Ÿ—…‰Šˆ Ž’ 500 „Ž 777, …„€‡€—…€ „‹Ÿ ‡€ƒ“‡Šˆ Ž ‡€Ž‘“ .CHAIN, ’Ž ‚ …‰ „Ž‹†… ›’œ “‘’€- Ž‚‹… 8-މ €‡Ÿ„ ‚ ‘‘‡ ‚Ž ‚…ŒŸ …… ’€‘‹Ÿ–ˆˆ. ‚ ’ŽŒ ‘‹“—€…, Žƒ€ŒŒ€ “„…’ ‡€ƒ“†…€ €‚ˆ‹œŽ. …‘‹ˆ €‡Ÿ„ … “‘’€Ž‚‹…, Ÿ—…‰Šˆ 500-777, ‘Ž„…†ˆŒŽ… ŠŽ’ސ›• ‘Ž•€Ÿ…’‘Ÿ Ž’ …„›„“™…‰ Žƒ€ŒŒ›, ŒŽƒ“’ ‚›‡‚€’œ …€‚ˆ‹œ“ž €Ž’“ Ž‚މ Žƒ€ŒŒ›. 4) „‹Ÿ ‡€Ž‘€ .CHAIN •€€Š’…› ’… †… Ž˜ˆŠˆ, —’Ž ˆ „‹Ÿ ŠŽŒ€„› RUN. ˆŒ…. ; ‚ ’ŽŒ ˆŒ…… Žƒ€ŒŒ€ CHAIN1.SAV ‡€ƒ“†€…’‘Ÿ ; ˆ‡ Žƒ€ŒŒ› CHAIN.SAV Ž‘…„‘’‚ŽŒ ‡€Ž‘€ .CHAIN .TITLE CHAIN.MAC .MCALL .CHAIN,.TTYIN,.PRINT START: MOV #500,R1 MOV #CHPTR,R2 .REPT 4 MOV (R2)+,(R1)+ ;ˆŒŸ ”€‰‹€ ‚ Ÿ—…‰Šˆ 500-507 .ENDR .PRINT #PROMT LOOP: .TTYIN ;……„€’œ ‘ˆŒ‚Ž‹› ‘ ’’: ‚ ;Ÿ—…‰Šˆ 510-777 MOVB R0,(R1)+ CMPB R0,#12 ;ŠŽ…– ‘’ŽŠˆ? BNE LOOP ;…’ CLRB @R1 .CHAIN ;‡€“‘Š Žƒ€ŒŒ› CHAIN1 CHPTR: .RAD50 /DK/ .RAD50 /CHAIN1/ .RAD50 /SAV/ PROMT: .ASCII /‚‚…„ˆ’… „€›… „‹Ÿ Žƒ€ŒŒ› CHAIN1: /<200> .END START ; Žƒ€ŒŒ€ CHAIN1 .TITLE CHAIN1.MAC .MCALL .PRINT,.EXIT JSW = 44 CHAIN$ = 400 STARTC: BIT #CHAIN$,@#JSW ;8 €‡Ÿ„ “‘’€Ž‚‹…? BEQ 1$ ;…’ .PRINT #CHAIND ;„€ - …—€’œ ‘ŽŽ™…ˆŸ MOV #510,R0 .PRINT ;…—€’œ ‘Ž„…†ˆŒŽƒŽ Ÿ—……Š ;510-777 .EXIT 1$: .PRINT #NOCHN .EXIT CHAIND: .ASCII /‘Ž„…†ˆŒŽ… Ÿ—……Š 510-777 : /<200> NOCHN: .ASCIZ /… “‘’€Ž‚‹… 8-މ €‡Ÿ„ !/ .END STARTC 5.3.3. .CMKT ‡€Ž‘ .CMKT €“‹ˆ“…’ Ž„ˆ ˆ‹ˆ …‘ŠŽ‹œŠŽ ‡€Ž‘Ž‚ .MRKT. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .CMKT AREA,ID[,TIME] ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ID - —ˆ‘‹Ž, ˆ‘Ž‹œ‡“…ŒŽ… „‹Ÿ ˆ„…’ˆ”ˆŠ€–ˆˆ ‘ ‡€Ž‘ŽŒ .MRKT, ŠŽ’ސ›‰ …ށ•Ž„ˆŒŽ €“‹ˆŽ‚€’œ; …‘‹ˆ …‘ŠŽ‹œŠŽ ‡€- Ž‘Ž‚ .MRKT ˆŒ…ž’ Ž„ˆ€ŠŽ‚›‰ ID, ’Ž €“‹ˆ“…’‘Ÿ ’Ž’ ˆ‡ ˆ•, ŠŽ’ŽŽŒ“ ‘ŽŽ’‚…’‘’‚“…’ €ˆŒ…œ˜ˆ‰ …ˆ‘’…Š˜ˆ‰ ˆ’…‚€‹ ‚…Œ…ˆ; …‘‹ˆ ID=0, ’Ž €“‹ˆ“ž’‘Ÿ ‚‘… ‡€Ž‘› .MRKT; TIME - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚, ‚ ŠŽ’ސ›… ŒŽˆ’ސ ‡€ˆ‘›‚€…’ ‚…‹ˆ—ˆ“ …ˆ‘Ž‹œ‡Ž‚€ŽƒŽ ‚…Œ…ˆ ‚ €“‹ˆŽ- ‚€ŽŒ ‡€Ž‘…; …‚Ž… ‘‹Ž‚Ž ‘Ž„…†ˆ’ ˆ†žž ƒ€ˆ–“ ˆ’…- ‚€‹€ ‚…Œ…ˆ, ‚’ސޅ - ‚…•žž ƒ€ˆ–“; …‘‹ˆ €„…‘ … “Š€- ‡€, ’€ŠŽ‰ ‡€ˆ‘ˆ … Žˆ‘•Ž„ˆ’, …‘‹ˆ ID=0, €ƒ“Œ…’ TIME ˆƒŽˆ“…’‘Ÿ. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE 0,23 .WORD ID ˆŒ…—€ˆ…. €“‹ˆŽ‚€›‰ ‡€Ž‘ .MRKT Ž‘‚ށކ„€…’ ‘ŽŽ’‚…’‘’‚“ž™ˆ‰ ‹…Œ…’ Ž—……„ˆ. ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .CMKT ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .MRKT. 5.3.4. .CNTXSW (…†ˆŒ FB,XM) ˆ ……„€—… “€‚‹…ˆŸ Ž’ Ž„ŽƒŽ ‡€„€ˆŸ „“ƒŽŒ“, ŒŽˆ’ސ ‚›Ž‹Ÿ…’, ’€Š €‡›‚€…Œ“ž, Ž…€–ˆž ……Š‹ž—…ˆŸ ŠŽ’…Š‘’€. Ž€ ‡€Š‹ž—€…’‘Ÿ ‚ ‘Ž•€…ˆˆ ‘ˆ‘’…ŒŽ‰ …ށ•Ž„ˆ- Œ›• €€Œ…’Ž‚ „‹Ÿ Ž„Ž‡€—ŽƒŽ Ž…„…‹…ˆŸ ˆ ‚›Ž‹…ˆŸ ‡€„€ˆŸ. ’ˆ €€Œ…’› ‚Š‹ž—€ž’ ‚‘… …ƒˆ‘’› ށ™…ƒŽ €‡€- —…ˆŸ, Ÿ—…‰Šˆ 34-52, € ’€Š†… ‚‘… …ƒˆ‘’› ‡, …‘‹ˆ ‡€Ž‘ .SFPA ‚›Ž‹Ÿ‹‘Ÿ ‘ Ž’‹ˆ—›Œ Ž’ “‹Ÿ €„…‘ŽŒ Ž„Žƒ€ŒŒ› ށ€Ž’Šˆ …›‚€ˆŸ Ž’ ‡. ‡€Ž‘ .CNTXSW ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ Ž…„…‹…ˆŸ Ÿ—……Š €ŒŸ’ˆ, ŠŽ’ސ›… “„“’ „ŽŽ‹ˆ’…‹œŽ ‚Š‹ž—…› ‚ Ž…€–ˆž ……Š‹ž—…ˆŸ ŠŽ’…Š‘’€. ˆŽƒ„€, „‹Ÿ ŽŽˆ• ‡€„€ˆ‰ …ށ•Ž„ˆŒŽ …‡€‚ˆ‘ˆŒŽ… ˆ‘Ž‹œ‡Ž‚€ˆ… Ž…„…‹…Ž‰ Ÿ—…‰Šˆ €ŒŸ’ˆ, ŠŽ’ސ€Ÿ … ‚Š‹ž- —…€ ‚ ށ›—“ž Ž…€–ˆž ……Š‹ž—…ˆŸ ŠŽ’…Š‘’€. €ˆŒ…, …‘‹ˆ Žƒ€ŒŒ€ ˆ‘Ž‹œ‡“…’ ŠŽŒ€„“ IOT,’Ž Ž€ „Ž‹†€ “‘’€Ž- ‚ˆ’œ ‚ ‚…Вސ… 20 €„…‘ ‘‚Ž…‰ Ž„Žƒ€ŒŒ› ށ€Ž’Šˆ …›- ‚€ˆŸ Ž ’މ ŠŽŒ€„…. € …‘‹ˆ ށ€ ‡€„€ˆŸ - Ž‘Ž‚Ž… ˆ ”ŽŽ‚Ž… - ˆ‘Ž‹œ‡“ž’ ŠŽŒ€„“ IOT, ’Ž ‚…Вސ 20 „Ž‹†… ‚‘…ƒ- „€ ‘Ž„…†€’œ ‘ŽŽ’‚…’‘’‚“ž™ˆ‰ ‘ ‚›Ž‹Ÿ…Œ›Œ ‡€„€ˆ…Œ €„…‘. ’Ž „Ž‘’ˆƒ€…’‘Ÿ “’…Œ ‚Š‹ž—…ˆŸ Ÿ—……Š 20 ˆ 22 ‚ ‘ˆ‘ŽŠ €„…‘Ž‚ ‡€Ž‘€ .CNTXSW. …‘‹ˆ ‡€Ž‘ .CNTXSW “Š€‡€ ‚ Žƒ€ŒŒ… …‘ŠŽ‹œŠŽ €‡, ’Ž ŒŽˆ’ސ ˆ‘Ž‹œ‡“…’ ‘ˆ‘ŽŠ €„…‘Ž‚ Ž‘‹…„…ƒŽ ˆ‡ ˆ•. ‘ˆ‘ŽŠ €„…‘Ž‚ .CNTXSW … ŒŽ†…’ ›’œ ‚ ށ‹€‘’ˆ ‘‚Žˆ- ƒ€ USR ˆ …ƒŽ …‹œ‡Ÿ ˆ‡Œ…Ÿ’œ ‚ Ž–…‘‘… €Ž’› Žƒ€ŒŒ›. ‚ …†ˆŒ… •Œ, ‡€Ž‘ .CNTXSW ˆƒŽˆ“…’‘Ÿ „‹Ÿ ‚ˆ’“€‹œ- ›• ‡€„€ˆ‰, ’.Š. Žˆ … ˆ‘Ž‹œ‡“ž’ €ŒŸ’œ ‘Ž‚Œ…‘’Ž ‘ „“- ƒˆŒˆ ‡€„€ˆŸŒˆ. „‹Ÿ ‚ˆ’“€‹œ›• ‡€„€ˆ‰ ‚…Вސ› IOT, TRAP, BPT ˆ ‚…Вސ 250 €‚’ŽŒ€’ˆ—…‘Šˆ ‚Š‹ž—€ž’‘Ÿ ŒŽˆ’ŽŽŒ XM ‚ Ž…€–ˆž ……Š‹ž—…ˆŸ ŠŽ’…Š‘’€, ˆ, ‘‹…„Ž‚€’…‹œŽ, ŒŽƒ“’ ›’œ ˆ‘Ž‹œ‡Ž‚€› „“ƒˆŒ ‡€„€ˆ…Œ …‡ .CNTXSW. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .CNTXSW AREA,ADDR ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ ‘ˆ‘Š€ €„…‘Ž‚ („Ž‹†… ›’œ Žƒ€ˆ—… “‹…Œ); €„…‘€ ‚ ‘ˆ‘Š… „Ž‹†› ›’œ —…’›Œˆ ˆ ‚ …„…‹€• Ž’ 2 „Ž 476 ˆ‹ˆ ‚ ށ‹€‘’ˆ ‡€„€ˆŸ Ž‹œ‡Ž‚€’…‹Ÿ, ˆ‹ˆ ‚ …„…‹€• Ž’ 160000 ˆ‹ˆ 177776. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’: AREA: .BYTE 0,33 .WORD ADDR ˆŒ…. .TITLE CNTXSW.MAC ; ‚ ’ŽŒ ˆŒ…… ‡€Ž‘ .CNTXSW ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ ; ‚Š‹ž—…ˆŸ Ÿ—……Š 20,22,177302,177304,177310 ‚ ; Ž…€–ˆž ……Š‹ž—…ˆŸ ŠŽ’…Š‘’€. .MCALL .CNTXSW,.PRINT,.EXIT START: .CNTXSW #AREA,#SWLIST BCC 1$ .PRINT #ADDRER .EXIT 1$: .PRINT #CNTOK .EXIT SWLIST: .WORD 20 .WORD 22 .WORD 177302 .WORD 177304 .WORD 177310 .WORD 0 AREA: .BLKW 2 ADDRER: .ASCIZ /Ž˜ˆŠ€ .CNTXSW / CNTOK: .ASCIZ /€„…‘€ ‚Š‹ž—…› ‚ Ž…€–ˆž ŠŽ’…Š‘’€/ .END START 5.3.5. .CSIGEN ‡€Ž‘ .CSIGEN ‚›‡›‚€…’ €Ž’“ ˆ’……’€’ސ€ ŠŽŒ€„- Ž‰ ‘’ŽŠˆ (CSI) ‚ ށ™…Œ …†ˆŒ…. ‚ ’ŽŒ …†ˆŒ… CSI Ž‘“- ™…‘’‚‹Ÿ…’‘Ÿ ‘ˆ’€Š‘ˆ—…‘Šˆ‰ €€‹ˆ‡ ŠŽŒ€„Ž‰ ‘’ŽŠˆ ˆ ‚›Ž‹- Ÿ…’ ‘‹…„“ž™ˆ… ”“Š–ˆˆ: 1) ‡€ƒ“†€…’ „€‰‚…› “Š€‡€›• “‘’Ž‰‘’‚; 2) ‚›Ž‹Ÿ…’ ‡€Ž‘› .LOOKUP ˆ/ˆ‹ˆ .ENTER „‹Ÿ “Š€‡€- ›• ”€‰‹Ž‚; 3) ‡€ˆ‘›‚€…’ ‚ ‘’…Š ˆ”ސŒ€–ˆž Ž ……Š‹ž—€’…‹Ÿ•; 4) ‚›Ž‹Ÿ…’ ‡€Ž‘ .CLOSE € Š€€‹€• 0-10 (‚Ž‘œŒ…ˆ—- Ž‰). ށ‹€‘’œ, ŠŽ’ސ€Ÿ Ž’‚Ž„ˆ’‘Ÿ „‹Ÿ „€‰‚…Ž‚ “‘’Ž‰‘’‚, „Ž‹†€ ›’œ „Ž‘’€’Ž—Ž‰ „‹Ÿ Ž„Ž‚…Œ…ŽƒŽ €‡Œ…™…ˆŸ ‚‘…• …ށ•Ž„ˆŒ›• „€‰‚…Ž‚. …‘‹ˆ ’މ ށ‹€‘’ˆ …„Ž‘’€’Ž—Ž, ’Ž Žƒ€ŒŒ€ Ž‹œ‡Ž‚€’…‹Ÿ ŒŽ†…’ ›’œ €‡“˜…€. Ž‘‹… ‚›Ž‹…ˆŸ ‡€Ž‘€ .CSIGEN …ƒˆ‘’ R0 “„…’ “Š€- ‡›‚€’œ € …‚“ž ‘‚ށބ“ž Ÿ—…‰Š“ €ŒŸ’ˆ Ž‘‹… „€‰‚…Ž‚ “‘’Ž‰‘’‚. ŠŽƒ„€ “€‚‹…ˆ… ‚އ‚€™€…’‘Ÿ Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ Ž‘‹… ‚›Ž‹…ˆŸ ‡€Ž‘€ .CSIGEN, ‚‘… “Š€‡€›… ”€‰‹› “„“’ ޒА›’› „‹Ÿ ‚‚Ž„€ ˆ/ˆ‹ˆ ‚›‚Ž„€. ’ˆ ‚›•Ž„›• ”€‰‹€ “„“’ ޒА›’› ‘ŽŽ’‚…’‘’‚…Ž € 0,1 ˆ 2-ŽŒ Š€€‹€•; ˜…‘’œ ‚•Ž„›• - “„“’ ‘‚Ÿ‡€› ‘ Š€€‹€Œˆ 3-10 (‚Ž‘œŒ…ˆ—Ž‰). €ˆŒ…, ‚ ŠŽŒ€„Ž‰ ‘’ŽŠ… *,LP:=F1,F2 0-މ ˆ 2-މ Š€€‹› Ž‘’€ž’‘Ÿ ‘‚ށބ›Œˆ, 1-‰ Š€€‹ ‘‚Ÿ‡›- ‚€…’‘Ÿ ‘ LP:, 3 ˆ 4-‰ Š€€‹› ‘‚Ÿ‡›‚€ž’‘Ÿ ‘ŽŽ’‚…’‘’‚…Ž ‘ ”€‰‹€Œˆ F1 ˆ F2 € DK:, Š€€‹› 5-10 (‚Ž‘œŒ…ˆ—Ž‰) Ž‘’€ž’‘Ÿ ‘‚ށބ›Œˆ. Žƒ€ŒŒ€ Ž‹œ‡Ž‚€’…‹Ÿ ŒŽ†…’ Ž…„…‹ˆ’œ ޒА›’ ˆ‹ˆ …’ Š€€‹ Ž‘…„‘’‚ŽŒ ‡€Ž‘€ .WAIT € ‘ŽŽ’‚…’‘’‚“ž™…Œ Š€€‹…, ˆ Ž‹“—ˆ’œ ‘ŽŽ™…ˆ… ށ Ž˜ˆŠ…, …‘‹ˆ Š€€‹ … ޒА›’. ……Š‹ž—€’…‹ˆ ˆ ˆ• €ƒ“Œ…’› ‡€ˆ‘›‚€ž’‘Ÿ ‚ ‘’…Š . ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .CSIGEN DEVSPC,DEFTUP,CSTR[,LINBUF] ƒ„… DEVSPC - €„…‘ ށ‹€‘’ˆ €ŒŸ’ˆ „‹Ÿ „€‰‚…Ž‚ “‘’Ž‰‘’‚; DEFTUP - €„…‘ ‹ŽŠ€ ˆ‡ 4-• ‘‹Ž‚, ŠŽ’ސ›‰ ‘Ž„…†ˆ’ ’ˆ› ”€‰‹Ž‚ ‚ ŠŽ„€• RADIX-50. ‘Ž„…†ˆŒŽ… ’ŽƒŽ ‹ŽŠ€ ˆ‘Ž‹œ‡“…’‘Ÿ ŒŽˆ’ŽŽŒ, …‘‹ˆ ‚ ŠŽŒ€„Ž‰ ‘’ŽŠ… … “Š€‡€› ’ˆ› ”€‰‹Ž‚; CSTR - €„…‘ ŠŽŒ€„Ž‰ ‘’ŽŠˆ. Ž€ … „Ž‹†€ ‘Ž„…†€’œ ‚Š , ‘ , Ž „Ž‹†€ ŽŠ€—ˆ‚€’œ‘Ÿ “‹…‚›Œ €‰’ŽŒ. …‘‹ˆ CSTR … “Š€‡€ ˆ‹ˆ 0, ’Ž ‚‚Ž„ Ž‘“™…‘’‚‹Ÿ…’‘Ÿ ‘ ’…Œˆ€‹€; Ž„ “€‚‹…ˆ…Œ ŒŽˆ’ސ€ FB(•Œ), …‘‹ˆ ‚‚Ž„ Ž‘“™…‘’‚‹Ÿ…’‘Ÿ ‘ ‘ˆ‘’…ŒŽƒŽ ’…Œˆ€‹€, “„…’ €‚’ŽŒ€’ˆ—…‘Šˆ ‚›Ž‹… ‡€Ž‘ .UNLOCK „‹Ÿ USR; LINBUF - €„…‘, Ž ŠŽ’ŽŽŒ“ “„…’ ‡€ˆ‘€€ ŠŽˆŸ ‚‚…- „…Ž‰ ŠŽŒ€„Ž‰ ‘’ŽŠˆ; ’€ ށ‹€‘’œ Ž…„…‹Ÿ…’‘Ÿ Ž‹œ‡Ž‚€- ’…‹…Œ ˆ ˆŒ……’ „‹ˆ“ 81 („…‘Ÿ’ˆ—Ž‰) €‰’; ŠŽŒ€„€Ÿ ‘’ŽŠ€ ‚ ’މ ށ‹€‘’ˆ Žƒ€ˆ—ˆ‚€…’‘Ÿ “‹…‚›Œ €‰’ŽŒ. ˆŒ…—€ˆŸ: 1) ‹ŽŠ, €„…‘ ŠŽ’ŽŽƒŽ “Š€‡€ ‚ DEFTYP, ‚ 1-ŽŒ ‘‹Ž‚… ‘Ž„…†ˆ’ ’ˆ ”€‰‹€ „‹Ÿ ‚‘…• ‚•Ž„›• ”€‰‹Ž‚, ‚Ž 2, 3 ˆ 4-ŽŒ ‘‹Ž‚€• - ’ˆ› ”€‰‹Ž‚ ‘ŽŽ’‚…’‘’‚…Ž „‹Ÿ 0,1 ˆ 2-ƒŽ ‚›•Ž„›• ”€‰‹Ž‚. …‘‹ˆ ‚ ‹ŽŠ… … “Š€‡€ ’ˆ ”€‰‹€ „‹Ÿ Ž…„…‹…ŽƒŽ Š€€‹€, ‘ŽŽ’‚…’‘’‚“ž™…… ‘‹Ž‚Ž „Ž‹†Ž ‘Ž„…†€’œ “‹œ. ‚‘… ’ˆ› ”€‰‹Ž‚ „Ž‹†› ›’œ ‡€ˆ‘€› ‚ ŠŽ„€• RADIX-50. 2) ‡€Ž‘ CSIGEN €‚’ŽŒ€’ˆ—…‘Šˆ ‚Ž‘ˆˆŒ€…’ ŠŽŒ€„“ž ‘’ŽŠ“ ˆ‡ ŠŽ‘‚…ŽƒŽ ”€‰‹€, …‘‹ˆ “Š€‡€ ‚‚Ž„ ‘ ’…Œˆ€‹€ (CSTR=0) ˆ Žƒ€ŒŒ€, ˆ‘Ž‹œ‡“ž™€Ÿ .CSIGEN ‚›‡›‚€…’‘Ÿ —……‡ ŠŽ‘‚…›‰ ”€‰‹. 3) €ƒ“Œ…’ LINBUF …„Ž‘’€‚‹Ÿ…’ Ž‹œ‡Ž‚€’…‹ž ‚އŒŽ†- Ž‘’œ ‚Ž‘‘’€Ž‚‹…ˆŸ …‚Ž€—€‹œŽ ‚‚…„…Ž‰ ŠŽŒ€„Ž‰ ‘’ŽŠˆ. 4) …‘‹ˆ Ž˜ˆŠ€ Žˆ‘•Ž„ˆ’ ˆ ‚‚Ž„… ŠŽŒ€„Ž‰ ‘’ŽŠˆ ‘ ’…Œˆ€‹€, ’Ž CSI …—€’€…’ ‘ŽŽ™…ˆ… ށ Ž˜ˆŠ… € ’…Œˆ€- ‹…, …‘‹ˆ ˆ ‚‚Ž„… ˆ‡ €ŒŸ’ˆ - “‘’€€‚‹ˆ‚€…’‘Ÿ ‘-€‡Ÿ„ ˆ ŠŽ„ Ž˜ˆŠˆ (52-މ €‰’). ˆŒ…. .TITLE CSIGEN.MAC ;ˆŒ… Žƒ€ŒŒ› ‘ ˆ‘Ž‹œ‡Ž‚€ˆ…Œ ‡€Ž‘€ .CSIGEN ;‚›Ž‹Ÿ…’ ŠŽˆŽ‚€ˆ… “Š€‡€ŽƒŽ ”€‰‹€ .MCALL .CSIGEN,.READW,.WRITW,.CLOSE,.SRESET,.EXIT .MCALL .PRINT ERRBYT=52 START: .CSIGEN #DSPACE,#DEXT ;‚‚…‘’ˆ ŠŽŒ€„“ž ‘’ŽŠ“ MOV R0,BUFF ;“Š€‡€’…‹œ € ‘‚ށބ“ž ;€ŒŸ’œ CLR INBLK ;ŽŒ… ‹ŽŠ€ MOV #AREA,R5 READ: .READW R5,#3,BUFF,#400,INBLK ;—ˆ’€’œ ‹ŽŠ BCC 2$ TSTB @#ERRBYT ;ŠŽ…– ”€‰‹€? BEQ EOF ;„€ MOV #INERR,R0 1$: .PRINT ;…—€’œ ‘‘ށ™…ˆŸ CLR R0 .EXIT 2$: .WRITW R5,#0,BUFF,#400,INBLK ;‡€ˆ‘€’œ ‹ŽŠ BCC NOERR MOV #WTERR,R0 BR 1$ NOERR: INC INBLK ;“‚…‹ˆ—ˆ’œ ‘—…’—ˆŠ ˆ BR READ ;—ˆ’€’œ ‘‹…„“ž™ˆ‰ ‹ŽŠ EOF: .CLOSE #0 ;ŠŽ…– ”€‰‹€ - ‡€Š›’œ .CLOSE #3 ;‚•Ž„Ž‰ ˆ ‚›•Ž„Ž‰ ;Š€€‹› .SRESET ;“„€‹ˆ’œ „€‰‚…› ˆ‡ ;€ŒŸ’ˆ .EXIT DEXT: .WORD 0,0,0,0 BUFF: .WORD 0 INBLK: .WORD 0 AREA: .BLKW 5 INERR: .ASCIZ /Ž˜ˆŠ€ ‚‚Ž„€/ WTERR: .ASCIZ /Ž˜ˆŠ€ ‚›‚Ž„€/ .EVEN DSPACE =. .END START 5.3.6. .CSISPC ‡€Ž‘ .CSISPC ‚›‡›‚€…’ €Ž’“ CSI ‚ ‘…–ˆ€‹œŽŒ …†ˆ- Œ…. ‚ ’ŽŒ …†ˆŒ… Ž Ž‘“™…‘’‚‹Ÿ…’ ‘ˆ’€Š‘ˆ—…‘Šˆ‰ €€‹ˆ‡ ŠŽŒ€„Ž‰ ‘’ŽŠˆ ˆ ……„€…’ ‘…–ˆ”ˆŠ€–ˆˆ ”€‰‹Ž‚ ˆ ……Š‹ž- —€’…‹ˆ, “Š€‡€›… ‚ …‰, Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ. ‚ ‘…- –ˆ€‹œŽŒ …†ˆŒ… CSI … ‚›Ž‹Ÿ…’ „…‰‘’‚ˆ‰, €€‹Žƒˆ—›• ”“Š–ˆŸŒ ‡€Ž‘Ž‚ .FETCH,.CLOSE, .ENTER,.LOOKUP. ……Š‹ž—€’…‹ˆ ˆ ˆ• €ƒ“Œ…’› ……‘›‹€ž’‘Ÿ ‚ ‘’…Š. …‘‹ˆ Žƒ€ŒŒ€, ˆ‘Ž‹œ‡“ž™€Ÿ .CSISPC, ‚›‡›‚€…’‘Ÿ —……‡ ŠŽ‘‚…›‰ ”€‰‹ ˆ CSTR=0, TO .CSISPC €‚’ŽŒ€’ˆ—…‘Šˆ ‚›ˆ€…’ ‚•Ž„“ž ‘’ŽŠ“ ˆ‡ ŠŽ‘‚…ŽƒŽ ”€‰‹€. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .CSISPC OUTSPC,DEFTUP[,CSTR[],LINBUF] ƒ„… OUTSPC - €„…‘ ‹ŽŠ€ ˆ‡ 39 ‘‹Ž‚ „‹Ÿ ‘…–ˆ”ˆŠ€–ˆ‰ ”€‰‹Ž‚ ŠŽŒ€„Ž‰ ‘’ŽŠˆ; DEFTYP - €„…‘ ‹ŽŠ€ ˆ‡ 4-• ‘‹Ž‚, ŠŽ’ސ›‰ ‘Ž„…†ˆ’ ’ˆ› ”€‰‹Ž‚ ‚ ŠŽ„€• RADIX-50. ‘Ž„…†ˆŒŽ… ’ŽƒŽ ‹ŽŠ€ ˆ‘Ž‹œ‡“…’‘Ÿ ŒŽˆ’ŽŽŒ, …‘‹ˆ ‚ ŠŽŒ€„Ž‰ ‘’ŽŠ… … “Š€‡€› ’ˆ› ”€‰‹Ž‚; CSTR - €„…‘ ŠŽŒ€„Ž‰ ‘’ŽŠˆ. Ž€ … „Ž‹†€ ‘Ž„…†€’œ ‚Š,‘ , Ž „Ž‹†€ ŽŠ€—ˆ‚€’œ‘Ÿ “‹…‚›Œ €‰’ŽŒ. …‘‹ˆ CSTR … “Š€‡€ ˆ‹ˆ 0, ’Ž ‚‚Ž„ Ž‘“™…‘’‚‹Ÿ’‘Ÿ ‘ ’…Œˆ€‹€; LINBUF - €„…‘, Ž ŠŽ’ŽŽŒ“ “„…’ ‡€ˆ‘€€ ŠŽˆŸ ‚‚…- „…Ž‰ ŠŽŒ€„Ž‰ ‘’ŽŠˆ; ’€ ށ‹€‘’œ Ž…„…‹Ÿ…’‘Ÿ Ž‹œ‡Ž‚€- ’…‹…Œ ˆ ˆŒ……’ „‹ˆ“ 81 €‰’; ŠŽŒ€„€Ÿ ‘’ŽŠ€ ‚ ’މ ށ‹€‘- ’ˆ Žƒ€ˆ—ˆ‚€…’‘Ÿ “‹…‚›Œ €‰’ŽŒ. ‹ŽŠ, €„…‘ ŠŽ’ŽŽƒŽ “Š€‡€ ‚ OUTSPC, ‘Ž„…†ˆ’ ‘…–ˆ- ”ˆŠ€–ˆž „‹Ÿ 9 ”€‰‹Ž‚: Ž 5 ‘‹Ž‚ „‹Ÿ Š€†„ŽƒŽ ˆ‡ 3-• ‚›•Ž„›• ”€‰‹Ž‚ ˆ Ž 4 ‘‹Ž‚€ „‹Ÿ Š€†„ŽƒŽ ˆ‡ 6-’ˆ ‚•Ž„›• ”€‰‹Ž‚. Ÿ’œ ‘‹Ž‚ „‹Ÿ ‚›•Ž„ŽƒŽ ”€‰‹€ ˆŒ…ž’ ‘‹…„“ž™…… ‘Ž„…†ˆŒŽ…: 1-Ž… ‘‹Ž‚Ž - ˆŒŸ “‘’Ž‰‘’‚€; 2 ˆ 3 ‘‹Ž‚€ - ˆŒŸ ”€‰‹€; 4-Ž… ‘‹‚Ž - ’ˆ ”€‰‹€; 5-… ‘‹Ž‚Ž - „‹ˆ€ ‚›•Ž„ŽƒŽ ”€‰‹€. …‘‹ˆ Š€ŠŽ‰-’Ž ”€‰‹ Ž’‘“’‘’‚“…’, ’Ž ‘ŽŽ’‚…’‘’‚“ž™ˆ… ‘‹Ž‚€ ‹ŽŠ€ ‘Ž„…†€’ “‹ˆ. €ˆŒ…, *DX1:LIST.MAC[15]=PC: Ž‘‹… ‚›Ž‹…ˆŸ .CSISPC …‚›… 5 ‘‹Ž‚ „‹Ÿ ‹ŽŠ€, €„…‘ ŠŽ’ŽŽƒŽ “Š€‡€ ‚ OUTSPC, “„“’ ˆŒ…’œ ‘‹…„“ž™…… ‡€- —…ˆŸ: 16337 RADIX-50 „‹Ÿ DX1 46173 RADIX-50 „‹Ÿ LIS 76400 RADIX-50 „‹Ÿ T 50553 RADIX-50 „‹Ÿ MAC 00017 „‹ˆ€ ”€‰‹€ …‚›… 4 ‘‹Ž‚€ „‹Ÿ ‘…–ˆ”ˆŠ€–ˆ‰ ‚•Ž„›• ”€‰‹Ž‚ (€—ˆ- €Ÿ ‘ €„…‘€ OUTSPC+36) “„“’ ‚›ƒ‹Ÿ„…’œ ’€Š: 62170 RADIX-50 „‹Ÿ PC 0 ˆŒŸ ”€‰‹€ … “Š€‡€Ž 0 0 …‘‹ˆ ˆ ‚‚Ž„… ‘ ’…Œˆ€‹€ Žˆ‡Ž˜‹€ Ž˜ˆŠ€, USR … …—€’€…’ € ’…Œˆ€‹… ‘ŽŽ™…ˆ… ށ Ž˜ˆŠ…, € “‘’€€‚‹ˆ‚€…’ ‘-€‡Ÿ„ ‚ ‘‘. ˆŒ…. .TITLE CSISPC.MAC ;‚ ’ŽŒ ˆŒ…… ˆ‘Ž‹œ‡“…’‘Ÿ ‘…–ˆ€‹œ›‰ …†ˆŒ ;€Ž’› ˆ’……’€’ސ€ ŠŽŒ€„Ž‰ ‘’ŽŠˆ. ;‡€Ž‘ .DSTATUS Ž…„…‹Ÿ…’ ‡€ƒ“†… ‹ˆ „€‰‚… ;‚›•Ž„ŽƒŽ “‘’Ž‰‘’‚€ ˆ, …‘‹ˆ …’, ’Ž ˆ‘Ž‹œ‡“…’‘Ÿ ;‡€Ž‘ .FETCH „‹Ÿ ‡€ƒ“‡Šˆ „€‰‚…€ ‚ €ŒŸ’œ. ;‡€’…Œ “Š€‡€›‰ ”€‰‹ “„€‹Ÿ…’‘Ÿ Ž ‡€Ž‘“ .DELETE. .MCALL .CSISPC,.DSTATUS,.FETCH,.PRINT,.EXIT,.DELETE START: MOV SP,R5 ;‘Ž•€ˆ’œ ’…Š“™ˆ‰ “Š€‡€’…‹œ ‘’…Š€ .CSISPC #OUTSP,#DEFEXT ;‚‚Ž„ ŠŽŒ€„Ž‰ ‘’ŽŠˆ MOV R5,SP ;‚Ž‘‘’€Ž‚ˆ’œ “Š€‡€’…‹œ ‘’…Š€ .DSTAT #STAT,#OUTSP ;Ž‚…ˆ’œ €‹ˆ—ˆ… „€‰‚…€ ;‚›•Ž„ŽƒŽ “‘’Ž‰‘’‚€ TST STAT+4 ;„€‰‚… ‡€ƒ“†…? BNE 2$ ;„€ .FETCH #DEVLOD,#INSPEC;…’-‡€ƒ“‡ˆ’œ „€‰‚… BCC 2$ .PRINT #FEFAIL .EXIT 2$: .DELETE #AREA,#0,#INSPEC;“„€‹ˆ’œ ”€‰‹ BCC 3$ .PRINT #NOFILE BR START 3$: .PRINT #FILDEL .EXIT AREA: .BLKW 2 STAT: .BLKW 4 DEFEXT: .WORD 0,0,0,0 FEFAIL: .ASCIZ /Ž˜ˆŠ€ .FETCH/ NOFILE: .ASCIZ /”€‰‹ … €‰„…/ FILDEL: .ASCIZ /”€‰‹ “„€‹…/ .EVEN OUTSP: .BLKW 5*3 ;‘…–ˆ”ˆŠ€–ˆˆ ‚›•.”€‰‹Ž‚ INSPEC: .BLKW 4*6 ;‘…–ˆ”ˆŠ€–ˆˆ ‚•.”€‰‹Ž‚ DEVLOD: .BLKW 1 ;€„…‘ ‡€ƒ“‡Šˆ „€‰‚…€ .END START 5.3.6.1. ……„€—€ ˆ”ސŒ€–ˆˆ Ž ……Š‹ž—€’…‹Ÿ• Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ. ‚ ށ™…Œ ˆ ‘…–ˆ€‹œŽŒ …†ˆŒ€• €Ž’› CSI ……Š‹ž—€’…‹ˆ ˆ ˆ• €ƒ“Œ…’› ……‘›‹€ž’‘Ÿ ‚ ‘’…Š. ……Š‹ž—€’…‹œ …„‘’€‚- ‹Ÿ…’ ‘ށމ €Š‹Ž“ž —…’“ (/), ‡€ ŠŽ’ސމ ‘‹…„“…’ ˆŒŸ ……Š‹ž—€’…‹Ÿ (‘ˆŒ‚Ž‹ ŠŽˆ-7). ‡€ ……Š‹ž—€’…‹…Œ ŒŽ†…’ ‘‹…- „Ž‚€’œ €ƒ“Œ…’, ……„ ŠŽ’ސ›Œ ‘’€‚ˆ’‘Ÿ €‡„…‹ˆ’…‹œ (:). €ƒ“Œ…’ ŒŽ†…’ ›’œ ‚Ž‘œŒ…ˆ—›Œ ˆ‹ˆ „…‘Ÿ’ˆ—›Œ —ˆ‘‹ŽŒ (—ˆ‘‹ŽŒ ‘ ’Ž—ŠŽ‰), ˆ‹ˆ ŠŽŒˆ€–ˆ…‰ “Š‚…Ž - –ˆ”Ž‚›• ‘ˆŒ‚ދނ (Ž’ Ž„ŽƒŽ „Ž ’…•), …‚›‰ ˆ‡ ŠŽ’ސ›• - “Š‚€. ‚ ŠŽŒ€„Ž‰ ‘’ŽŠ… ……Š‹ž—€’…‹ˆ ŒŽƒ“’ ›’œ ‘‚Ÿ‡€› ‘ ”€‰‹€- Œˆ. €ˆŒ…: *DK:FOO/A,DX1:FILE.OBJ/A:100 ‚ ’ŽŒ ‘‹“—€… ˆŒ……’‘Ÿ „‚€ ……Š‹ž—€’…‹Ÿ €, …‚›‰ ˆ‡ ŠŽ’ސ›• ‘‚Ÿ‡€ ‘ ‚•Ž„›Œ ”€‰‹ŽŒ FOO, ‚’ސމ ‘‚Ÿ‡€ ‘ ‚•Ž„- ›Œ ”€‰‹ŽŒ FILE:OBJ ˆ ˆŒ……’ €ƒ“Œ…’ 100 (‚Ž‘œŒ…ˆ—›‰). ‚ ’€‹. 10 ˆ‚Ž„ˆ’‘Ÿ ”ސŒ€’ ‘Ž„…†ˆŒŽƒŽ ‘’…Š€ Ž‘‹… ‚›Ž‹…ˆŸ ‡€Ž‘€ .CSIGEN ˆ‹ˆ .CSISPC. “Š€‡€’…‹œ ‘’…Š€ “„…’ ‘Ž„…†€’œ €„…‘ …‚ŽƒŽ ‘‹Ž‚€. ’€‹ˆ–€ 10 ----------------------------------------------------------- ! ‘‹Ž‚Ž ! ‘Ž„…†ˆŒŽ… ! ‡€—…ˆ… ! !---------------------------------------------------------! ! 1 ! N ! —ˆ‘‹Ž ……Š‹ž—€’…‹…‰ ‚ ! ! ! ! ŠŽŒ€„Ž‰ ‘’ŽŠ… ! ! 2 ! ˆŒŸ ……Š‹ž—€’…‹Ÿ ˆ ! —…’›‰ €‰’ ‘Ž„…†ˆ’ ˆŒŸ ! ! ! ŽŒ… ”€‰‹€ ! ……Š‹ž—€’…‹Ÿ. €‡Ÿ„› ! ! ! ! 8-14 ‘Ž„…†€’ ŽŒ… ! ! ! ! (Ž’ 0 „Ž 10) ”€‰‹€, ‘ ŠŽ-! ! ! ! ’ސ›Œ ‘‚Ÿ‡€ „€›‰ ……-! ! ! ! Š‹ž—€’…‹œ. €‡Ÿ„ 15 ‘Ž- ! ! ! ! „…†ˆ’ 1, …‘‹ˆ ……Š‹ž—€-! ! ! ! ’…‹œ ˆŒ……’ €ƒ“Œ…’ ! ! 3 ! €ƒ“Œ…’ ……Š‹ž—€- ! …‘‹ˆ “‘’€Ž‚‹… 15-‰ €‡-! ! ! ’…‹Ÿ ˆ‹ˆ ˆŒŸ ‘‹…„“- ! Ÿ„ ‚ ‘‹Ž‚… 2, ’Ž ‘‹Ž‚Ž 3! ! ! ž™…ƒŽ ……Š‹ž—€’…‹Ÿ ! ‘Ž„…†ˆ’ €ƒ“Œ…’ ……- ! ! ! ! Š‹ž—€’…‹Ÿ. ‚ Ž’ˆ‚ŽŒ ! ! ! ! ‘‹“—€… - ˆŒŸ ‘‹…„“ž™…ƒŽ ! ! ! ! ……Š‹ž—€’…‹Ÿ ! ----------------------------------------------------------- €ˆŒ…, Ž‘‹… ށ€Ž’Šˆ CSI ŠŽŒ€„Ž‰ ‘’ŽŠˆ *FILE/B:20.,FIL2/E=DX1:INPUT/X:SY:20 ‘’…Š “„…’ ‘Ž„…†€’œ ‡€—…ˆŸ, Žˆ‘€›… ‚ ’€‹. 11. ’€‹ˆ–€ 11 ----------------------------------------------------------- ! ‘Ž„…†ˆŒŽ… ! ‡€—…ˆ… ! !---------------------------------------------------------! ! 4 ! —ˆ‘‹Ž ……Š‹ž—€’…‹…‰ (……Š‹ž—€’…‹œ X ! ! ! ˆŒ……’ „‚€ €ƒ“Œ…’€ ˆ €‘‘Œ€’ˆ‚€…’‘Ÿ ЀР! ! ! „‚€ ……Š‹ž—€’…‹Ÿ) ! ! 101530 ! Ž‘‹…„ˆ‰ ……Š‹ž—€’…‹œ (X) ‘‚Ÿ‡€ ‘ 3-ˆŒ ! ! ! ”€‰‹ŽŒ ˆ ˆŒ……’ €ƒ“Œ…’ ! ! 20 ! €ƒ“Œ…’ ……Š‹ž—€’…‹Ÿ X ! ! 101530 ! ‘‹…„“ž™ˆ‰ ……Š‹ž—€’…‹œ (X) ‘‚Ÿ‡€ ‘ 3-ˆŒ ! ! ! ”€‰‹ŽŒ ˆ ˆŒ……’ €ƒ“Œ…’ ! ! 75250 ! €ƒ“Œ…’ ……Š‹ž—€’…‹Ÿ X-SY ‚ ŠŽ„€• ! ! ! RADIX-50 ! ! 505 ! ‘‹…„“ž™ˆ‰ ……Š‹ž—€’…‹œ (…) ‘‚Ÿ‡€ ‘ 1-Œ ! ! ! ”€‰‹ŽŒ ˆ … ˆŒ……’ €ƒ“Œ…’€ ! ! 100102 ! ……Š‹ž—€’…‹œ (‚) ‘‚Ÿ‡€ ‘ 0-Œ ”€‰‹ŽŒ ˆ ! ! ! ˆŒ……’ €ƒ“Œ…’ ! ! 24 ! €ƒ“Œ…’ ……Š‹ž—€’…‹Ÿ ‚ ! ----------------------------------------------------------- ˆŒ…—€ˆŸ: 1) ‚Ž ŒŽƒˆ• ‘‹“—€Ÿ•, Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ … ’…- “…’‘Ÿ ށ€Ž’Š€ ……Š‹ž—€’…‹…‰ Ž‘…„‘’‚ŽŒ CSI. Ž„€ŠŽ, ‚އŒŽ†… ……„€Œ……›‰ ‚‚Ž„ ……Š‹ž—€’…‹…‰ Ž‹œ‡Ž‚€’…- ‹…Œ. ‚ ’ŽŒ ‘‹“—€…, …ŠŽŒ…„“…’‘Ÿ ‘Ž•€ˆ’œ ‡€—…ˆ… “Š€‡€- ’…‹Ÿ ‘’…Š€ ……„ ‚›‡Ž‚ŽŒ CSI, € ‡€’…Œ ‚Ž‘‘’€Ž‚ˆ’œ …ƒŽ. ‡€Œ…’ˆŒ, —’Ž ŠŽŒ€„€Ÿ ‘’ŽŠ€ …‡ ……Š‹ž—€’…‹…‰ ……Œ…™€…’ “Š€‡€’…‹œ ‘’…Š€ € Ž„Ž ‘‹Ž‚Ž. 5.3.7. .ABTIO ‡€Ž‘ .ABTIO Ž‡‚Ž‹Ÿ…’ ’…Š“™…Œ“ ‡€„€ˆž ‡€…’ˆ’œ ‚‘… Ž…€–ˆˆ ‚‚Ž„€ - ‚›‚Ž„€ € “Š€‡€ŽŒ Š€€‹…, … …›‚€Ÿ ‚›Ž‹…ˆŸ Žƒ€ŒŒ›. ‡€…™€…’‘Ÿ ˆ‘Ž‹œ‡Ž‚€’œ .ABTIO ‚ Ž„Žƒ€ŒŒ€• ‡€‚…- ˜…ˆŸ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .ABTIO CHAN ƒ„… CHAN - ŽŒ… Š€€‹€. 5.3.8. .CSTAT (…†ˆŒ FB,XM) ‡€Ž‘ .CSTAT ……„€…’ Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ ˆ”ސŒ€- –ˆž Ž ‘Ž‘’ŽŸˆˆ Š€€‹€. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .CSTAT AREA,CHAN,ADDR ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ „‚“• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; CHAN - ŽŒ… Š€€‹€, ˆ”ސŒ€–ˆž Ž ŠŽ’ŽŽŒ ’…“…’‘Ÿ Ž‹“—ˆ’œ; ADDR - €„…‘ ‹ŽŠ€ ˆ‡ 6-’ˆ ‘‹Ž‚ „‹Ÿ ˆ”ސŒ€–ˆˆ Ž ‘Ž‘- ’ŽŸˆˆ Š€€‹€. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE CHAN,27 .WORD ADDR ˆŒ…. .TITLE CSTAT.MAC ;‚ ’ŽŒ ˆŒ…… ‡€Ž‘ .CSTAT ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ Ž…„…‹…ˆŸ ;“‘’Ž‰‘’‚€, ‘‚Ÿ‡€ŽƒŽ ‘ “Š€‡€›Œ Š€€‹ŽŒ. .MCALL .CSTAT,.CSIGEN,.PRINT,.EXIT START: MOV SP,R5 .CSIGEN #DEVSDC,#DEFEXT ;‚‚Ž„ ŠŽŒ€„Ž‰ ‘’ŽŠˆ MOV R5,SP .CSTAT #AREA,#0,#ADDR ;Ž‹“—ˆ’œ ˆ”ސŒ€–ˆž Ž ;Š€€‹… BCS NOCHAN ;Š€€‹ … ޒА›’ MOV #ADDR+10,R5 MOV (R5)+,R0 ADD (PC)+,R0 .RAD50 / 0/ ADD (R5),R0 ;Ž‹“—ˆ’œ ˆŒŸ “‘’Ž‰‘’‚€ MOV R0,DEVNAM .EXIT NOCHAN: .PRINT #MSG .EXIT MSG: .ASCIZ /…’ ‚›•Ž„ŽƒŽ ”€‰‹€ - Š€€‹ … ޒА›’/ .EVEN AREA: .BLKW 5 ADDR: .BLKW 6 DEVNAM: .WORD 0 ;ˆŒŸ “‘’Ž‰‘’‚€ DEFEXT: .WORD 0,0,0,0 DEVSDC =. ;€„…‘ ‡€ƒ“‡Šˆ „€‰‚…€ .END START 5.3.9. .DATE ‡€Ž‘ .DATE ……„€…’ ˆ”ސŒ€–ˆž Ž ’…Š“™…‰ „€’… ˆ‡ ‘ˆ‘’…ŒŽ‰ Ÿ—…‰Šˆ „€’› ‚ …ƒˆ‘’ R0. Ÿ—…‰Š€ „€’› ˆŒ……’ ‘‹…- „“ž™ˆ‰ ”ސŒ€’: €‡Ÿ„› 13-10 - Œ…‘Ÿ–; €‡Ÿ„› 9-5 - „…œ; €‡Ÿ„› 4-0 - ƒŽ„. ‡€—…ˆ… ƒŽ„€ ‚ €‡Ÿ„€• ‘ 0 Ž 4 Ÿ‚‹Ÿ…’‘Ÿ ”€Š’ˆ—…‘ŠˆŒ ƒŽ„ŽŒ Œˆ“‘ 1972. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .DATE “‹…‚Ž… ‡€—…ˆ… ‚ R0 “Š€‡›‚€…’ € ’Ž, —’Ž Ž‹œ‡Ž‚€- ’…‹œ „€’“ … Ž…„…‹ˆ‹. ˆŒ…. .TITLE DATE.MAC ;ˆŒ… Ž„Žƒ€ŒŒ› ށ€Ž’Šˆ „€’› (‚‚…„…Ž‰ Ž ŠŽŒ€„… ;DATE) ‘ ˆ‘Ž‹œ‡Ž‚€ˆ…Œ ‡€Ž‘€ .DATE, Š ŠŽ’ސމ ŒŽ†Ž ;ށ€’ˆ’œ‘Ÿ ˆ‡ Žƒ€ŒŒ› Ž‹œ‡Ž‚€’…‹Ÿ. ; ;‚›•.„€›…: R0 = Œ…‘Ÿ– (1-12) ; R1 = „…œ (1-31) ; R2 = ƒŽ„ („‚… Ž‘‹…„ˆ… –ˆ”›) ; ;Ž˜ˆŠˆ: R0 = 0, …‘‹ˆ „€’€ … ‚‚…„…€ ; .MCALL .DATE DATE:: .DATE ;Ž‹“—ˆ’œ „€’“ ˆ‡ R0 MOV R0,R2 BEQ 1$ ;‚…’‚‹…ˆ…, …‘‹ˆ „€’€ … ;‚‚…„…€ BIC #37,R2;‚›€’œ ƒŽ„ ADD #72,R2 MOV R0,R1 ASL R1 ;‚›€’œ „…œ ASL R1 ASL R1 SWAB R1 BIC #37,R1;‚›€’œ Œ…‘Ÿ– SWAB R0 ASR R0 ASR R0 BIC #37,R0 1$: RETURN ;‚›•Ž„ ˆ‡ Ž„Žƒ€ŒŒ› .END 5.3.10. .DEVICE(…†ˆŒ FB,XM) ‡€Ž‘ .DEVICE Ž‡‚Ž‹Ÿ…’ ‡€ˆ‘€’œ Ž…„…‹…›… ‡€—…- ˆŸ Ž “Š€‡€›Œ €„…‘€Œ Ž‘‹… ‚›•Ž„€ ˆ‡ Žƒ€ŒŒ› (Ž .EXIT ˆ‹ˆ ‘“/‘). ’€ ”“Š–ˆŸ ‚ Ž‘Ž‚ŽŒ ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ ‡€ˆ‘ˆ ‚ …ƒˆ‘’› “‘’Ž‰‘’‚ …ށ•Ž„ˆŒ›• ‡€—…ˆ‰. ‚ Žƒ€ŒŒ… ŒŽ†…’ ›’œ …‘ŠŽ‹œŠŽ ‡€Ž‘Ž‚ .DEVICE ˆ Ž‹œ‡Ž‚€’…‹œ ŒŽ†…’ ‘‚Ÿ‡€’œ ‚‘… ’€‹ˆ–› €„…‘Ž‚ ‚ Ž„“ ’€- ‹ˆ–“. ‡€Ž‘ .DEVICE ˆƒŽˆ“…’‘Ÿ, …‘‹ˆ Ž ‚›„€…’‘Ÿ ˆ‡ ‚ˆ- ’“€‹œŽƒŽ ‡€„€ˆŸ ‚ …†ˆŒ… •Œ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .DEVICE AREA,ADDR[,LINK] ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ ’€‹ˆ–› €„…‘Ž‚ ˆ ‡€—…ˆ‰; LINK - Žˆ‡‚Ž‹œ›‰ €ƒ“Œ…’, ŠŽ’ސ›‰ Ž‡‚Ž‹Ÿ…’ ‘‚Ÿ- ‡€’œ ’€‹ˆ–› €„…‘Ž‚ ˆ ‡€—…ˆ‰ Ž‘‹…„Ž‚€’…‹œ›• ‡€Ž‘Ž‚ .DEVICE. …‘‹ˆ €ƒ“Œ…’ LINK Ž“™…, ’Ž “†… ‘“™…‘’‚“ž™€Ÿ ’€‹ˆ–€ ‡€Œ…Ÿ…’‘Ÿ Ž‚މ ˆ ށ€“†…ˆˆ Ž—……„ŽƒŽ ‡€Ž‘€ .DEVICE. ’€‹ˆ–€ €„…‘Ž‚ ˆ ‡€—…ˆ‰ ŒŽ†…’ ˆŒ…’œ „‚€ ”ސŒ€’€ - ‘‚Ÿ‡€›‰ ˆ … ‘‚Ÿ‡€›‰. ށ€ ”ސŒ€’€ „Ž‹†› ŽŠ€—ˆ‚€’œ‘Ÿ “‹…Œ. ‘‚Ÿ‡€›‰ ”ސŒ€’ „Ž‹†… ˆŒ…’œ ‚ …‚ŽŒ ‘‹Ž‚… ’€Š†… Ž‹œ. € ˆ‘.5 ŽŠ€‡€› €‡‹ˆ—›… ”ސŒ€’› ’€‹ˆ–› €„…‘Ž‚ ˆ ‡€—…ˆ‰. … ‘‚Ÿ‡€›‰ ‘‚Ÿ‡€›‰ ------------- ------------- ADDR: ! €„…‘ ! ADDR: ! 0 ! ------------- ------------- ! ‡€—…ˆ… ! ! €„…‘ ! ------------- ------------- ! €„…‘ ! ! ‡€—…ˆ… ! ------------- ------------- ! ‡€—…ˆ… ! ! €„…‘ ! ------------- ------------- . ! ‡€—…ˆ… ! . ------------- . . ------------- . ! €„…‘ ! . ------------- ------------- ! ‡€—…ˆ… ! ! €„…‘ ! ------------- ------------- ! 0 ! ! ‡€—…ˆ… ! ------------- ------------- ! 0 ! ------------- ˆ‘.5 5.3.11. .DSTATUS ‡€Ž‘ .DSTATUS ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ Ž‹“—…ˆŸ ˆ”ސŒ€–ˆˆ ށ Ž…„…‹…ŽŒ “‘’Ž‰‘’‚…. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .DSTATUS DSTBLK,DEVNAM ƒ„… DSTBLK - €„…‘ ‹ŽŠ€ ˆ‡ 4-• ‘‹Ž‚ ‘Ž‘’ŽŸˆŸ “‘’Ž‰‘’‚€; DEVNAM - €„…‘ ˆŒ…ˆ “‘’Ž‰‘’‚€ ‚ ŠŽ„€• RADIX-50. …- ‚›Œ ‘‹Ž‚ŽŒ ‹ŽŠ€ ‘Ž‘’ŽŸˆŸ Ÿ‚‹Ÿ…’‘Ÿ ‘‹Ž‚Ž ‘Ž‘’ŽŸˆŸ “‘’- Ž‰‘’‚€. ‚އŒŽ†›… ‡€—…ˆŸ €‡Ÿ„Ž‚ ‘‹Ž‚€ ‘Ž‘’ŽŸˆŸ “‘’- Ž‰‘’‚€ ˆ‚…„…› ‚ ’€‹.12. ’€‹ˆ–€ 12 ----------------------------------------------------------- ! €‡Ÿ„ ! ‘Ž„…†ˆŒŽ… ! ‡€—…ˆ… ! !---------------------------------------------------------! ! 0-7 ! 0 ! Š€‘‘…’€ Œ€ƒˆ’›• „ˆ‘ŠŽ‚ ! ! ! 2 ! ‹Žƒˆ—…‘ŠŽ… “‘’Ž‰‘’‚Ž …ƒˆ‘’€–ˆˆ ! ! ! ! Ž˜ˆŽŠ ! ! ! 3 ! Ž‘’Ž—Ž-…—€’€ž™…… “‘’Ž‰‘’‚Ž ! ! ! 4 ! ‘ˆ‘’…Œ›‰ ’…Œˆ€‹ ˆ‹ˆ „€‰‚… ! ! ! ! BATCH ! ! ! 6 ! ƒˆŠˆ… „ˆ‘Šˆ ‘ „‚މŽ‰ ‹Ž’Ž‘’œž ! ! ! 7 ! …”Ž‹…’Ž—Ž… “‘’Ž‰‘’‚Ž ‚‚Ž„€ ˆ ! ! ! ! ‚›‚Ž„€ ! ! ! 11 ! €ŠŽˆ’…‹œ € Œ€ƒˆ’Ž‰ ‹…’… ! ! ! 21 ! €Š…’ Œ€ƒˆ’›• „ˆ‘ŠŽ‚ DP ! ! ! ! (29 Œƒ€‰’) ! ! ! 22 ! ƒˆŠˆ… „ˆ‘Šˆ ! ! ! 25 ! ”ˆŠ’ˆ‚Ž… “‘’Ž‰‘’‚Ž ! ! ! 34 ! Š€‘‘…’€Ÿ Œ€ƒˆ’€Ÿ ‹…’€ ! ! ! 41 ! “‘’Ž‰‘’‚Ž …—€’ˆ Ž‘‹…„Ž‚€’…‹œŽ-! ! ! ! ƒŽ ’ˆ€ ! ! ! 42 ! „€‰‚… ށŒ…€ Œ…†„“ ‡€„€ˆŸŒˆ ! ! ! 46 ! „€‰‚… ‹Žƒˆ—…‘ŠŽƒŽ „ˆ‘Š€ ! ! ! 47 ! „€‰‚… €‘˜ˆ…Ž‰ €ŒŸ’ˆ ! ! ! 50 ! „ˆ‘Šˆ ‚ˆ—…‘’…‘ŠŽƒŽ ’ˆ€ ˆ‹ˆ ! ! ! ! ƒˆŠˆ… Œˆˆ-„ˆ‘Šˆ ! ! ! 51 ! …„€Š’ސ ŠŽŒ€„Ž‰ ‘’ŽŠˆ ! ! 10 ! 1 ! „€‰‚… “‘’Ž‰‘’‚€ „Ž“‘Š€…’ ! ! ! ! ˆ‘Ž‹œ‡Ž‚€ˆ… ‡€Ž‘€ .SPFUN ! ! ! 0 ! … „Ž“‘Š€…’‘Ÿ ˆ‘Ž‹œ‡Ž‚€ˆ… ! ! ! ! ‡€Ž‘€ .SPFUN ! ! 11 ! - ! …‡…‚›‰ ! ! 12 ! 1 ! “‘’Ž‰‘’‚Ž …‘€‚Ž—Ž‰ ‘’“Š’“› ! ! 13 ! 1 ! “‘’Ž‰‘’‚Ž ’Ž‹œŠŽ „‹Ÿ ‡€ˆ‘ˆ ! ! 14 ! 1 ! “‘’Ž‰‘’‚Ž ’Ž‹œŠŽ „‹Ÿ —’…ˆŸ ! ! 15 ! 1 ! “‘’Ž‰‘’‚Ž ‘ Žˆ‡‚Ž‹œ›Œ „Ž‘’“ŽŒ! ! ! ! Š „€›Œ ! ! ! 0 ! “‘’Ž‰‘’‚Ž ‘ Ž‘‹…„Ž‚€’…‹œ›Œ ! ! ! ! „Ž‘’“ŽŒ Š „€›Œ ! ----------------------------------------------------------- ‚’ސޅ ‘‹Ž‚Ž …„‘’€‚‹Ÿ…’ ‘ށމ „‹ˆ“ „€‰‚…€ “‘’- Ž‰‘’‚€ ‚ €‰’€•. ’…’œ… ‘‹Ž‚Ž …„‘’€‚‹Ÿ…’ ‘ށމ €„…‘ ‡€ƒ“‡Šˆ „€‰‚…- € ‹ž‘ 6. …‘‹ˆ 0 - „€‰‚…€ ‚ €ŒŸ’ˆ …’. —…’‚…’Ž… ‘‹Ž‚Ž …„‘’€‚‹Ÿ…’ ‘ށމ …ŒŠŽ‘’œ “‘’Ž‰‘’‚€ (‚ ‹ŽŠ€•) „‹Ÿ “‘’Ž‰‘’‚ ‘ Žˆ‡‚Ž‹œ›Œ „Ž‘’“ŽŒ Š „€›Œ ˆ‹ˆ 0 „‹Ÿ “‘’Ž‰‘’‚ ‘ Ž‘‹…„Ž‚€’…‹œ›Œ „Ž‘’“ŽŒ Š „€›Œ. ˆŒŸ “‘’Ž‰‘’‚€ ‚ DEVNAM ŒŽ†…’ ›’œ ‹Žƒˆ—…‘ŠˆŒ ˆŒ……Œ, ˆ‘‚Ž…›Œ Ž‹œ‡Ž‚€’…‹…Œ. ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .DSTATUS ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .CSISPC. 5.3.12. .EXIT ‡€Ž‘ .EXIT ‚›‡›‚€…’ ŽŠŽ—€ˆ… ‚›Ž‹…ˆŸ Žƒ€ŒŒ› Ž‹œ‡Ž‚€’…‹Ÿ ˆ ……„€…’ “€‚‹…ˆ… KMON. ……„ ‚›•Ž„ŽŒ ˆ‡ Žƒ€ŒŒ› ‚›Ž‹…ˆ… ‚‘…• ˆˆ–ˆˆŽ- ‚€›• Ž…€–ˆ‰ ‚‚Ž„€-‚›‚Ž„€ ˆ /ˆ‹ˆ Ž„Žƒ€ŒŒ ‡€‚…˜…ˆŸ “„…’ ‡€ŠŽ—…Ž. ‚‘… …‚›Ž‹…›… ‡€Ž‘› .MRKT ˆ .CMKT “„“’ €“‹ˆŽ‚€›. …‘‹ˆ —€‘’œ ”ŽŽ‚Ž‰ Žƒ€ŒŒ› ‡€ˆŒ€…’ ށ‹€‘’œ €ŒŸ’ˆ KMON ˆ USR, ’Ž Ž€ “„…’ ‡€ˆ‘€€ ‚ ‹ŽŠˆ „‹Ÿ ‚…Œ…ŽƒŽ •€…ˆŸ „€›• € ‘ˆ‘’…ŒŽ… “‘’Ž‰‘’‚Ž (…‘‹ˆ €…… ›‹€ ‚›Ž‹…€ ŠŽŒ€„€ SET EXIT SWAP). Ž‘‹… ’ŽƒŽ KMON ˆ USR ‡€ƒ“†€ž’‘Ÿ ‚ €ŒŸ’œ ˆ “€‚‹…ˆ… ……„€…’‘Ÿ Š‹€‚ˆ€’“ŽŒ“ ŒŽˆ’ސ“. …‘‹ˆ ›‹€ ‚›Ž‹…€ ŠŽŒ€„€ SET EXIT NOSWAP, ’Ž Žƒ€ŒŒ€ Ž‹œ‡Ž‚€’…‹Ÿ Ž‘’Ž ……‡€ˆ‘›‚€…’‘Ÿ. …‘‹ˆ R0 = 0 ‚Ž ‚…ŒŸ ‚›Ž‹…ˆŸ .EXIT, ’Ž ‚›Ž‹Ÿ…’‘Ÿ Ž…€–ˆŸ €€‹Žƒˆ—€Ÿ .HRESET, ‡€…™€ž™€Ÿ Ž‘‹…„“ž™…… ‚›Ž‹…ˆ… ŠŽŒ€„ REENTER, START ˆ‹ˆ CLOSE. ‡€Ž‘ .EXIT Ž‡‚Ž‹Ÿ…’ Žƒ€ŒŒ… ……„€’œ ŠŽŒ€„› Š‹€- ‚ˆ€’“ŽŒ“ ŒŽˆ’ސ“, ˆ‘Ž‹œ‡“Ÿ Ÿ—…‰Šˆ 500-777, „‹Ÿ ˆ• Ž‘- ‹…„“ž™…ƒŽ ‚›Ž‹…ˆŸ. „‹Ÿ ’ŽƒŽ …ށ•Ž„ˆŒŽ: 1) Ÿ—…‰Š€ 510 „Ž‹†€ ‘Ž„…†€’œ ށ™…… ŠŽ‹ˆ—…‘’‚Ž €‰’Ž‚ ‚ ŠŽŒ€„…, ŠŽ’ސ€Ÿ “„…’ ……„€€ KMON; 2) ŠŽŒ€„› ‡€ˆ‘›‚€ž’‘Ÿ, €—ˆ€Ÿ ‘ Ÿ—…‰Šˆ 512; ‘’ŽŠ€ „Ž‹†€ ›’œ ‡€ˆ‘€€ ‚ ‘ˆŒ‚Ž‹€• ŠŽˆ-7 ˆ … „Ž‹†€ ‘Ž„…†€’œ ‚Š ˆ‹ˆ ‘ ; €ˆŒ…: .=510 .WORD B-A A: .ASCIZ /COPY A.MAC W.MAC/ .ASCIZ /DELETE A.MAC/ B= . 3) Žƒ€ŒŒ€ Ž‹œ‡Ž‚€’…‹Ÿ „Ž‹†€ “‘’€Ž‚ˆ’œ 5 ˆ‹ˆ 11 €‡Ÿ„ ‚ ‘‘‡ ……„ ‚›Ž‹…ˆ…Œ .EXIT; ‘Ž„…†ˆŒŽ… R0 „Ž‹†Ž ›’œ “‹…‚›Œ. ŠŽƒ„€ ‡€Ž‘ .EXIT ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ ……„€—ˆ ŠŽŒ€„ …ށ•Ž„ˆŒŽ “—ˆ’›‚€’œ ‘‹…„“ž™……: 1) …‘‹ˆ ’Ž ‘‚މ‘’‚Ž ˆ‘Ž‹œ‡“…’‘Ÿ Žƒ€ŒŒŽ‰, ŠŽ’ސ€Ÿ ‚›‡›‚€…’‘Ÿ ‘ ŽŒŽ™œž ŠŽ‘‚…ŽƒŽ ”€‰‹€, ’Ž ‚‘… ŠŽŒ€„› ‘‹…- „“ž™ˆ… ‚ ŠŽ‘‚…ŽŒ ”€‰‹… ‡€ ŠŽŒ€„މ, ˆˆ–ˆˆ“ž™…‰ “‘Š ’މ Žƒ€ŒŒ›, ‚›Ž‹Ÿ’œ‘Ÿ … “„“’; 2) ŠŽ‘‚…›‰ ”€‰‹ ŒŽ†…’ ›’œ ‚›‡‚€, ˆ‘Ž‹œ‡“Ÿ ’Ž ‘‚މ‘’‚Ž, ’Ž‹œŠŽ ‚ ’ŽŒ ‘‹“—€… …‘‹ˆ ……„€‚€…Œ€Ÿ KMON ‘’ŽŠ€ ‘Ž„…†ˆ’ …„ˆ‘’‚…“ž ‘…–ˆ”ˆŠ€–ˆž ”€‰‹€; Ž›’Š€ ……„€—ˆ …‘ŠŽ‹œŠˆ• ŠŽ‘‚…›• ”€‰‹Ž‚ ˆ‹ˆ ŠŽŒˆ€–ˆ‰ ŠŽ‘‚…›• ”€‰‹Ž‚ ‘ „“ƒˆŒˆ ŠŽŒ€„€Œˆ KMON ˆ‚Ž„ˆ’ Š …€‚ˆ‹œ›Œ …‡“‹œ’€- ’€Œ; 3) .EXIT ‚ Ž„Žƒ€ŒŒ… ‡€‚…˜…ˆŸ …„Ž“‘’ˆŒ. ‡€Œ…- ’ˆŒ, —’Ž ‡€Ž‘ .EXIT ˆ‡Œ…Ÿ…’ ’…Š“™…… Ž‹Ž†…ˆ… “Š€‡€’…‹Ÿ ‘’…Š€. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .EXIT ˆŒ…. .TITLE EXIT.MAC ;‚ ’ŽŒ ˆŒ……, Ž‘‹… ‡€‚…˜…ˆŸ Žƒ€ŒŒ›, ;Š‹€‚ˆ€’“ŽŒ“ ŒŽˆ’ސ“ ……„…’‘Ÿ ŠŽŒ€„€Ÿ ;‘’ŽŠ€ € …—€’œ ‘€‚Ž—ˆŠ€ “‘’Ž‰‘’‚€ DK: .MCALL .EXIT CHNIF$ = 4000 JSW = 44 START: MOV #510,R0 MOV #CMDSTR,R1 MOV #START,SP 1$: MOVB (R1)+,(R0)+ CMP R1,#CMDEND BLO 1$ BIS #CHNIF$,@#JSW ;“‘’€Ž‚ˆ’œ 11-›‰ €‡Ÿ„ ;‚ JSW CLR R0 ;‚ R0 „Ž‹†… ›’œ 0 .EXIT CMDSTR: .WORD CMDEND-CMDSTR ;„‹ˆ€ ŠŽŒ€„Ž‰ ‘’ŽŠˆ .ASCIZ "DIRECT/FULL *.MAC" ;ŠŽŒ€„€Ÿ ‘’ŽŠ€ CMDEND: .EVEN .END START 5.3.13. .FETCH,.RELEAS ‡€Ž‘ .FETCH ‡€ƒ“†€…’ „€‰‚… “‘’Ž‰‘’‚€ ˆ‡ ‘ˆ‘’…Œ- ŽƒŽ “‘’Ž‰‘’‚€ ‚ Ž…€’ˆ‚“ž €ŒŸ’œ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .FETCH ADDR,DEVNAM ƒ„… ADDR - €„…‘ ‡€ƒ“‡Šˆ „€‰‚…€; DEVNAM - €„…‘ ˆŒ…ˆ “‘’Ž‰‘’‚€ ‚ ŠŽ„€• RADIX-50. Ž‘‹… ‚›Ž‹…ˆŸ .FETCH, R0 ‘Ž„…†ˆ’ €„…‘ …‚މ, €‘Ž‹Ž†…Ž‰ ‚›˜… „€‰‚…€, Ÿ—…‰Šˆ Ž…€’ˆ‚Ž‰ €ŒŸ’ˆ. …‘‹ˆ „€‰‚… “†… ‡€ƒ“†… ‚ €ŒŸ’œ, R0 “„…’ ‘Ž„…†€’œ €„…‘ ‡€ƒ“‡Šˆ ADDR. „‹Ÿ ‚›Ž‹…ˆŸ ‡€Ž‘Ž‚ .CLOSE .READC .READ .SFDAT .LOOKUP .WRITE .WRITC .FPROT .ENTER .READW .SPFUN .RENAME .WRITW .DELETE …ށ•Ž„ˆŒŽ €‹ˆ—ˆ… ‚ €ŒŸ’ˆ „€‰‚…Ž‚ ‘ŽŽ’‚…’‘’‚“ž™ˆ• “‘’- Ž‰‘’‚. ‚ …†ˆŒ… FB, „€‰‚…› „‹Ÿ Ž‘Ž‚Ž‰ Žƒ€ŒŒ› ˆ‹ˆ ‘ˆ‘- ’…ŒŽƒŽ ‡€„€ˆŸ „Ž‹†› ‡€ƒ“†€’œ‘Ÿ Ž ŠŽŒ€„… LOAD ……„ ˆ• ‚›Ž‹…ˆ…Œ. ‚ …†ˆŒ… •Œ, „€‰‚…› “‘’Ž‰‘’‚ „Ž‹†› ‡€ƒ“†€’œ‘Ÿ ‚ ‹ž“ž ށ‹€‘’œ €ŒŸ’ˆ (”ŽŽ‚“ž ˆ‹ˆ Ž‘Ž‚“ž) Ž ŠŽŒ€„… LOAD ……„ ‡€ƒ“‡ŠŽ‰ Žƒ€ŒŒ. ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .FETCH ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .CSISPC. ‡€Ž‘ .RELEAS “„€‹Ÿ…’ „€‰‚… “Š€‡€ŽƒŽ “‘’Ž‰‘’‚€ ˆ‡ €ŒŸ’ˆ. ‡€Ž‘ .RELEAS ˆƒŽˆ“…’‘Ÿ, …‘‹ˆ „€‰‚…: 1) Ÿ‚‹Ÿ…’‘Ÿ —€‘’œž RMON (’.…. Ÿ‚‹Ÿ…’‘Ÿ „€‰‚…ŽŒ ‘ˆ‘- ’…ŒŽƒŽ “‘’Ž‰‘’‚€); 2) Ž’‘“’‘’‚“…’ ‚ €ŒŸ’ˆ; 3) ›‹ ‡€ƒ“†… Ž ŠŽŒ€„… LOAD. ‡€Ž‘ .RELEAS ‚ Ž‘Ž‚Ž‰ Žƒ€ŒŒ… ˆ‹ˆ ‚ ‘ˆ‘’…ŒŽŒ ‡€„€ˆˆ Ž„ “€‚‹…ˆ…Œ ŒŽˆ’ސ€ FB(•Œ) ‚‘…ƒ„€ ˆƒŽˆ“…’- ‘Ÿ, ’.Š. ŒŽˆ’ސ› FB ˆ‹ˆ •Œ ŒŽƒ“’ ˆ‘Ž‹œ‡Ž‚€’œ ’Ž‹œŠŽ ’… „€‰‚…›, ŠŽ’ސ›… ›‹ˆ ‡€ƒ“†…› Ž ŠŽŒ€„… LOAD. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .RELEAS DEVNAM ƒ„… DEVNAM - €„…‘ ˆŒ…ˆ “‘’Ž‰‘’‚€ ‚ ŠŽ„€• RADIX-50. ˆŒ…. .TITLE RELEAS.MAC ;‚ ’ŽŒ ˆŒ…… „€‰‚… ‘: ‡€ƒ“†€…’‘Ÿ ‚ €ŒŸ’œ, ;€ ‡€’…Œ Ž ‡€Ž‘“ .RELEAS “„€‹Ÿ…’‘Ÿ ˆ‡ €ŒŸ’ˆ. .MCALL .FETCH,.RELEAS,.EXIT,.PRINT START: .FETCH #DSPACE,#DEVNAM ;‡€ƒ“‡ˆ’œ „€‰‚… BCS FERR .RELEAS #DEVNAM ;“„€‹ˆ’œ „€‰‚… BR START FERR: .PRINT #NODEV .EXIT DEVNAM: .RAD50 /PC / NODEV: .ASCIZ " “‘’Ž‰‘’‚Ž Ž’‘“’‘’‚“…’ !" .EVEN DSPACE: .END START 5.3.14. .FORK ‡€Ž‘ .FORK ˆ‘Ž‹œ‡“…’‘Ÿ ‚ „€‰‚…€• „‹Ÿ ‘ˆ•Žˆ‡€- –ˆˆ €Ž’› ‘ˆ‘’…Œ›. ‡€Ž‘“ .FORK „Ž‹†… …„˜…‘’‚Ž‚€’œ ‡€Ž‘ .INTEN, .FORK ’…“…’ „‹Ÿ ‘‚Ž…ƒŽ ‚›Ž‹…ˆŸ ‹ŽŠ €ŒŸ’ˆ ˆ‡ 4-• ‘‹Ž‚. ‘Ž„…†ˆŒŽ… …ƒˆ‘’Ž‚ R4 ˆ R5 Ž‘‹… ‚›Ž‹…ˆŸ ‡€Ž‘€ ‘Ž•€Ÿ…’‘Ÿ. .FORK ˆ‘Ž‹œ‡“…’‘Ÿ ‚ ’ŽŒ ‘‹“—€…, ŠŽƒ„€ „Ž‹†… ›’œ “ŽŸ„Ž—… „Ž‘’“ Š ‘ˆ‘’…Œ›Œ …‘“‘€Œ ˆ‹ˆ „Ž‹†€ ›’œ ‚›Ž‹…€ … Аˆ’ˆ—…‘Š€Ÿ Ž ‚…Œ…- ˆ, Ž Ž‹œ˜€Ÿ Ž €‡Œ…“, —€‘’œ Žƒ€ŒŒ›. Ž‘‹… ށ€Ž’Šˆ ŒŽˆ’ŽŽŒ ‡€Ž‘€ .FORK …›‚€ˆ… Ž’ “‘’Ž‰‘’‚€ “„…’ ‡€- …™…Ž ˆ „€‰‚… “„…’ €Ž’€’œ € “‹…‚ŽŒ ˆŽˆ’…’…. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .FORK FKBLK ƒ„… FKBLK - €„…‘ ‹ŽŠ€ ˆ‡ 4-• ‘‹Ž‚ („Ž‹†… ›’œ ‚ „€‰‚…… “‘’Ž‰‘’‚€). 5.3.15. .FPROT ‘ ŽŒŽ™œž ‡€Ž‘€ .FPROT “‘’€€‚‹ˆ‚€…’‘Ÿ ˆ‹ˆ Ž’Œ…Ÿ…’- ‘Ÿ ‡€™ˆ’€ ”€‰‹€ (Ž’ “„€‹…ˆŸ). € ‡€™ˆ™…›‰ ”€‰‹ … €‘Ž‘’€Ÿ…’‘Ÿ „…‰‘’‚ˆŸ ‡€Ž‘Ž‚ .CLOSE, .DELETE, .ENTER ˆ .RENAME. Ž„€ŠŽ „€›…, •€Ÿ™ˆ…- ‘Ÿ ‚ ‡€™ˆ™…ŽŒ ”€‰‹…, ŒŽ†Ž ŒŽ„ˆ”ˆ–ˆŽ‚€’œ. €ˆŒ…, ˆ‘Ž‹œ‡Ž‚€ˆ… ‡€Ž‘€ .LOOKUP „‹Ÿ ‡€™ˆ™…ŽƒŽ ”€‰‹€ ‡€ ŠŽ’ސ›Œ ‘‹…„“…’ .WRITE, ˆ‘Ž‹œ‡“ž™ˆ‰ ’Ž’ †… Š€€‹, „Ž“‘- Š€…’‘Ÿ. ‡€™ˆ’€ ”€‰‹€ Ž’ “„€‹…ˆŸ …€‹ˆ‡“…’‘Ÿ “‘’€Ž‚ŠŽ‰ 15-ƒŽ €‡Ÿ„€ ‚ ‘‹Ž‚… ‘Ž‘’ŽŸˆŸ ‘€‚Ž—ˆŠ€ “‘’Ž‰‘’‚€ „‹Ÿ “Š€- ‡€ŽƒŽ ”€‰‹€. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .FPROT AREA,CCHAN,DBLK,PROT ƒ„… AREA - €„…‘ ‹ŽŠ€ (ˆ‡ 4-• ‘‹Ž‚) €ƒ“Œ…’Ž‚ …Œ’; CHAN - ŽŒ… Š€€‹€ ( Ž’ 0 „Ž 376); DBLK - €„…‘ ‹ŽŠ€ (ˆ‡ 4-• ‘‹Ž‚), ‘Ž„„…†€™…ƒŽ ‘…–ˆ- ”ˆŠ€–ˆž ”€‰‹€ ‚ ŠŽ„€• RADIX-50; PROT - ŠŽ‘’€’€, €‚€Ÿ 1 (‡€™ˆ’€ “‘’€€‚‹ˆ‚€…’‘Ÿ) ˆ‹ˆ 0 (‡€™ˆ’€ Ž’Œ…Ÿ…’‘Ÿ). ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE CHAN,43 .WORD DBLK .WORD PROT ˆŒ…. .TITLE FPROT.MAC ;‚ ˆŒ…… ˆ‘Ž‹œ‡“ž’‘Ÿ ‡€Ž‘› .FPROT ˆ .SFDAT ;„‹Ÿ “‘’€Ž‚Šˆ ‡€™ˆ’› “Š€‡€ŽƒŽ ”€‰‹€ ˆ ;ˆ‡Œ……ˆŸ „€’› ‘އ„€ˆŸ ”€‰‹€ € ’…Š“™“ž „€’“. ;ŠŽŒ€„€Ÿ ‘’ŽŠ€ ‚‚Ž„ˆ’‘Ÿ ‘ ’…Œˆ€‹€. .MCALL .FPROT,.FETCH,.CSISPC,.DSTATUS,.SFDAT .MCALL .PRINT,.EXIT START: .CSISPC #OUTSP,#DEFEXT ;‚‚Ž„ ŠŽŒ€„Ž‰ ‘’ŽŠˆ .DSTAT #STAT,#INSPEC ;Ž‚…ˆ’œ €‹ˆ—ˆ… ;“‘’Ž‰‘’‚€ TST STAT+4 ;„€‰‚… ‡€ƒ“†…? BNE 1$ ;„€ .FETCH #DRVLOD,#INSPEC ;…’-‡€ƒ“‡ˆ’œ „€‰‚… BCC 1$ .PRINT #LOFAIL BR START 1$: .FPROT #EMTBLK,#0,#INSPEC,#1;“‘’€Ž‚ˆ’œ ‡€™ˆ’“ ;”€‰‹€ BCC 2$ .PRINT #PRFAIL BR START 2$: .SFDAT #EMTBLK,#0,#INSPEC,#0;ˆ‡Œ…ˆ’œ „€’“ € ;’…Š“™“ž BCC 3$ .PRINT #SDFAIL BR START 3$: .EXIT EMTBLK: .BLKW 4 DEFEXT: .WORD 0,0,0,0 STAT: .BLKW 4 ;‹ŽŠ ‘Ž‘’ŽŸˆŸ “‘’Ž‰‘’‚€ LOFAIL: .ASCIZ /Ž˜ˆŠ€ ‡€Ž‘€ .FETCH/ PRFAIL: .ASCIZ /Ž˜ˆŠ€ ‡€Ž‘€ .FPROT/ SDFAIL: .ASCIZ /Ž˜ˆŠ€ ‡€Ž‘€ .SFDAT/ .EVEN OUTSP: .BLKW 5*3 INSPEC: .BLKW 4*6 DRVLOD: .BLKW 1 .END START 5.3.16. .GTIM ‡€Ž‘ .GTIM Ž‡‚Ž‹Ÿ…’ Žƒ€ŒŒ… Ž…„…‹ˆ’œ ’…Š“™…… ‚…ŒŸ ‘“’ŽŠ. ‚…‹ˆ—ˆ€ ‚…Œ…ˆ Ž…„…‹Ÿ…’‘Ÿ ‚ ’ˆŠ€• (1 ’ˆŠ=1/50 ‘). ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .GTIM AREA,ADDR ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚, ‘Ž„…†€™…ƒŽ ‡€—…ˆ… ‚…Œ…ˆ ‚Ž ‚“’……Œ ”ސŒ€’…; …‚Ž… ‘‹Ž‚Ž ‘Ž„…†ˆ’ ‘’€- ˜ˆ… €‡Ÿ„›, ‚’ސޅ ‘‹Ž‚Ž - Œ‹€„˜ˆ…. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 0,21 .WORD ADDR Ž‹œ‡Ž‚€’…‹œ „Ž‹†… …„“‘ŒŽ’…’œ ‚ ‘‚Ž…‰ Žƒ€ŒŒ… Ž…€–ˆž …ށ€‡Ž‚€ˆŸ ’ˆŠŽ‚ ‚ —€‘›-Œˆ“’›-‘…Š“„›. ‚ …†ˆŒ… FB ‚…‹ˆ—ˆ€ ‚…Œ…ˆ €‚’ŽŒ€’ˆ—…‘Šˆ ‚Ž‘‘’€€‚‹ˆ‚€…’‘Ÿ Ž‘‹… 24:00:, ‚ …†ˆŒ… SJ Ž…€–ˆŸ ‚Ž‘‘’€Ž‚‹…ˆŸ ‚›Ž‹- Ÿ…’‘Ÿ, …‘‹ˆ ˆ ƒ……€–ˆˆ ‘ˆ‘’…Œ› ›‹€ Ž…„…‹…€ Ž„„…†- Š€ ’€‰Œ…€. ˆŒ…. .TITLE .GTIM.MAC ;‚ ’ŽŒ ˆŒ…… Ž‹œ‡Ž‚€’…‹œ Ž‹“—€…’ ’…Š“™…… ‚…ŒŸ ;‚ ’ˆŠ€•. .MCALL .GTIM,.EXIT START: .GTIM #AREA,#TICKS ;Ž…„…‹ˆ’œ ’…Š“™…… ;‚…ŒŸ .EXIT TICKS: .WORD 0,0 AREA: .BLKW 2 .END START 5.3.17. .GTJB ‡€Ž‘ .GTJB Ž‡‚Ž‹Ÿ…’ Žƒ€ŒŒ… Ž…„…‹ˆ’œ ŽŒ… ‚›Ž‹Ÿ…ŒŽƒŽ ‡€„€ˆŸ, ˆ†žž ƒ€ˆ–“ €ŒŸ’ˆ ˆ „“ƒˆ… €€- Œ…’› ‡€„€ˆŸ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .GTJB AREA,ADDR[,JOBBLK] ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ ‹ŽŠ€ ˆ‡ 8-Œˆ ˆ‹ˆ 12-’ˆ ‘‹Ž‚ „‹Ÿ €€Œ…’- Ž‚ ‡€„€ˆŸ (‘Œ. ’€‹.13); JOBBLK - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚, ‘Ž„…†€™…ƒŽ ‹Žƒˆ—…‘- ŠŽ… ˆŒŸ ‡€„€ˆŸ ‚ ŠŽ„€• ŠŽˆ-7. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 0,20 .WORD ADDR .WORD JOBBLK ’€‹ˆ–€ 13 ----------------------------------------------------------- ! ‘‹Ž‚Ž ! ‘Ž„…†ˆŒŽ… ! !---------------------------------------------------------! ! 1 ! ŽŒ… ‡€„€ˆŸ; ‚ …†ˆŒ€• FB,XM …‡ Ž„- ! ! ! „…†Šˆ ‘ˆ‘’…Œ›• ‡€„€ˆ‰: ”ŽŽ‚Ž… - 0, ! ! ! Ž‘Ž‚Ž… - 2; ! ! ! ‚ …†ˆŒ€œ FB,•Œ ‘ Ž„„…†ŠŽ‰ ‘ˆ‘’…Œ›• ‡€-! ! ! „€ˆ‰: ”ŽŽ‚Ž… - 0, ‘ˆ‘’…Œ›… - 2,4,6,10, ! ! ! 12,14, Ž‘Ž‚Ž… - 16 ! ! 2 ! ‚…•ŸŸ ƒ€ˆ–€ ށ‹€‘’ˆ ‡€„€ˆŸ ! ! 3 ! ˆ†ŸŸ ƒ€ˆ–€ ށ‹€‘’ˆ ‡€„€ˆŸ ! ! 4 ! €—€‹Ž ށ‹€‘’ˆ Š€€‹Ž‚ ‚‚Ž„€-‚›‚Ž„€ ! ! 5 ! €„…‘ ‘Œ…˜€Ž‰ ށ‹€‘’ˆ ‡€„€ˆ‰ „‹Ÿ ! ! ! ŒŽˆ’ސނ FB ˆ XM ! ! 6 ! Œ‹€„˜ˆ‰ €‰’ - ŽŒ… ‘ˆ‘’…ŒŽƒŽ ’…Œˆ€‹€ ! ! ! „‹Ÿ ‘ˆ‘’…Œ ‘ Œ“‹œ’ˆ’…Œˆ€‹œŽ‰ Ž„„…†ŠŽ‰! ! 7 ! ‚ …†ˆŒ… •Œ - ‚…•ˆ‰ ‚ˆ’“€‹œ›‰ €„…‘ ! ! ! „‹Ÿ ‚ˆ’“€‹œŽƒŽ ‡€„€ˆŸ. ! ! 10-12 ! ‚ …†ˆŒ€• FB,•Œ ‘ Ž„„…†ŠŽ‰ ‘ˆ‘’…Œ›• ! ! ! ‡€„€ˆ‰ - ‹Žƒˆ—…‘ŠŽ… ˆŒŸ ‡€„€ˆŸ ‚ ŠŽ„€• ! ! ! ŠŽˆ-7 ! ----------------------------------------------------------- ˆŒ…—€ˆ…. ˆ”ސŒ€–ˆž …ށ•Ž„ˆŒ“ž „‹Ÿ “€‚‹…ˆŸ ‚›Ž‹…ˆ…Œ Ž‘Ž‚ŽƒŽ ‡€„€ˆŸ, ŒŽˆ’ސ •€ˆ’ ‚, ’€Š €‡›- ‚€…ŒŽ‰, ‘Œ…˜€Ž‰ ށ‹€‘’ˆ, ŠŽ’ސ€Ÿ ‘އ„€…’‘Ÿ ‚Ž ‚…ŒŸ ‡€ƒ- “‡Šˆ Ž‘Ž‚Ž‰ Žƒ€ŒŒ› ‚ Œ‹€„˜ˆ• €„…‘€• Ž‘Ž‚Ž‰ ށ‹€‘’ˆ €ŒŸ’ˆ. ‘‹Ž‚Ž 4 ‘Ž„…†ˆ’ €„…‘, ‘ ŠŽ’ŽŽƒŽ €—ˆ€…’‘Ÿ ށ‹€‘’œ Š€€‹Ž‚ ‚‚Ž„€-‚›‚Ž„€. ށ›—Ž ’Ž’ €„…‘ €•Ž„ˆ’‘Ÿ ‚ …„…- ‹€• RMON. Ž„€ŠŽ, Ž‘‹… ‚›Ž‹…ˆŸ .CDFN, ށ‹€‘’œ Š€€‹Ž‚ ‚‚Ž„€-‚›‚Ž„€ ‡€Œ…Ÿ…’‘Ÿ € ށ‹€‘’œ, €„…‘ ŠŽ’ސމ “Š€‡›- ‚€…’‘Ÿ Ž‹œ‡Ž‚€’…‹…Œ. ˆŒ…. .TITLE GTJB.MAC ;‚ „€ŽŒ ˆŒ…… ‘ ŽŒŽ™œž ‡€Ž‘€ .GTJB Ž…„…‹Ÿ…’‘Ÿ ;‡€ƒ“†…Ž ‹ˆ Ž‘Ž‚Ž… ‡€„€ˆ…. ;Žƒ€ŒŒ€ ŒŽ†…’ ‚›Ž‹Ÿ’œ‘Ÿ ЀРŽ„ “€‚‹…ˆ…Œ ŒŽˆ’ސ€ ;FB, ˆŒ…ž™…ƒŽ Ž„„…†Š“ ‘ˆ‘’…Œ›• ‡€„€ˆ‰, ’€Š ˆ Ž„ ;“€‚‹…ˆ…Œ ŒŽˆ’ސ€ FB, ŠŽ’ސ›‰ … ˆŒ……’ Ž„„…†Šˆ ;‘ˆ‘’…Œ›• ‡€„€ˆ‰. .MCALL .GVAL,.GTJB,.PRINT,.EXIT SYSGEN = 372 ;‘‹Ž‚Ž €€Œ…’Ž‚ ƒ……€–ˆˆ SYSJOB = 40000 ;€‡Ÿ„ ‘ˆ‘’…ŒŽƒŽ ‡€„€ˆŸ START: MOV #2, R1 .GVAL #LIST, #SYSGEN ;Ž‹“—ˆ’œ ‚ R0 ‘Ž„…†ˆŒŽ… ;Ÿ—…‰Šˆ ŒŽˆ’ސ€ BIT #SYSJOB,R0 ;…‘’œ Ž„„…†Š€ ‘ˆ‘’…ŒŽƒŽ ;‡€„€ˆŸ BEQ 1$ MOV #16, R1 ;ŽŒ… Ž‘Ž‚ŽƒŽ ‡€„€ˆŸ=16 1$: .GTJB #LIST,#JOBARG,R1;Ž‹“—ˆ’œ €€Œ…’› BCS 2$ .PRINT #FGLOAD .EXIT 2$: .PRINT #NOFG .EXIT LIST: .BLKW 3 JOBARG: .BLKW 12. ;‹ŽŠ €€Œ…’Ž‚ ‡€„€ˆŸ FGLOAD: .ASCIZ / Žƒ€ŒŒ€ ‚ Ž‘Ž‚Ž‰ ށ‹€‘’ˆ €ŒŸ’ˆ/ NOFG: .ASCIZ /…’ Žƒ€ŒŒ› ‚ Ž‘Ž‚Ž‰ ށ‹€‘’ˆ/ .EVEN .END START 5.3.18. .GTLIN ‡€Ž‘ .GTLIN ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ Ž‹“—…ˆŸ Ž’ Ž‹œ‡Ž‚€- ’…‹Ÿ ŠŽŒ€„Ž‰ ˆ”ސŒ€–ˆˆ, Ž’‹ˆ—Ž‰ Ž’ ŠŽŒ€„›• ‘’ŽŠ CSI ˆ Ž‡‚Ž‹Ÿ…’ Žƒ€ŒŒ… €Ž’€’œ ‘ ŠŽ‘‚…›Œˆ ”€‰‹€Œˆ. ‡€Ž‘ .GTLIN ’…“…’ €‹ˆ—ˆŸ USR ‚ €ŒŸ’ˆ ˆ ˆˆŒ€…’ ‚•Ž„“ž ‘’ŽŠ“ ‘ ‘ˆ‘’…ŒŽƒŽ ’…Œˆ€‹€, ˆ‹ˆ ˆ‡ ŠŽ‘‚…ŽƒŽ ”€‰‹€, ‚ ‡€‚ˆ‘ˆŒŽ‘’ˆ Ž’ ’ŽƒŽ ›‹€ ‹ˆ ‚›‡‚€€ Žƒ€ŒŒ€ ‘ ’…Œˆ€‹€ ˆ‹ˆ ŠŽŒ€„މ ˆ‡ ŠŽ‘‚…ŽƒŽ ”€‰‹€. ‡€Ž‘ .GTLIN ˆƒŽˆ“…’ €ƒ“Œ…’ PSTR, …‘‹ˆ ‚‚Ž„ Ž‘“- ™…‘’‚‹Ÿ…’‘Ÿ ˆ‡ ŠŽ‘‚…ŽƒŽ ”€‰‹€ ˆ, …‘‹ˆ €…… ›‹€ ‚›Ž‹…- € ŠŽŒ€„€ SET TT QUIET. Ž„€ŠŽ, …‘‹ˆ ‚‚Ž„ Ž‘“™…‘’‚‹Ÿ…’‘Ÿ ‘ ’…Œˆ€‹€ ˆ‹ˆ ˆ‡ ŠŽ‘‚…ŽƒŽ ”€‰‹€, ˆ €…… … ›‹€ ‚›Ž‹…- € ŠŽŒ€„€ SET TT QUIET, ‡€Ž‘ .GTLIN “„…’ ˆ‘Ž‹œ‡Ž‚€’œ €ƒ“Œ…’ PSTR „‹Ÿ …—€’ˆ Ž“†„€ž™…‰ ‘’ŽŠˆ ‘ˆŒ‚ދނ ……„ ‚›ŽŠŽ‰ ‚•Ž„Ž‰ ‘’ŽŠˆ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .GTLIN SPTR[,PSTR][,TYPE] ƒ„… SPTR - €„…‘ “”…€ „‹Ÿ ‡€ˆ‘ˆ ‚•Ž„Ž‰ ‘’ŽŠˆ; „‹ˆ€ ‘’ŽŠˆ … „Ž‹†€ …‚›˜€’œ 81 €‰’; ‘’ŽŠ€ “„…’ Žƒ€ˆ—…€ “‹…‚›Œ €‰’ŽŒ ‚Œ…‘’Ž ‚Š ‘ ; PSTR - €„…‘ Ž“†„€ž™…‰ ‘’ŽŠˆ, ŠŽ’ސ€Ÿ “„…’ …—€- ’€’œ‘Ÿ € ’…Œˆ€‹…; PSTR ˆŒ……’ ’Ž’ †… ”ސŒ€’, —’Ž ˆ €ƒ“- Œ…’ ‡€Ž‘€ .PRINT. TYPE - …ށŸ‡€’…‹œ›‰ €ƒ“Œ…’, Ž‡‚Ž‹Ÿž™ˆ‰ Ž‘“™…‘’- ‚ˆ’œ ‚‚Ž„ ‘ ’…Œˆ€‹€ ˆ ‚›Ž‹…ˆˆ ŠŽ‘‚…ŽƒŽ ”€‰‹€. ˆŒ…—€ˆ…. …„ˆ‘’‚…›Œˆ ‡€Ž‘€Œˆ, ŠŽ’ސ›… ŒŽƒ“’ Ž‘“™…‘’‚‹Ÿ’œ ‚‚Ž„ ˆ‡ ŠŽ‘‚…ŽƒŽ ”€‰‹€, Ÿ‚‹Ÿž’‘Ÿ ‡€Ž‘› .CSIGEN, .CSISPC ˆ .GTLIN. ˆŒ…. .TITLE GTLIN.MAC ;‚ ’ŽŒ ˆŒ…… …—€’€…’‘Ÿ ‘’ŽŠ€, ‚‚…„…€Ÿ ‘ ;’…Œˆ€‹€. .MCALL .GTLIN,.PRINT,.EXIT START: .GTLIN #BUFF,#PROMT TSTB BUFF BEQ 1$ .PRINT #BUFF CLRB BUFF BR START 1$: .EXIT BUFF: .BLKW 41. PROMT: .ASCII /‚‚…„ˆ’… ‘’ŽŠ“ - /<200> .END START 5.3.19. .GVAL,.PVAL ‡€Ž‘ .GVAL ……„€…’ ‚ R0 ‘Ž„…†ˆŒŽ… “Š€‡€Ž‰ …. .TITLE GTLIN.MAC ;‚ ’ŽŒ ˆŒ…… …—€’€…’‘Ÿ ‘’ŽŠ€, ‚‚…„…€Ÿ ‘ ;’…Œˆ€‹€. .MCALL .GTLIN,.PRINT,.EXIT START: .GTLIN #BUFF,#PROMT TSTB BUFF BEQ 1$ .PRINT #BUFF CLRB BUFF BR START 1$: .EXIT BUFF: .BLKW 41. PROMT: .ASCII /‚‚…„ˆ’… ‘’ŽŠ“ - /<200> .END START 5.3.19. .GVAL,.PVAL ‡€Ž‘ .GVAL ……„€…’ ‚ R0 ‘Ž„…†ˆŒŽ… “Š€‡€Ž‰ Ÿ—…‰Šˆ ŒŽˆ’ސ€. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .GVAL AREA, OFFSET ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; OFFSET - ‡€—…ˆ… ‘Œ…™…ˆŸ Ž’Ž‘ˆ’…‹œŽ €—€‹€ RMON. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 0,34 .WORD OFFSET ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .GVAL ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .GTJB. ‡€Ž‘ .PVAL ˆ‡Œ…Ÿ…’ ‘Ž„…†ˆŒŽ… “Š€‡€Ž‰ Ÿ—…‰Šˆ ŒŽˆ- ’ސ€. ‘’€Ž… ‘Ž„…†ˆŒŽ… ‡€ˆ‘›‚€…’‘Ÿ ‚ …ƒˆ‘’ R0. ‚ …†ˆŒ… •Œ .GVAL ˆ .PVAL „Ž‹†› ˆ‘Ž‹œ‡Ž‚€’œ‘Ÿ „‹Ÿ ˆ‡Œ……ˆŸ ‘Ž„…†ˆŒŽƒŽ Ÿ—……Š ŒŽˆ’ސ€ „‹Ÿ ‘Ž‚Œ…‘’ˆŒŽ‘’ˆ ‘ „“ƒˆŒˆ ŒŽˆ’ސ€Œˆ RT11. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .PVAL AREA,OFFSET,VALUE ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; OFFSET - ‡€—…ˆ… ‘Œ…™…ˆŸ Ž’Ž‘ˆ’…‹œŽ €—€‹€ RMON; VALUE - Ž‚Ž… ‘Ž„…†ˆŒŽ… Ÿ—…‰Šˆ ŒŽˆ’ސ€. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 2,34 .WORD OFFSET .WORD VALUE 5.3.20. .HERR,.SERR ‡€Ž‘› .HERR, .SERR Ž‡‚Ž‹Ÿž’ ‡€„€’œ Ž…„…‹…›‰ …†ˆŒ €Ž’› ŒŽˆ’ސ€ ˆ ށ€“†…ˆˆ “‘‹Ž‚ˆ‰ Ž˜ˆŽŠ. ‚Ž ‚…ŒŸ ‚›Ž‹…ˆŸ Žƒ€ŒŒ› ŒŽƒ“’ ‚އˆŠ“’œ Ž…„…‹…›… Ž˜ˆŠˆ, ‚›‡›‚€ž™ˆ… …›‚€ˆ… Žƒ€ŒŒ› (‘Œ. ’€‹. 14). ށ›—Ž ’ˆ Ž˜ˆŠˆ ‚›‡›‚€ž’ ‚›•Ž„ ˆ‡ Žƒ€ŒŒ› ˆ …—€’œ ŒŽˆ’ŽŽŒ ‘ŽŽ™…ˆŸ ށ Ž˜ˆŠ…. Ž„€ŠŽ ‚ …ŠŽ’ސ›• ‘‹“—€Ÿ• …‚އŒŽ†Ž …‚€’œ ‚›Ž‹…ˆ… Žƒ€ŒŒ› ˆ‡-‡€ ‚އˆŠ˜ˆ• Ž˜ˆŽŠ. €ˆŒ…, ŒŽƒŽŽ‹œ‡Ž‚€’…‹œ‘Š€Ÿ Žƒ€ŒŒ€ „Ž‹†€ ‘Ž•€Ÿ’œ “€‚‹…ˆ… ˆ …‚€’œ €Ž’“ ’Ž‹œŠŽ ‘ ’…Œ Ž‹œ‡Ž- ‚€’…‹…Œ, ŠŽ’ސ›‰ ‘„…‹€‹ Ž˜ˆŠ“. ‚ ’ŽŒ ‘‹“—€… Ž‹…‡Ž ˆ‘Ž‹œ‡Ž‚€’œ ‡€Ž‘ .SERR, ŠŽ’ސ›‰ ‡€…™€…’ ŒŽˆ’ސ“ “„€- ‹…ˆ… ˆ‡ €ŒŸ’ˆ Žƒ€ŒŒ›, ‚ ŠŽ’ސމ ށ€“†…€ Ž˜ˆŠ€. ‚Œ…‘’Ž ’ŽƒŽ, ˆ ‚އˆŠŽ‚…ˆˆ Ž˜ˆŠˆ Ž‘‹… ‚›Ž‹…ˆŸ ‡€Ž‘€ .SERR, “‘’€€‚‹ˆ‚€…’‘Ÿ ‘-€‡Ÿ„ ˆ ŠŽ„ Ž˜ˆŠˆ ‚ 52-ŽŒ €‰’…. ‚ …ŠŽ’ސ›• ‘‹“—€Ÿ• ‡€Ž‘ .SERR Ž‘’€‚‹Ÿ…’ Š€€‹› ޒА›’›Œˆ, €ˆŒ…, …‘‹ˆ ˆ‘Ž‹œ‡Ž‚€‹ˆ‘œ ‡€Ž‘› .LOOKUP ˆ .ENTER. ‡€Ž‘ .HERR Ž’Œ…Ÿ…’ „…‰‘’‚ˆ… ‡€Ž‘€ .SERR. ‚ ’ŽŒ ‘‹“—€… …—€’€…’‘Ÿ ‘ŽŽ™…ˆ… ށ Ž˜ˆŠ… ˆ Žƒ€ŒŒ€ “„€‹Ÿ…’‘Ÿ ˆ‡ €ŒŸ’ˆ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .HERR .SERR ’€‹ˆ–€ 14 ----------------------------------------------------------- ! ŠŽ„ ! ˆ—ˆ€ Ž˜ˆŠˆ ! !---------------------------------------------------------! ! -1 ! ‚›‡Ž‚ USR ˆ‡ Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ ! ! -2 ! ‚ €ŒŸ’ˆ …’ „€‰‚…€ “‘’Ž‰‘’‚€ ! ! -3 ! Ž˜ˆŠ€ ‚‚Ž„€-‚›‚Ž„€ ‘€‚Ž—ˆŠ€ “‘’Ž‰‘’‚€! ! -4 ! Ž˜ˆŠ€ .FETCH. Ž˜ˆŠ€ ˆ —’…ˆˆ „€‰‚…€,! ! ! ˆ‹ˆ Ž›’Š€ ‡€ƒ“‡ˆ’œ …ƒŽ ‚›˜… USR ˆ‹ˆ ! ! ! RMON ! ! -5 ! Ž˜ˆŠ€ —’…ˆŸ Ž‚…‹…‰ŽƒŽ ‘…ƒŒ…’€ ! ! -6 ! ‚ ‘€‚Ž—ˆŠ… “‘’Ž‰‘’‚€ …’ ‘‚ށބŽƒŽ ! ! ! Œ…‘’€ „‹Ÿ ‡€ˆ‘ˆ ”€‰‹€ ! ! -7 ! …„Ž“‘’ˆŒ›‰ €„…‘ (’Ž‹œŠŽ ‚ …†ˆŒ… FB) ! ! ! Ž›’Š€ ‚›Ž‹ˆ’œ Ž…€–ˆž ‚… ƒ€ˆ– ‡€- ! ! ! „€ˆŸ ! ! -10 ! …‘“™…‘’‚“ž™ˆ‰ ŽŒ… Š€€‹€ ! ! -11 ! …„Ž“‘’ˆŒ€Ÿ ŠŽŒ€„€ EMT; Ž…„…‹… …„Ž- ! ! ! “‘’ˆŒ›‰ ”“Š–ˆŽ€‹œ›‰ ŠŽ„ ! ! -14 ! …„Ž“‘’ˆŒ›‰ ‘€‚Ž—ˆŠ ! ! -15 ! Ž’‘“’‘’‚“…’ „€‰‚… “‘’Ž‰‘’‚€ (‚ …†ˆŒ… ! ! ! •Œ) ! ----------------------------------------------------------- ˆŒ…. .MCALL .ENTER .HERR .SERR .PRINT .EXIT .USRDF START: .SERR ;ง ฏเฅโจโ์ ฏเฅเ๋ข ญจฅ ฏเฎฃเ ฌฌ๋ ;ฏฎ ฎ่จกชฅ .USRDF ;ฎฏเฅคฅซจโ์ ฌญฅฌฎญจชใ แโ โใแ  ง ขฅเ่ฅญจ๏ ;ฏเฎฃเ ฌฌ๋ USERRB .ENTER #AREA,#1,#FILE ;ฎโชเ๋โ์ ไ ฉซ ญ  PR: BCC 3$ CALL ERR ;ฎกเ กฎโ โ์ ฎ่จกชใ .HERR ;เ งเฅ่จโ์ ฏเฅเ๋ข ญจฅ ฏเฎฃเ ฌฌ๋ ฏฎ ฎ่จกชฅ .ENTER #AREA,#1,#FILE ;ฎโชเ๋โ์ ไ ฉซ ญ  PR: BCS ERR1 3$: .EXIT ERR1: .PRINT #MSG .EXIT MSG: .ASCIZ /ฎ่จกช  .ENTER/ .EVEN ERR: MOVB @#52,R0 ;ฏฎคฏเฎฃเ ฌฌ  ฎกเ กฎโชจ ฎ่จกฎช NEG R0 DEC R0 ASL R0 MOV COD(R0),R0 .PRINT BISB #3,@#USERRB ;ใแโ ญฎขจโ์ ง ขฅเ่ฅญจฅ แ ฃเใกฎฉ ฎ่จกชฎฉ RETURN COD: C1 C2 C3 C4 C5 C6 C7 C10 C11 C14 C1: .ASCIZ /USR?/ C2: .ASCIZ /ญฅ ง ฃเใฆฅญ คเ ฉขฅเ/ C3: .ASCIZ /ฎ่จกช  ็โฅญจ๏ ช โ ซฎฃ / C4: .ASCIZ /ฎ่จกช  .FETCH/ C5: .ASCIZ /ฎขฅเซฅฉ?/ C6: .ASCIZ /ช โ ซฎฃ ฏฅเฅฏฎซญฅญ/ C7: .ASCIZ /ฎ่จกช   คเฅแ ๆจจ/ C10: .ASCIZ .ASCIZ /ญฅขฅเญ๋ฉ ญฎฌฅเ ช ญ ซ / C11: .ASCIZ /ญฅขฅเญ๋ฉ ชฎค EMT/ C14: .ASCIZ /ญฅคฎฏใแโจฌ๋ฉ ช โ ซฎฃ/ .EVEN AREA: .BLKW 4 FILE: .RAD50 /PR / .WORD 0,0,0 .END START 5.3.21. .HRESET ‡€Ž‘ .HRESET …А€™€…’ ‚›Ž‹…ˆ… Ž…€–ˆ‰ ‚‚Ž„€- ‚›‚Ž„€ „‹Ÿ ‚›‡›‚€ž™…‰ Žƒ€ŒŒ› ˆ ‚›Ž‹Ÿ…’ ”“Š–ˆˆ ‡€Ž‘€ .SRESET. ‚ …†ˆŒ… SJ ‡€Ž‘ .HRESET ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ …Š- €™…ˆŸ ‚‘…• Ž…€–ˆ‰ ‚‚Ž„€-‚›‚Ž„€ „‹Ÿ ‡€„€ˆŸ, ‚ ŠŽ’ŽŽŒ ˆ‘Ž‹œ‡“…’‘Ÿ .HRESET. ‚‘… „“ƒˆ… Ž…€–ˆˆ ‚‚Ž„€-‚›‚Ž„€ Ž- „Ž‹†€ž’‘Ÿ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .HRESET ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .HRESET ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .CDFN. 5.3.22. .INTEN ‡€Ž‘ .INTEN ˆ‘Ž‹œ‡“…’‘Ÿ ‚ Ž„Žƒ€ŒŒ… ށ€Ž’Šˆ …›‚€ˆŸ Žƒ€ŒŒ› Ž‹œ‡Ž‚€’…‹Ÿ ˆ ‚›Ž‹Ÿ…’ ‘‹…„“ž™ˆ… ”“Š–ˆˆ: 1) ‘ŽŽ™€…’ ŒŽˆ’ސ“ Ž ’ŽŒ, —’Ž Žˆ‡Ž˜‹Ž …›‚€ˆ…; 2) “‘’€€‚‹ˆ‚€…’ ˆŽˆ’…’ Ž–…‘‘ސ€ € ‘ŽŽ’‚…’‘’‚“ž- ™ˆ‰ “Ž‚…œ. ‚‘… ‚…˜ˆ… …›‚€ˆŸ ‚›‡›‚€ž’ €Ž’“ Ž–…‘‘ސ€ Ž 7-Œ“ ˆŽˆ’…’“. ‡€Ž‘ .INTEN ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ Žˆ†…ˆŸ ˆŽˆ’…’€ „Ž “Ž‚Ÿ, € ŠŽ’ŽŽŒ “„…’ €Ž’€’œ ‘ŽŽ’‚…’‘’- ‚“ž™…… “‘’Ž‰‘’‚Ž. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .INTEN PRIOR[,PIC] ƒ„… PRIOR - ˆŽˆ’…’ Ž–…‘‘ސ€, ŠŽ’ސ›‰ Ž‹œ‡Ž‚€’…‹œ “‘’€€‚‹ˆ‚€…’ „‹Ÿ ‘‚Ž…‰ Ž„Žƒ€ŒŒ› ށ€Ž’Šˆ …›‚€ˆŸ; ށ›—Ž ’Ž’ ˆŽˆ’…’, Ž ŠŽ’ŽŽŒ“ “‘’Ž‰‘’‚Ž ‡€€˜ˆ‚€…’ …›‚€ˆ…; PIC - …ށŸ‡€’…‹œ›‰ €ƒ“Œ…’; „Ž‹†… ›’œ “Š€‡€, …‘‹ˆ Ž„Žƒ€ŒŒ€ ށ€Ž’Šˆ …›‚€ˆŸ €ˆ‘€€ ‚ Ž‡ˆ–ˆŽ- Ž-…‡€‚ˆ‘ˆŒ›• ŠŽ„€•; ‹ž€Ÿ Ž„Žƒ€ŒŒ€ ށ€Ž’Šˆ …›‚€- ˆŸ („€‰‚… “‘’Ž‰‘’‚€), „Ž‹†€ ›’œ €ˆ‘€€ ‚ ’ˆ• ŠŽ„€•. 5.3.23. .LOCK,.UNLOCK ‡€Ž‘ .LOCK ‹ŽŠˆ“…’ USR ‚ €ŒŸ’ˆ „‹Ÿ ‚›Ž‹…ˆŸ Ÿ„€ Ž…€–ˆ‰. …‘‹ˆ ‘“™…‘’‚“ž’ “‘‹Ž‚ˆŸ, ‚›‡›‚€ž™ˆ… Ž–…‘‘ ‘‚Žˆƒ€, ’Ž Žƒ€ŒŒ€ Ž‹œ‡Ž‚€’…‹Ÿ (’€ …… —€‘’œ, ŠŽ’ސ“ž USR ……А›‚€…’ ‚ €ŒŸ’ˆ) ‡€ˆ‘›‚€…’‘Ÿ ‚ ‹ŽŠˆ „ˆ‘Š€ „‹Ÿ ‚…Œ…ŽƒŽ •€…ˆŸ „€›• ˆ USR ‡€ƒ“†€…’‘Ÿ ‚ €ŒŸ’œ. ‚ Ž’ˆ‚ŽŒ ‘‹“—€… ˆ‘Ž‹œ‡“…’‘Ÿ USR, €•Ž„Ÿ™€Ÿ‘Ÿ ‚ €ŒŸ’ˆ ˆ ‘‚Žˆƒ€ … Žˆ‘•Ž„ˆ’. ‡€Ž‘ .LOCK ‚‘…ƒ„€ ‡€ƒ“†€…’ USR ‚ €ŒŸ’œ, …‘‹ˆ ’€Œ …… …’. USR “„…’ ‹ŽŠˆŽ‚€€ ‚ €ŒŸ’ˆ „Ž ’…• Ž, ŽŠ€ … “„…’ ‘„…‹€ ‡€Ž‘ .UNLOCK. ‡€Œ…’ˆŒ, —’Ž ‚ …†ˆŒ… FB, ‚›‡Ž‚ CSI ŒŽ†…’ ’€Š†… ‚›Ž‹ˆ’œ „…‰‘’‚ˆ… €€- ‹Žƒˆ—Ž… .UNLOCK. ‚ …†ˆŒ… FB ‡€Ž‘ .LOCK ‡€…™€…’ „“ƒˆŒ ‡€„€ˆŸŒ ˆ‘Ž‹œ‡Ž‚€’œ USR. Ž‘‹… ‡€Ž‘€ .LOCK „Ž‹†… ›’œ ‚›Ž‹… ‡€Ž‘ .UNLOCK „‹Ÿ Ž‘‚ށކ„…ˆŸ USR. ‡€Ž‘› .LOCK ˆ .UNLOCK „ŽŽ‹Ÿž’ „“ƒ „“ƒ€ ˆ, Ž’Ž- Œ“, „Ž‹†› ›’œ ‘Žƒ‹€‘Ž‚€› (’.…., …‘‹ˆ ‚›Ž‹…Ž ’ˆ ‡€- Ž‘€ .LOCK, ’Ž „Ž‹†Ž ›’œ ‚›Ž‹…Ž, Ž А€‰…‰ Œ……, ’ˆ .UNLOCK, ‚ Ž’ˆ‚ŽŒ ‘‹“—€… USR … “„…’ “„€‹…€ ˆ‡ €ŒŸ- ’ˆ). …‘‹ˆ ŠŽ‹ˆ—…‘’‚Ž .UNLOCK Ž‹œ˜… —…Œ .LOCK, ’Ž Ž˜ˆŠˆ … Žˆ‘•Ž„ˆ’. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .LOCK ˆŒ…—€ˆŸ: 1. ‚€†Ž, —’ށ› Žƒ€ŒŒ€ ˆ‘Ž‹œ‡“ž™€Ÿ .LOCK … €•Ž„ˆ- ‹€‘œ ‚ ށ‹€‘’ˆ €ŒŸ’ˆ, Š“„€ “„…’ ‡€ƒ“†€’œ‘Ÿ USR. …‘‹ˆ ’Ž Žˆ‡Ž‰„…’, ’Ž Ž‘‹… ‚›Ž‹…ˆŸ .LOCK “€‚‹…ˆ… “„…’ ……„€Ž … Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ, € USR. 2. Ž‘‹… ‚›Ž‹…ˆŸ .LOCK … …ŠŽŒ…„“…’‘Ÿ ˆ‘Ž‹œ‡Ž‚€’œ ’Ž ŒŽ†…’ ‚›‡‚€’์ …‡“‹œ’€’› 3. …‘‹ˆ Ž‘Ž‚Ž… ‡€„€ˆ… €•Ž„ˆ‹€‘œ ‚ ށ‹€‘’ˆ €ŒŸ’ˆ, Š“„€ “„…’ ‡€ƒ“†€’œ‘Ÿ USR. …‘‹ˆ ’Ž Žˆ‡Ž‰„…’, ’Ž Ž‘‹… ‚›Ž‹…ˆŸ .LOCK “€‚‹…ˆ… “„…’ ……„€Ž … Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ, € USR. 2. Ž‘‹… ‚›Ž‹…ˆŸ .LOCK … …ŠŽŒ…„“…’‘Ÿ ˆ‘Ž‹ ‘Ÿ ‘‚Žˆƒ, ’Ž .UNLOCK ‡€ƒ“†€…’ Žƒ€ŒŒ“ Ž‹๊‡Ž‚€“…€ฌŸ’œ. /j !๎> 8 ”ސฌ€ข?๊๊ช๊ŽŠŽŒ€š๊:ฌ 0 ํ#๊/ฏ๊ .UNLOSK# ๊š์๊:š šฃ๊๊ ฌ ' ๊๊๊๊ ฏ 0 /!๎! " ๊#&็ , Ž ข๊ข๊- ! * ๊ ?๊๊๋ƒ 2$ ๊5๊๊็๊5ข5471>0๊0๊๊-ฏ1 3?=ฌ … €•Ž„ˆ- ‹€‘œ ‚ ށ‹€‘’ˆ €ŒŸ’ˆ, Š“„€ “„…’ ‡€ƒ“†€’œ‘Ÿ USR. …‘‹ˆ ’Ž Žˆ‡Ž‰„…’, ’Ž Ž‘‹… ‚›Ž‹…ˆŸ .LOCK “€‚‹…ˆ… “„…’ ……„€Ž … Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ, € USR. 2. Ž‘‹… ‚›Ž‹…ˆŸ .LOCK … …ŠŽŒ…„“…’‘Ÿ ˆ‘Ž‹ŽŠ€ … “„…’ ‚›Ž‹… .UNLOCK ‚ …‚ŽŒ ‡€„€ˆˆ. ˆŒ…. .TITLE LOCK.MAC ;ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ ‡€Ž‘Ž‚ .LOCK,.UNLOCK .MCALL .LOCK,.UNLOCK,.LOOKUP,.SETTOP,.PRINT,.EXIT SYSPTR=54 ;“Š€‡€’…‹œ € €—€‹Ž RMON START: .SETTOP @#SYSPTR ;‡€Ž‘ˆ’œ ‚‘ž ‘‚ށބ“ž ;€ŒŸ’œ .LOCK ;‚›‡Ž‚ USR ‚ €ŒŸ’œ .LOOKUP #AREA,#0,#FILE1 ;ޒА›’œ ”€‰‹ € 0-ŽŒ Š€€‹… BCC 1$ 2$: .PRINT #LMSG .EXIT 1$: .PRINT #F1FND MOV #AREA,R0 INC @R0 ;ŽŒ… Š€€‹€ = 1 MOV #FILE2,2(R0) .LOOKUP ;ޒА›’œ ”€‰‹ € 1-ŽŒ Š€€‹… BCS 2$ .PRINT #F2FND .UNLOCK ;“„€‹ˆ’œ USR ˆ‡ €ŒŸ’ˆ .EXIT AREA: .BLKW 3 FILE1: .RAD50 /DK / .RAD50 /PIP / .RAD50 /SAV/ FILE2: .RAD50 /DK / .RAD50 /DIR / .RAD50 /SAV/ LMSG: .ASCIZ /Ž˜ˆŠ€ .LOOKUP/ F1FND: .ASCIZ /”€‰‹ PIP.SAV ޒА›’ € 0-ŽŒ Š€€‹…/ F2FND: .ASCIZ /”€‰‹ DIR.SAV ޒА›’ € 1-ŽŒ Š€€‹…/ .EVEN .END START 5.3.24. .MFPS, .MTPS ‡€Ž‘› .MFPS ˆ .MTPS ށ…‘…—ˆ‚€ž’ „Ž‘’“ Š ‘‘. ‡€- Ž‘ .MFPS ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ ‚›ŽŠˆ ‘‘. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .MFPS ADDR ƒ„… ADDR - €„…‘, Ž ŠŽ’ŽŽŒ“ ‡€ˆ‘›‚€…’‘Ÿ ‘Ž„…†ˆŒŽ… ‘‘; …‘‹ˆ €„…‘ … “Š€‡€, ‘Ž„…†ˆŒŽ… ‘‘ ……‘›‹€…’‘Ÿ „‹Ÿ “‘’€- Ž‚Šˆ ‘‘. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .MTPS ADDR ƒ„… ADDR - €„…‘ ‘‹Ž‚€, ŠŽ’ސޅ “„…’ ‡€ˆ‘€Ž ‚ ‘‘; …‘‹ˆ €„…‘ … “Š€‡€, ’Ž ‡€—…ˆ… „‹Ÿ ‘‘ ……’‘Ÿ ˆ‡ ‘’…Š€. ˆŒ…. .TITLE MFPS.MAC ;‚ „€ŽŒ ˆŒ……, ‘ ˆ‘Ž‹œ‡Ž‚€ˆ…Œ ‡€Ž‘Ž‚ .MFPS,.MTPS, ;Ž‘“™…‘’‚‹Ÿ…’‘Ÿ ށ€™…ˆ… Š Ž„Žƒ€ŒŒ…, ŠŽ’ސ€Ÿ ;Ž…„…‹Ÿ…’ €‹ˆ—ˆ… ‘‚ށބŽƒŽ ‹…Œ…’€ Ž—……„ˆ. .MCALL .MFPS,.MTPS,.EXIT,.PRINT,.TTINR JSW = 44 ;‘‹Ž‚Ž ‘Ž‘’ŽŸˆŸ ‡€„€ˆŸ TTSPC$ = 10000 ;€‡Ÿ„ ‘…–ˆ€‹œŽƒŽ …†ˆŒ€ ‚›‚Ž„€ START: ;ƒ‹€‚€Ÿ Žƒ€ŒŒ€ BIS #TTSPC$,@#JSW ;“‘’€Ž‚ˆ’œ 12 €‡Ÿ„ ‚ JSW ; . ; . CALL GETQUE ;‚›‡Ž‚ Ž„Žƒ€ŒŒ› BCC 1$ .PRINT #NOELEM BIC #TTSPC$,@#JSW .EXIT 1$: NOP ;Ž„Ž‹†…ˆ… ƒ‹€‚Ž‰ NOP ;Žƒ€ŒŒ› .PRINT #GOT1 2$: .TTINR BCS 2$ BR START GETQUE: MOV #QHEAD,R4 TST @R4 BEQ 11$ .MFPS ;‘Ž•€ˆ’œ ‡€—…ˆ… ‚ ‘’…Š… .MTPS #340 ;“‘’€Ž‚ˆ’œ ˆŽˆ’…’ = 7 MOV @R4,R5 ;“Š€‡€’…‹œ € ‘‹…„“ž™ˆ‰ ;‹…Œ…’ MOV @R5,@R4 .MTPS ;‚Ž‘‘’€Ž‚ˆ’œ €‡Ÿ„› ;ˆŽˆ’…’€ TST (PC)+ 11$: SEC RETURN QHEAD: .WORD Q1 Q1: .WORD Q2,0,0 Q2: .WORD Q3,0,0 Q3: .WORD 0,0,0 NOELEM: .ASCIZ /…’ ‚ €‹ˆ—ˆˆ ‹…Œ…’€ Ž—……„ˆ/ GOT1: .ASCII /…‘’œ ‘‚ށބ›‰ ‹…Œ…’ - €†Œˆ’… ‹ž“ž / .ASCIZ /Š‹€‚ˆ˜“ „‹Ÿ Ž„Ž‹†…ˆŸ/ .EVEN .END START 5.3.25. .MRKT ‡€Ž‘ .MRKT ‹€ˆ“…’ ‡€“‘Š Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ —……‡ Ž…„…‹…›‰ ˆ’…‚€‹ ‚…Œ…ˆ. ‡€Ž‘ .MRKT ˆ‘Ž‹œ‡“ž’ ‹…Œ…’› Ž—……„ˆ ˆ‡ ‘ˆ‘Š€ ‹…Œ…’Ž‚ Ž—……„ˆ ‚‚Ž„€-‚›‚Ž„€. ‹…Œ…’ Ž—……„ˆ ˆ‘Ž‹œ‡“…’- ‘Ÿ „Ž ’…• Ž, ŽŠ€ … “„…’ ‚‚…„…€ Ž„Žƒ€ŒŒ€ ‡€‚…˜…- ˆŸ ˆ‹ˆ … “„…’ ‚›Ž‹… ‡€Ž‘ .CMKT. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .MRKT AREA,TIME,CRTN,ID ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 4-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; TIME - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚, ‘Ž„…†€™…ƒŽ ‚…‹ˆ—ˆ“ ˆ’…‚€‹€ ‚…Œ…ˆ; CRTN - ’Ž—Š€ ‚•Ž„€ Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ; ID - —ˆ‘‹Ž, ˆ‘Ž‹œ‡“…ŒŽ… „‹Ÿ ˆ„…’ˆ”ˆŠ€–ˆˆ ‡€Ž‘€ ‘ Žƒ€ŒŒŽ‰ ‡€‚…˜…ˆŸ ˆ ‡€Ž‘€Œˆ .CMKT; ’Ž —ˆ‘‹Ž … „Ž‹†- Ž ›’œ ‚ …„…‹€• Ž’ 177400 „Ž 177777; …‘ŠŽ‹œŠŽ ‡€Ž‘Ž‚ ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚:‰ AREA: .BYTE 0,22 .WORD TIME .WORD CRTN .WORD ID ˆŒ…. .TITLE TREAD.MAC AREA: .BYTE 0,22 .WORD TIME .WORD CRTN .WORD ID ˆŒ…. .TITLE TREAD.MAC ;‡ R0 BEQ 1$ .PRINT 1$: CLR TBYT .MRKT #TAREA,#TIME,#TOUT,#1;‡€“‘’ˆ’œ Ž„Žƒ€ŒŒ“ ;‡€‚…˜…ˆŸ Ž ˆ‘’…—…ˆˆ ;‚…Œ…ˆ BIS #TCBIT$,@#JSW CLRB @R1 TTIN: .TWAIT #AREA .TTINR BIT #1,(PC)+ TBYT: .WORD 0 BNE 2$ BCS TTIN MOVB R0,(R1)+ .CMKT #TAREA,#0 ;Ž’Œ…ˆ’œ .MRKT 2$: BIS #TTSPC$,@#JSW 3$: .TTINR MOVB R0,(R1)+ BCC 3$ CLRB -(R1) BIC #TCBIT$!TTSPC$,@#JSW ROR TBYT RETURN TOUT: INC TBYT RETURN XQUE: .BLKW 10. AREA: .WORD 0,WAIT TAREA: .BLKW 4 TIME: .WORD 0,500. WAIT: .WORD 0,1 LINE: .ASCII /ށ€Ž’Š€ „€›• / BUFF: .BLKB 81. PROMT: .ASCIZ /‚‚…„ˆ’… „€›… : / <200> TIMOUT: .ASCIZ /‚…ŒŸ € ‚‚Ž„ „€›• ˆ‘’…Š‹Ž/ .END START 5.3.26. .MTATCH ‡€Ž‘ .MTATCH ‹Žƒˆ—…‘Šˆ ‘‚Ÿ‡›‚€…’ ‡€„€ˆ… ‘ Ž…„…- ‹…›Œ ’…Œˆ€‹ŽŒ. ’Ž’ ‡€Ž‘ „Ž‹†… ›’œ ‚›Ž‹… ……„ ’…Œ ЀР‡€„€ˆ… €—…’ ˆ‘Ž‹œ‡Ž‚€’œ ’…Œˆ€‹ ‚ Œ“‹œ’ˆ’…Œˆ- €‹œŽŒ …†ˆŒ…. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .MTATCH AREA,ADDR,UNIT ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ ‘‹Ž‚€ €‘ˆ•ŽŽƒŽ ‘Ž‘’ŽŸˆŸ ’…Œˆ€‹€ ˆ‹ˆ 0; UNIT - ‹Žƒˆ—…‘Šˆ‰ ŽŒ… ’…Œˆ€‹€. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 5,37 .WORD ADDR .BYTE UNIT,0 5.3.27. .MTDTCH ‡€Ž‘ .MTDTCH …›‚€…’ ‹Žƒˆ—…‘Š“ž ‘‚Ÿ‡œ “Š€‡€ŽƒŽ ’…Œˆ€‹€ ‘ ‡€„€ˆ…Œ ˆ „…‹€…’ …ƒŽ „Ž‘’“›Œ „‹Ÿ „“ƒˆ• ‡€„€ˆ‰. Ž›’Š€ …‚€’œ ‘‚Ÿ‡œ ‘ ’…Œˆ€‹ŽŒ, ‹Žƒˆ—…‘Šˆ ‘‚Ÿ‡€›Œ ‘ „“ƒˆŒ ‡€„€ˆ…Œ, ˆ‚Ž„ˆ’ Š Ž˜ˆŠ…. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .MTDTCH AREA,UNIT ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; UNIT - ‹Žƒˆ—…‘Šˆ‰ ŽŒ… ’…Œˆ€‹€. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 6,37 .WORD <… ˆ‘Ž‹œ‡“…’‘Ÿ> .BYTE UNIT 5.3.28. .MTSET ‡€Ž‘ .MTSET Ž‡‚Ž‹Ÿ…’ “‘’€Ž‚ˆ’œ •€€Š’…ˆ‘’ˆŠˆ ’…- Œˆ€‹€. Ž ’€Š†… Ž…„…‹Ÿ…’ …†ˆŒ ‚‚Ž„€-‚›‚Ž„€ „‹Ÿ “Š€‡€- ŽƒŽ ’…Œˆ€‹€. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .MTSET AREA,ADDR,UNIT ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ ‹ŽŠ€ ˆ‡ 4-• ‘‹Ž‚ ‘Ž‘’ŽŸˆŸ “Š€‡€ŽƒŽ ’…Œˆ€‹€; UNIT - ‹Žƒˆ—…‘Šˆ‰ ŽŒ… ’…Œˆ€‹€. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 0,37 .WORD ADDR .BYTE UNIT € ˆ‘. 6 ŽŠ€‡€€ ‘’“Š’“€ ‹ŽŠ€ ‘Ž‘’ŽŸˆŸ ’…Œˆ€- ‹€, ŠŽ’ސ›‰ ސƒ€ˆ‡“…’‘Ÿ Ž‹œ‡Ž‚€’…‹…Œ. Žˆ‘€ˆ… ‘‹Ž‚ ‹ŽŠ€ ‘Ž‘’ŽŸˆŸ ˆ‚…„…Ž ‚ ’€‹.15. ------------------------------- ! M.TSTS ! !-----------------------------! ! M.TST2 ! !-----------------------------! ! M.TST3 ! !-----------------------------! ! M.TSTW ! M.TWID ! ------------------------------- ˆ‘. 6. ‘’“Š’“€ ‹ŽŠ€ ‘Ž‘’ŽŸˆŸ ’…Œˆ€‹€ ’€‹ˆ–€ 15 ---------------------------------------------------------- ! ށއ€—…ˆ… ! Žˆ‘€ˆ… ! !--------------------------------------------------------! ! M.TSTS ! ‘‹Ž‚Ž ŠŽ”ˆƒ“€–ˆˆ ’…Œˆ€‹€ ! ! M.TSTS2 ! …‡…‚Ž… ! ƒ‡ ! ! ! š ๊๊๊๊๊๊๊๊๊๊๊๊๊๊๊๊ ! !--------------------------------------------------------! ! M.TSTS ! ‘‹Ž‚Ž ŠŽ”ˆƒ“€–ˆˆ ’…Œˆ€‹€ ! Ž”ˆƒ“€–ˆˆ ’…Œˆ ๅM.TS๊S๊๊๊๊๊๊๊๊๊›‹.16/๊๊ ’€‹. 16 ----------------------------------------------------------- ! €‡Ÿ„ ! ‘Ž„…†€ˆ… ! ‡€—…ˆ… ! !---------------------------------------------------------- ! M.TSTS ! ‘‹Ž‚Ž ŠŽ”ˆƒ“€–ˆˆ ’…Œˆ€‹€ ! ! 0 ! 1 ! €€€’€Ÿ ’€“‹Ÿ–ˆŸ ! ! 1 ! 2 ! ‚›Ž‹…ˆ… ‚އ‚€’€ Š€…’Šˆ ˆ ! ! ! ! ……‚Ž„€ ‘’ŽŠˆ, …‘‹ˆ „…‰‘’‚ˆ- ! ! ! ! ’…‹œ€Ÿ „‹ˆ€ ‘’ŽŠˆ Ž‹œ˜… ! ! ! ! “‘’€Ž‚‹…Ž‰ ‚ M.TWID ! ! 2 ! 4 ! €€€’›‰ ……‚Ž„ ”ސŒ€’€ ! ! 3 ! 10 ! ‚›Ž‹…ˆ… ŠŽŒ€„ ‘“/F ˆ ‘“/‚ ! ! 4,5 ! - ! …‡…‚›… ! ! 6 ! 100 ! ‡€…™…ˆ… …†ˆŒ€ ކˆ„€ˆŸ „‹Ÿ ! ! ! ! ’…Œˆ€‹€ (Š‚ˆ‚€‹…’… 6-ŽŒ“ ! ! ! ! €‡Ÿ„“ ‚ ‘‘‡); €‡Ÿ„ TCBIT ! ! 7-11 ! - ! …‡…‚›… ! ! 12 ! 10000 ! …†ˆŒ Ž‘ˆŒ‚Ž‹œŽƒŽ ‚‚Ž„€ (Š‚ˆ-! ! ! ! ‚€‹…’… €‡Ÿ„“ ‘…–ˆ€‹œŽƒŽ ! ! ! ! …†ˆŒ€ ‚ ‘‘‡); €‡Ÿ„ TTSPC ! ! 13 ! - ! …‡…‚›‰ ! ! 14 ! 40000 ! ‡€…™…ˆ… …ށ€‡Ž‚€ˆŸ ŠŽ„Ž‚ ! ! ! ! ‘ˆŒ‚ދނ ˆ†…ƒŽ …ƒˆ‘’€ ‚ ŠŽ- ! ! ! ! „› ‘ˆŒ‚ދނ ‚…•…ƒŽ …ƒˆ‘’€ ! ----------------------------------------------------------- ‚ ’€‹.17 „€› ‡€—…ˆŸ €‡Ÿ„Ž‚ „‹Ÿ M.TSTW. ’€‹ˆ–€ 17 ----------------------------------------------------------- ! €‡Ÿ„ ! ‘Ž„…†ˆŒŽ… ! ‡€—…ˆ… ! !---------------------------------------------------------- ! 10 ! 2000 ! ’…Œˆ€‹ ˆ‘Ž‹œ‡“…’‘Ÿ Ž‘Ž‚›Œ ! ! ! ! ˆ ”ŽŽ‚›Œ ‡€„€ˆŸŒˆ ! ! 11 ! 4000 ! ’…Œˆ€‹ … ‚Š‹ž—… ! ! 14 ! 40000 ! „‚€†„› Ž„€€ ŠŽŒ€„€ ‘“/‘ ! ! 15 ! 100000 ! ‘ˆ‘’…Œ›‰ ’…Œˆ€‹ ! ! ----------------------------------------------------------- 5.3.29. .MTGET ‡€Ž‘ .MTGET Ž‡‚Ž‹Ÿ…’ Ž‹“—ˆ’œ ˆ”ސŒ€–ˆž Ž ๊ˆ็, Žˆ‘€“ž ----------------------------------------------------------- ! Ž’Ž‘ˆ’…‹œ›‰ ! $ ! ! ŽŒ… €‰’€ ‚ ! ‘Ž„…†ˆŒŽ… ! 0 ! ‘‹Ž‚Ž ŠŽ”ˆƒ“€–ˆˆ ’…Œˆ€‹€. ‡€—…ˆŸ! ! ! €‡Ÿ„Ž‚ ’… †…, —’Ž ˆ ‚ .MTSET ! ! 2-4 ! …‡…‚›… ! ! 6 ! „‹ˆ€ ‘’ŽŠˆ ! ! 7 ! ’…Š“™…… Ž‹Ž†…ˆ… ‘’ŽŠˆ ! ----------------------------------------------------------- ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .MTGET AREA,ADDR,UNIT ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ ‹ŽŠ€ ‘Ž‘’ŽŸˆŸ ’…Œˆ€‹€ ˆ‡ 4-• ‘‹Ž‚; UNIT - ‹Žƒˆ—…‘Šˆ‰ ŽŒ… ’…Œˆ€‹€, ˆ”ސŒ€–ˆž Ž ‘Ž‘’ŽŸ- ˆˆ ŠŽ’ŽŽƒŽ ’…“…’‘Ÿ Ž‹“—ˆ’œ. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 1,37 .WORD ADDR .BYTE UNIT 5.3.30. .MTSTAT ‡€Ž‘ .MTSTAT Ž‡‚Ž‹Ÿ…’ Ž‹“—ˆ’œ ˆ”ސŒ€–ˆž Ž ‘Ž‘’ŽŸˆˆ Œ“‹œ’ˆ’…Œˆ€‹œŽ‰ ‘ˆ‘’…Œ›. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .MTSTAT AREA,ADDR ƒ„… AREA - €„…‘ 3-• ‘‹Ž‚ŽƒŽ ‹ŽŠ€ €ƒ“Œ…’Ž‚; ADDR - €„…‘ 8-Œˆ ‘‹Ž‚ŽƒŽ ‹ŽŠ€, ‘Ž„…†€™…ƒŽ ˆ”ސŒ€–ˆž Ž ‘Ž‘’ŽŸˆˆ Œ“‹œ’ˆ’…Œˆ€‹œŽ‰ ‘ˆ‘’…Œ› (‘Œ. ‡€Ž‘ .MTGET). ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 10,37 .WORD ADDR .WORD 0 5.3.31. .MTRCTD ‡€Ž‘ .MTRCTD Ÿ‚‹Ÿ…’‘Ÿ Œ“‹œ’ˆ’…Œˆ€‹œŽ‰ ”ސŒŽ‰ ‡€Ž- ‘€ .RCTRLD. Ž Ž’Œ…Ÿ…’ ŠŽŒ€„“ ‘“/D ˆ €‡…˜€…’ ‚›‚Ž„ € “Š€‡€›‰ ’…Œˆ€‹. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .MTRCTD AREA,UNIT ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; UNIT - ‹Žƒˆ—…‘Šˆ‰ ŽŒ… ’…Œˆ€‹€. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 4,37 .WORD <… ˆ‘Ž‹œ‡“…’‘Ÿ> .BYTE UNIT 5.3.32. .MWAIT (…†ˆŒ FB,XM) ‡€Ž‘ .MWAIT ……‚Ž„ˆ’ Žƒ€ŒŒ“ ‚ ‘Ž‘’ŽŸˆ… ކˆ„€ˆŸ „Ž ’…• Ž, ŽŠ€ ‚‘… ‘ŽŽ™…ˆŸ … “„“’ ……„€› ˆ‹ˆ Ž‹“—…- ›. ‘ ŽŒŽ™œž ’ŽƒŽ ‡€Ž‘€ Ž‹œ‡Ž‚€’…‹œ ŒŽ†…’ “„Ž‘’Ž‚…ˆ’œ‘Ÿ ‚ €‚ˆ‹œŽ‘’ˆ ‚›Ž‹…ˆŸ Ž…€–ˆˆ. ‡€Ž‘ .MWAIT ˆ‘Ž‹œ‡“…’- ‘Ÿ ‚ Ž‘Ž‚ŽŒ ‘Ž‚Œ…‘’Ž ‘ ‡€Ž‘€Œˆ .RCVD ˆ‹ˆ .SDAT, ŠŽ’ސ›… … …„“‘Œ€’ˆ‚€ž’ ‘…–ˆ€‹œ›• „…‰‘’‚ˆ‰ Ž‘‹… Ž‹“—…ˆŸ ˆ‹ˆ ……„€—ˆ ‘ŽŽ™…ˆ‰ („€›•). ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .MWAIT ˆŒ…. ;‚ ˆ‚…„…ŽŒ ˆŒ…… ˆ‘Ž‹œ‡“…’‘Ÿ ‡€Ž‘ .MWAIT. ;ˆŒ… ‘Ž‘’Žˆ’ ˆ‡ „‚“• Žƒ€ŒŒ: ”ŽŽ‚Ž‰, ŠŽ’ސ€Ÿ ;Ž‘›‹€…’ ‘ŽŽ™…ˆ…, ˆ Ž‘Ž‚Ž‰ Žƒ€ŒŒ›, ŠŽ’ސޅ ;’Ž ‘ŽŽ™…ˆ… Ž‹“—€…’. .TITLE MWAITF.MAC ;Ž‘Ž‚€Ÿ Žƒ€ŒŒ€ ... .MCALL .MWAIT,.RCVD,.PRINT,.EXIT START: .RCVD #AREA,#MBUFF,#40. ;Ž‹“—ˆ’œ ‘ŽŽ™…ˆ… ; . ; . ; . .PRINT #FGJOB ; . ; . ; . .MWAIT ;ކˆ„€’œ ˆ…Œ€ TST MBUFF+2 ;‘ŽŽ™…ˆŸ …’? BEQ FEXIT ;…‘‹ˆ …’ - ‚›•Ž„ ;ˆ‡ Žƒ€ŒŒ› .PRINT #FMSG .PRINT #MBUFF+2;…—€’œ Ž‹“—…ŽƒŽ ;‘ŽŽ™…ˆŸ BR START FEXIT: .EXIT AREA: .BLKW 5 MBUFF: .BLKW 41. .WORD 0 FGJOB: .ASCIZ /Ž‘Ž‚€Ÿ Žƒ€ŒŒ€ ƒŽ’Ž‚€ Š ˆ…Œ“ ‘ŽŽ™…ˆ‰/ FMSG: .ASCIZ /……„€Ž ‘ŽŽ™…ˆ…:/ .EVEN .END START ;”ŽŽ‚€Ÿ Žƒ€ŒŒ€ ... .TITLE MWAITB.MAC .MCALL .MWAIT,.SDAT,.GTLIN,.PRINT,.EXIT START: CLR BUFF .GTLIN #BUFF,#PROMPT ;‚‚…‘’ˆ ‘ŽŽ™…ˆ… .SDAT #AREA,#BUFF,#40.;……„€’œ ‘ŽŽ™…ˆ… BCS 1$ .MWAIT TST BUFF BNE START .EXIT 1$: .PRINT #NOFG .EXIT AREA: .BLKW 5 BUFF: .BLKW 40. PROMPT: .ASCII /‚‚…„ˆ’… ‘ŽŽ™…ˆ… „‹Ÿ Ž‘Ž‚Ž‰ Žƒ€ŒŒ›/ .BYTE 15,12,200 NOFG: .ASCIZ /Ž‘Ž‚Ž‰ Žƒ€ŒŒ› …’/ .EVEN .END START 5.3.33. .PEEK,.POKE ‡€Ž‘ .PEEK ……„€…’ ‚ …ƒˆ‘’ R0 ‘Ž„…†ˆŒŽ… “Š€‡€Ž‰ Ÿ—…‰Šˆ €ŒŸ’ˆ (ˆ†… 28Š ‘‹Ž‚) ˆ‹ˆ ‘Ž„…†ˆŒŽ… Ÿ—…‰Šˆ ‘’€ˆ–› ‚‚Ž„€ - ‚›‚Ž„€. ‡€Ž‘ .POKE ˆ‡Œ…Ÿ…’ ‘Ž„…†ˆŒŽ… Ÿ—…‰Šˆ €ŒŸ’ˆ. ˆ ’ŽŒ ‘’€Ž… ‘Ž„…†ˆŒŽ… ‡€ˆ‘›‚€…’‘Ÿ ‚ …ƒˆ‘’ R0. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .PEEK AREA,ADDR ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ Ÿ—…‰Šˆ €ŒŸ’ˆ. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 1,34 .WORD ADDR ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .POKE AREA,ADDR,VALUE ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ Ÿ—…‰Šˆ €ŒŸ’ˆ; VALUE - Ž‚Ž… ‘Ž„…†ˆŒŽ… Ÿ—…‰Šˆ €ŒŸ’ˆ. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 3,34 .WORD ADDR .WORD VALUE ˆŒ…. ;‚ „€ŽŒ ˆŒ…… ‡€Ž‘› .PEEK,.POKE ˆ‘Ž‹œ‡“ž’‘Ÿ ;„‹Ÿ —’…ˆŸ ˆ “‘’€Ž‚Šˆ €‡Œ…€ ”€‰‹€, ޒА›’ŽƒŽ ;€…… Ž ‡€Ž‘“ .ENTER. .MCALL .PEEK,.POKE,.EXIT RMON = 54 MAXBLK = 314 START: .PEEK #EMTBLK,#RMON ;“‘’€Ž‚ˆ’œ €„…‘ €—€‹€ ;RMON ADD #MAXBLK,R0 ;Ž‹“—ˆ’œ €‡Œ… ”€‰‹€ MOV R0,R1 .POKE #EMTBLK,R1,#NEWSIZ ;“‘’€Ž‚ˆ’œ Ž‚›‰ ;€‡Œ… ”€‰‹€ MOV R0,OLDSIZ .EXIT EMTBLK: .BLKW 3 NEWSIZ: .WORD 100. OLDSIZ: .WORD 0 ;‘’€›‰ €‡Œ… ”€‰‹€ .END START 5.3.34. .PROTECT,.UNPROTECT (…†ˆŒ FB,XM) ‡€Ž‘ .PROTECT ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ Ž‹“—…ˆŸ ˆ‘Š‹ž—ˆ’…‹œ- ŽƒŽ €‚€ Ž‹œ‡Ž‚€ˆŸ ‚…Š’ŽŽŒ …›‚€ˆŸ ‚ „ˆ€Ž‡Ž… 0-476 ˆ “‘’€€‚‹ˆ‚€…’ ‡€™ˆ’“ ‚…Вސ€. …‘‹ˆ ‡€Ž‘ .PROTECT ‡€‚…˜… “‘…˜Ž, ’Ž ’Ž “Š€‡›‚€…’ € ’Ž, —’Ž Ÿ—…‰Šˆ ‚…Вސ€ … ˆ‘Ž‹œ‡“ž’‘Ÿ „“ƒˆŒ ‡€„€ˆ…Œ ˆ‹ˆ ŒŽˆ’ŽŽŒ ˆ ‚ ’ŽŒ ‘‹“—€… ’…Š“™…… ‡€„€ˆ… ŒŽ†…’ ‡€ˆ‘€’œ €„…‘ Ž„Žƒ€ŒŒ› ށ€Ž’Šˆ …›‚€ˆŸ ˆ ‡€—…ˆŸ “Ž‚Ÿ ˆŽˆ’…’€ ‚ ’ˆ Ÿ—…‰Šˆ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .PROTECT AREA,ADDR ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ ‚…Вސ€, ŠŽ’ސ›‰ “„…’ ˆ‘Ž‹œ‡Ž‚€’œ‘Ÿ „€- ›Œ ‡€„€ˆ…Œ; ADDR „Ž‹†… ›’œ А€’… —…’›…Œ ˆ Œ…œ˜… 476. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 0,31 .WORD ADDR ‡€Ž‘ .UNPROTECT Ž’Œ…Ÿ…’ …‡“‹œ’€’ „…‰‘’‚ˆŸ ‡€Ž‘€ .PROTECT. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .UNPROTECT AREA,ADDR ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ ‚…Вސ€, ŠŽ’ސ›‰ Ž‘‚ށކ„€…’‘Ÿ Ž’ ‡€™ˆ’›. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 1,31 .WORD ADDR ˆŒ…. .TITLE PROTECT.MAC ;‚ „€ŽŒ ˆŒ…… ŽŠ€‡€Ž, ЀР“‘’€Ž‚ˆ’œ ‡€™ˆ’“ ‚…Вސ€ ;“‘’Ž‰‘’‚€, € ‡€’…Œ Ž’Œ…ˆ’œ ‡€™ˆ’“ ‚…Вސ€. .MCALL .PROTECT,.UNPROTECT,.PRINT,.EXIT START: .PROTECT #AREA,#300 BCS 1$ .UNPROTECT #AREA,#300 .EXIT 1$: .PRINT #NOVEC .EXIT AREA: .BLKW 3 NOVEC: .ASCIZ /‚…Вސ “†… ‡€™ˆ™… !/ .END START 5.3.35. .QSET ‚‘… Ž…€–ˆˆ ‚‚Ž„€-‚›‚Ž„€ ‚ ‘ˆ‘’…Œ… ”ބޑ Ž‘“™…‘’‚‹Ÿž’‘Ÿ —……‡ –…’€‹ˆ‡Ž‚€“ž ‘ˆ‘’…Œ“ “€‚‹…ˆŸ Ž—……„œž ‡€Ž‘Ž‚. Š€†„›‰ ‡€Ž‘ …‘ˆ•ŽŽ‰ ……„€—ˆ (€ˆŒ…, .WRITE) ’…- “…’ „‹Ÿ ‘‚Ž…ƒŽ ‚›Ž‹…ˆŸ €‹ˆ—ˆ… ‹…Œ…’€ Ž—……„ˆ. …‘‹ˆ „‹Ÿ Ž—……„ŽƒŽ ‡€Ž‘€ ‚‚Ž„€-‚›‚Ž„€ …’ ‘‚ށބŽƒŽ ‹…Œ…’€ Ž—…- …„ˆ, ’Ž ‚›Ž‹…ˆ… Žƒ€ŒŒ› Ž‹œ‡Ž‚€’…‹Ÿ “„…’ ‹ŽŠˆŽ‚€Ž „Ž ’…• Ž, ŽŠ€ ‹…Œ…’ Ž—……„ˆ … Ž‘‚ށބˆ’‘Ÿ. ‚ …†ˆŒ… FB, Ž„Ž ˆ‡ ‡€„€ˆ‰ ŒŽ†…’ ‚›Ž‹Ÿ’œ‘Ÿ, ŽŠ€ „“ƒŽ… ‡€„€ˆ… ކˆ- „€…’ ‹…Œ…’ Ž—……„ˆ. ‡€Ž‘ .QSET ˆ‘Ž‹œ‡“…’‘Ÿ „‹Ÿ ’ŽƒŽ, —’ށ› “‚…‹ˆ—ˆ’œ —ˆ‘- ‹Ž ‹…Œ…’Ž‚ Ž—……„ˆ ‚‚Ž„€-‚›‚Ž„€. ށ™…… €‚ˆ‹Ž ‡€Š‹ž—€…’‘Ÿ ‚ ’ŽŒ, —’ށ› ‚ Š€†„މ Žƒ€ŒŒ… ŠŽ‹ˆ—…‘’‚Ž ‹…Œ…’Ž‚ Ž—……„ˆ ›‹Ž € …„ˆˆ–“ Ž‹œ˜…, —…Œ ށ™…… ŠŽ‹ˆ—…‘’‚Ž ‡€Ž‘Ž‚ ‚‚Ž„€- ‚›‚Ž„€, ŠŽ’ސ›… “„“’ ‚›Ž‹Ÿ’œ‘Ÿ Ž„Ž‚…Œ…Ž € €‡‹ˆ—›• Š€€‹€•. ‡€Ž‘› .MRKT,.TWAIT ˆ .SDAT ’€Š†… ˆ‘Ž‹œ‡“ž’ ‹…Œ…’› Ž—……„ˆ ˆ „Ž‹†› ˆˆŒ€’œ‘Ÿ ‚Ž ‚ˆŒ€ˆ… ˆ Ž…„…‹…ˆˆ ŠŽ‹ˆ—…‘’‚€ ‹…Œ…’Ž‚ Ž—……„ˆ „‹Ÿ Žƒ€ŒŒ›. Š€†„›‰ €‡, ŠŽƒ„€ ‚›Ž‹Ÿ…’‘Ÿ .QSET, ……›‚€Ÿ ށ‹€‘’œ €ŒŸ’ˆ, ŠŽ’ސ€Ÿ Ž’‚Ž- „ˆ’‘Ÿ Ž„ ‹…Œ…’› Ž—……„ˆ „…‹ˆ’‘Ÿ € ‘…ƒŒ…’›, ‘Ž„…†€™ˆ… Ž 7 ‘‹Ž‚ (Ž 10 ‘‹Ž‚ „‹Ÿ ŒŽˆ’ސ€ XM) ˆ ‘‚Ÿ‡›‚€…’‘Ÿ ‘ “†… ‘“™…‘’‚“ž™…‰ Ž—……„œž ‚‚Ž„€-‚›‚Ž„€ „‹Ÿ ’ŽƒŽ ‡€„€ˆŸ. ‡€Ž‘ .QSET ŒŽ†…’ ›’œ ˆ‘Ž‹œ‡Ž‚€ …Ž„ŽŠ€’Ž ‚ Žƒ- €ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ. ˆ ’ŽŒ, ށ‹€‘’ˆ €ŒŸ’ˆ „‹Ÿ Ž‚›• ‹…- Œ…’Ž‚ Ž—……„ˆ, Ž’‚Ž„ˆŒ›… €‡‹ˆ—›Œˆ .QSET, …ށŸ‡€’…‹œŽ „Ž‹†› ›’œ ‘ŽˆŠ€‘€ž™ˆŒˆ‘Ÿ. ށ‹€‘’œ €ŒŸ’ˆ „‹Ÿ „ŽŽ‹ˆ’…‹œ- ›• ‹…Œ…’Ž‚ Ž—……„ˆ ‚‚Ž„€-‚›‚Ž„€ „Ž‹†€ ›’œ Ž…„…‹…€ ‚“’ˆ Žƒ€ŒŒ› Ž‹œ‡Ž‚€’…‹Ÿ. ‡€Ž‘‚ .SRESET ˆ .HRESET €“‹ˆ“ž’ …‡“‹œ’€’ „…‰‘’‚ˆŸ .QSET. …ށ•Ž„ˆŒŽ ‘ށ‹ž„€’œ Ž‘’ސކŽ‘’œ ˆ €‘…„…‹…ˆˆ €ŒŸ’ˆ „‹Ÿ ‹…Œ…’Ž‚ Ž—……„ˆ. Ž—……„œ ‚‚Ž„€-‚›‚Ž„€ ˆ‡Œ…Ÿ…’‘Ÿ ŒŽˆ’ŽŽŒ €‘ˆ•ŽŽ. …‘‹ˆ ށ‹€‘’œ, Ž’‚…„…€Ÿ Ž‹œ‡Ž‚€’…‹…Œ „‹Ÿ ‹…Œ…’Ž‚ Ž—……„ˆ ŽŠ€‡€‹€‘œ …„Ž‘’€’Ž—Ž‰, ’Ž ˆ‚…„…’ Š €“˜…ˆž ‚›Ž‹…ˆŸ Žƒ€ŒŒ›. ‹…Œ…’› „‹Ÿ Ž—……„ˆ ‚‚Ž„€- ‚›‚Ž„€ …‹œ‡Ÿ €‘Ž‹€ƒ€’œ ‚ Ž‚…‹…‰Ž‰ ށ‹€‘’ˆ, € ’€Š†… ‚ ށ‹€‘’ˆ €ŒŸ’ˆ, …„€‡€—…Ž‰ „‹Ÿ ‘‚Žˆƒ€ USR. ‘‹…„“ž™ˆ… ‡€Ž‘› ’…“ž’ „‹Ÿ ‘‚Ž…ƒŽ ‚›Ž‹…ˆŸ ‹…Œ…’ Ž—……„ˆ: .TWAIT .READW .WRITE .SDAT .SDATW .MRKT .RCVD .WRITC .READC .SDATC .READ .RCVDC .WRITW .RCVDW ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .QSET ADDR,LEN ƒ„… ADDR - €„…‘ €—€‹€ ށ‹€‘’ˆ „‹Ÿ Ž‚›• ‹…Œ…’Ž‚ Ž—……„ˆ ‚‚Ž„€-‚›‚Ž„€; LEN - —ˆ‘‹Ž Ž‚›• ‹…Œ…’Ž‚ Ž—……„ˆ ‚‚Ž„€-‚›‚Ž„€. ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .QSET ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .TWAIT. 5.3.36. .RCTRLD ‡€Ž‘ .RCTRLD ށ…‘…—ˆ‚€…’ ƒŽ’Ž‚Ž‘’œ ‘ˆ‘’…ŒŽƒŽ ’…Œˆ- €‹€ Š …—€’ˆ. ŠŽŒ€„€ ‘“/D ‡€…™€…’ ‚›‚Ž„ € ’…Œˆ€‹ „Ž ’…• Ž, ŽŠ€ … “„…’ Ž‚’ސŽ Ž„€€ ŠŽŒ€„€ ‘“/D ˆ‹ˆ ‚ Žƒ€ŒŒ… … “„…’ ‚›Ž‹… ‡€Ž‘ .RCTRLD. ’.…. Žƒ€ŒŒ€, ‚ ŠŽ’ސމ …„“‘ŒŽ’…€ …—€’œ ‘ŽŽ™…ˆ‰ € ’…Œˆ€‹…, „Ž‹†€ …„“‘Œ€’ˆ‚€’œ ‚އŒŽ†Ž‘’œ Ž„€—ˆ Ž‹œ‡Ž‚€’…‹…Œ ŠŽŒ€„› ‘“/D. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .RCTRLD ˆŒ…. .TITLE RCTRLD.MAC .MCALL .RCTRLD,.CSIGEN,.EXIT START: .RCTRLD .CSIGEN #DSPACE,#DEXT,#0 ; . ; . ; . JMP START DEXT: .WORD 0,0,0,0 DSPACE = . .END START 5.3.37. .SPND,.RSUM (…†ˆŒ FB,XM) ‡€Ž‘ .SPND ‚…Œ…Ž ˆŽ‘’€€‚‹ˆ‚€…’ ‚›Ž‹…ˆ… Žƒ- €ŒŒ› Ž‹œ‡Ž‚€’…‹Ÿ ˆ „Ž“‘Š€…’ €Ž’“ ’Ž‹œŠŽ Ž„Žƒ€ŒŒ ‡€‚…˜…ˆŸ („‹Ÿ Ž…€–ˆ‰ ‚‚Ž„€-‚›‚Ž„€ ˆ ‡€Ž‘Ž‚ .MRKT). ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .SPND ‡€Ž‘ .RSUM ˆ‡ Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ ‚Ž‚œ ……„€…’ “€‚‹…ˆ… Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .RSUM ˆŒ…—€ˆŸ: 1. ŒŽˆ’ސ ‘Ž„…†ˆ’ ’€Š €‡›‚€…Œ›‰ ‘—…’—ˆŠ ˆŽ‘’€Ž‚Šˆ „‹Ÿ Š€†„ŽƒŽ ‡€„€ˆŸ. ’Ž’ ‘—…’—ˆŠ “Œ…œ˜€…’‘Ÿ Ž .SPND ˆ €€™ˆ‚€…’‘Ÿ Ž .RSUM. ‡€„€ˆ… “„…’ ”€Š’ˆ—…‘Šˆ ˆŽ‘’€Ž‚- ‹…›Œ, …‘‹ˆ ‘—…’—ˆŠ “„…’ ‘Ž„…†€’œ Ž’ˆ–€’…‹œŽ… ‡€—…ˆ…. Ž’ŽŒ“, …‘‹ˆ .RSUM “„…’ ‚›Ž‹Ÿ’œ‘Ÿ ……„ .SPND, Ž‘‹…„ˆ‰ ‡€Ž‘ “„…’ ˆƒŽˆŽ‚€’œ‘Ÿ. 2. Žƒ€ŒŒ€ „Ž‹†€ ˆ‘Ž‹œ‡Ž‚€’œ €‚Ž… ŠŽ‹ˆ—…‘’‚Ž .SPND ˆ .RSUM. 3. ‡€Ž‘ .SPND ˆ‡ Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ “Œ…œ˜€…’ ‘—…’—ˆŠ ˆŽ‘’€Ž‚Šˆ, Ž … ˆŽ‘’€€‚‹ˆ‚€…’ ‚›Ž‹…ˆ… Žƒ- €ŒŒ›. …‘‹ˆ ‚ Ž„Žƒ€ŒŒ… ‡€‚…˜…ˆŸ ‚›Ž‹Ÿ…’‘Ÿ .SPND, ‚›Ž‹…ˆ… Žƒ€ŒŒ› Ž„Ž‹†€…’‘Ÿ „Ž ’…• Ž ŽŠ€ Ž€ ’€Š†… … ‚›Ž‹ˆ’ .SPND, Ž‘‹… —…ƒŽ ‚›Ž‹…ˆ… Žƒ€ŒŒ› “„…’ ˆŽ‘’€Ž‚‹…Ž ˆ „‹Ÿ ‚އށŽ‚‹…ˆŸ …… €Ž’› Ž’…“…’‘Ÿ “†… „‚€ ‡€Ž‘€ .RSUM. 4. .SPND ˆ .RSUM Ž„ށŽ „“ˆŒ ‡€Ž‘€Œ, ŒŽƒ“’ ›’œ ‚›Ž‹…› ‚ Ž„Žƒ€ŒŒ€• ށ€Ž’Šˆ …›‚€ˆ‰, ŠŽ’ސ›… €ˆ- ‘€› Ž‹œ‡Ž‚€’…‹…Œ, …‘‹ˆ €…… ›‹ˆ ‚›Ž‹…› .INTEN ˆ .SYNCH. ‚‘… ‡€Œ…—€ˆŸ, Ž’Ž‘Ÿ™ˆ…‘Ÿ Š .SPND ˆ .RSUM ˆ‡ Ž„- Žƒ€ŒŒ ‡€‚…˜…ˆŸ, ˆŒ…ž’ ‘ˆ‹“ ˆ „‹Ÿ ’ŽƒŽ ‘‹“—€Ÿ. 5.3.38. .SCCA ‡€Ž‘ .SCCA ‚›Ž‹Ÿ…’ ‘‹…„“ž™ˆ… ”“Š–ˆˆ: - ‹ŽŠˆ“…’ ‚›Ž‹…ˆ… ŠŽŒ€„› ‘“/‘; - ‘ŽŽ™€…’ Ž ’ŽŒ, —’Ž ‘ ’…Œˆ€‹€ ›‹Ž Ž„€Ž „‚… ŠŽŒ€- „› ‘“/‘; Ž ‡€Ž‘“ .SCCA ŠŽŒ€„€ ‘“/‘ ‚Ž‘ˆˆŒ€…’‘Ÿ Žƒ€ŒŒŽ‰ ЀРށ›—€Ÿ “€‚‹Ÿž™€Ÿ ŠŽŒ€„€ …‡ ‘…–ˆ€‹œ›• ”“Š–ˆ‰. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .SCCA AREA,ADDR ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ ‘‹Ž‚€ ‘Ž‘’ŽŸˆŸ ’…Œˆ€‹€. ‘‹Ž‚Ž ‘Ž‘’ŽŸˆŸ ’…Œˆ€‹€ …„€‡€—…Ž „‹Ÿ ”ˆŠ‘ˆŽ‚€- ˆŸ Ž„€—ˆ „‚“• ŠŽŒ€„ ‘“/‘. …‘‹ˆ ‚ …Œ “‘’€Ž‚‹… 15-‰ €‡- Ÿ„, ’Ž ’Ž ‡€—ˆ’, —’Ž ‘ ’…Œˆ€‹€ ›‹ˆ Ž‘‹…„Ž‚€’…‹œŽ Ž„€› „‚… ŠŽŒ€„› ‘“/‘. ’Ž’ €‡Ÿ„ „Ž‹†… Ž—ˆ™€’œ‘Ÿ Žƒ- €ŒŒŽ‰ Ž‹œ‡Ž‚€’…‹Ÿ. …‘‹ˆ €ƒ“Œ…’ ADDR €‚… “‹ž ‚ ‡€Ž‘… .SCCA, ŒŽˆ’ސ ‚Ž‘‘’€€‚‹ˆ‚€…’ ‘ˆ‘’…Œ›… ”“Š–ˆˆ ŠŽŒ€„› ‘“/‘. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 0,35 .WORD ADDR ˆŒ…. .TITLE SCCA.MAC .MCALL .SCCA,.TTYIN,.TTYOUT,.PRINT JSW = 44 ๊๊๊๊๊ CLR (R1) .PRINT #MSG1 1$: TST (R1) BNE 2$ .TTYIN .TTYOUT BV 1$ 2$: .PRINT #MSG2 .SCCA #AREA,#0 CR . SCCA: .BLKW 1 AREA: .BLKW 2 MSG1: .ASCII /ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ ‡€Ž‘€ .SCCA/< ๊๊๊๊๊๊๊๊ CLR (R1) .PRINT #MSG1 1$: TST (R1) BNE 2$ .TTYIN .TTYOUT ˆ‘’…Œ“ž „€’“ ˆ ‚…ŒŸ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .SDTTM AREA,ADDR ƒ„… AREA - €„…‘ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’ ˆ‡ 2-• ‘‹Ž‚; ADDR - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚, ‘Ž„…†€™…ƒŽ Ž‚“ž „€’“ ˆ ‚…ŒŸ. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 0,40 .WORD ADDR …‚Ž… ‘‹Ž‚Ž ’…•‘‹Ž‚ŽƒŽ ‹ŽŠ€ ‘Ž„…†ˆ’ Ž‚“ž „€’“ ‚Ž ‚“’……Œ ”ސŒ€’… (‘Œ. ‡€Ž‘ .DATE). …‘‹ˆ …‚Ž… ‘‹Ž‚Ž ‘Ž„…†ˆ’ -1, ’Ž ŒŽˆ’ސ ˆƒŽˆ“…’ …ƒŽ. ‚’ސޅ ˆ ’…’œ… ‘‹Ž‚€ ‘Ž„…†€’ Ž‚Ž… ‡€—…ˆ… ‚…Œ…ˆ (‘’€˜…ƒŽ ˆ Œ‹€„˜…ƒŽ ŽŸ„Š€ ‘ŽŽ’‚…’‘’‚…Ž). …‘‹ˆ ‚’ސޅ ‘‹Ž‚Ž ‘Ž„…†ˆ’ Ž’ˆ–€’…‹œ“ž ‚…‹ˆ—ˆ“, ’Ž ŒŽˆ’ސ … ˆ‡Œ…Ÿ…’ ‡€—…ˆ… ‚…Œ…ˆ. ˆ‡Œ……ˆŸ ‘ˆ‘’…ŒŽ‰ „€’› ˆ‹ˆ ‚…Œ…ˆ … ‚‹ˆŸ…’ € ‚›Ž‹- …ˆ… ‡€Ž‘Ž‚, ˆ‘Ž‹œ‡“ž™ˆ• ’€‰Œ…. ˆŒ…. .TITLE SDTTM.MAC ;‚ ’ŽŒ ˆŒ…… ˆ‚…„…€ Ž„Žƒ€ŒŒ€ ŠŽ…Š–ˆˆ ;‚…Œ…ˆ (€ 1 —€‘) ‘ “—…’ŽŒ „…А…’ŽƒŽ ‚…Œ…ˆ. .MCALL .SDTTM,.PRINT,.GTIM,.EXIT .GLOBL STD,DALITE STD: COM HR NEG HR+2 DALITE:: .GTIM #AREA,#TIME ;Ž‹“—ˆ’œ ’…Š“™…… ‚…ŒŸ CALL JADD .SDTTM #AREA,#NEWDT ;“‘’€Ž‚ˆ’œ Ž‚Ž… ‚…ŒŸ .GTIM #AREA,#TIME ;Ž‹“—ˆ’œ Ž‚Ž… ‚…ŒŸ RETURN NEWDT: .WORD -1 ;„€’“ … ˆ‡Œ…Ÿ’œ TIME: .WORD 0,0 HR: .WORD 2 ;1 —€‘ ‚Ž ‚“’……Œ .WORD 137440 ;”ސŒ€’… AREA: .WORD 0,0 JADD: MOV #HR,R4 MOV #AREA,R3 MOV #HR,R1 MOV -(R4),R2 ADD -(R3),R2 MOV -(R4),R5 ADC R5 ADD -(R3),R5 MOV R2,-(R1) MOV R5,-(R1) RETURN .END 5.3.40. .SETTOP ‡€Ž‘ .SETTOP Ž‡‚Ž‹Ÿ…’ Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ “‘’€Ž- ‚ˆ’œ Ž‚›‰ €„…‘ ‚ Š€—…‘’‚… ‚…•…‰ ƒ€ˆ–› Žƒ€ŒŒ›. ŒŽˆ- ’ސ Ž…„…‹Ÿ…’, Ÿ‚‹Ÿ…’‘Ÿ ‹ˆ ’Ž’ €„…‘ „Ž“‘’ˆŒ›Œ ˆ “†… ‹ˆ ‘‚Žˆƒ USR. €ˆŒ…, …‘‹ˆ ‡€Ž‘ Ž…„…‹Ÿ…’ €„…‘ ˆ†… €—€‹œŽƒŽ €„…‘€ USR, ’Ž ‘‚Žˆƒ USR … ’…“…’‘Ÿ. …‘‹ˆ .SETTOP ˆ‡ ”ŽŽ‚ŽƒŽ ‡€„€ˆŸ Ž…„…‹Ÿ…’ €„…‘ ‚›˜… €—€‹œŽƒŽ €„…‘€ USR ˆ €…… … ›‹€ ‚›Ž‹…€ ŠŽŒ€„€ SET USR NOSWAP, ’Ž …ށ•Ž„ˆŒ ‘‚Žˆƒ USR. Ž‘‹… ‚›Ž‹…ˆŸ .SETTOP, R0 ˆ Ÿ—…‰Š€ 50 “„“’ ‘Ž„…†€’œ €„…‘ €ŒŸ’ˆ, …„Ž‘’€‚‹…›‰ ŒŽˆ’ŽŽŒ Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…- ‹Ÿ ‚ Š€—…‘’‚… ‚…•…ƒŽ €„…‘€ Žƒ€ŒŒ›. …‘‹ˆ Žƒ€ŒŒ€ ‡€- €˜ˆ‚€…’ Ž .SETTOP …„Ž“‘’ˆŒ›‰ €„…‘ „‹Ÿ „€ŽƒŽ ‡€„€ˆŸ, ŒŽˆ’ސ … “„Ž‚‹…’‚ސˆ’ ’Ž ’…Ž‚€ˆ…, ˆ “‘’€Ž‚ˆ’ „‹Ÿ Žƒ- €ŒŒ› ”€Š’ˆ—…‘Šˆ „Ž“‘’ˆŒ“ž ‚…•žž ƒ€ˆ–“ €ŒŸ’ˆ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .SETTOP ADDR ƒ„… ADDR - ‡€€˜ˆ‚€…Œ›‰ €„…‘ ‚…•…‰ ƒ€ˆ–› Žƒ€ŒŒ›. ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .SETTOP ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .LOCK. 5.3.41. .SPCPS (…†ˆŒ FB,•Œ) ‡€Ž‘ .SPCPS ˆ‘Ž‹œ‡“…’‘Ÿ ‚ Ž„Žƒ€ŒŒ€• ‡€‚…˜…ˆŸ „‹Ÿ ‘Ž•€…ˆŸ ‘Ž„…†ˆŒŽƒŽ …ƒˆ‘’Ž‚ ‘ ˆ PS ˆ ‡€Œ…“ ‘Ž„…- †ˆŒŽƒŽ ‘ € Ž‚Ž… ‡€—…ˆ…. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .SPCPS AREA,ADDR ƒ„… AREA - €„…‘ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’ ˆ‡ 2-• ‘‹Ž‚; ADDR - €„…‘ ‹ŽŠ€ ˆ‡ 3-• ‘‹Ž‚, ‘Ž„…†€™…ƒŽ Ž‚Ž… ‡€—…- ˆ… ‘, ‘’€Ž… ‡€—…ˆ… ‘ ˆ ‘’€Ž… ‡€—…ˆ… PS ‘ŽŽ’‚…’‘’‚…- Ž ‚ 1-ŽŒ, 2-ŽŒ ˆ 3-…Œ ‘‹Ž‚€•. ŒŽˆ’ސ ‘Ž•€Ÿ…’ ‘’€›… ‡€—…ˆŸ PS ˆ ‘ ˆ ……„€…’ “€‚‹…ˆ… Ž €„…‘“, ŠŽ’ސ›‰ Ÿ‚‹Ÿ…’‘Ÿ ‘Ž„…†ˆŒ›Œ 1-ƒŽ ‘‹Ž‚€. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 0,41 .WORD ADDR ˆŒ…. .TITLE SPCPS.MAC ;ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ ‡€Ž‘€ .SPCPS. .MCALL .READC,.WRITC,.CSIGEN,.PRINT,.SPCPS .MCALL .CLOSE,.WAIT,.SRESET,.EXIT ERRBYT = 52 .ENABL LSB START: .CSIGEN #DSPACE,#DEFEXT ;‚‚Ž„ ŠŽŒ€„Ž‰ ‘’ŽŠˆ CALL IOXFER .PRINT #MES 1$: DEC R5 BR 1$ FINI: .CLOSE #0 ;>0- ŠŽ…– ”€‰‹€ MOV #DONE,R0 BR EXIT WERR: MOV #WRERR,R0 BR EXIT RERR: MOV #RDERR,R0 EXIT: .PRINT .SRESET ;“„€‹ˆ’œ ‡€ƒ“†…›… ;„€‰‚…› .EXIT WRDONE: .WAIT #0 BCS 3$ IOXFER: .READC #AREA,#3,,,#6$ ;—ˆ’€’œ ‹ŽŠ BCC 5$ TSTB @#ERRBYT ;ŠŽ…– ”€‰‹€? BEQ 4$ ;„€ 2$: MOV #RERR,SBLOK BR 4$ 3$: MOV #WERR,SBLOK 4$: TSTB SPCALL BNE 5$ .SPCPS #AREA,#SBLOK INCB SPCALL BCS 7$ 5$: RETURN 6$: .WAIT #3 BCS 2$ .WRITC #AREA,#0,,,#WRDONE;‡€ˆ‘€’œ ‹ŽŠ BCS 3$ INC BLOK RETURN 7$: .PRINT #SPERR RETURN AREA: .WORD 0 ;‹ŽŠ €ƒ“Œ…’Ž‚ …Œ’ BLOK: .WORD 0 ;ŽŒ… ‹ŽŠ€ .WORD BUFF ;€„…‘ “”…€ .WORD 256. ;‘—…’—ˆŠ ‘‹Ž‚ .WORD 0 ;€„…‘ Ž„Žƒ€ŒŒ› ‡€‚…˜…ˆŸ SBLOK: .WORD FINI,0,0 BUFF: .BLKW 256. DEFEXT: .WORD 0,0,0,0 SPCALL: .BYTE 0 .NLIST BEX DONE: .ASCIZ /ŠŽ…– Žƒ€ŒŒ›/ MES: .ASCIZ /‚›Ž‹…ˆ… Žƒ€ŒŒ› Ž„Ž‹†€…’‘Ÿ/ WRERR: .ASCIZ /Ž˜ˆŠ€ .WRITC/ RDERR: .ASCIZ /Ž˜ˆŠ€ .READC/ SPERR: .ASCIZ /Ž˜ˆŠ€ .SPCPS/ .EVEN DSPACE =. .END START 5.3.42. .SFDAT ‡€Ž‘ .SFDAT Ž‡‚Ž‹Ÿ…’ Žƒ€ŒŒ… Ž‹œ‡Ž‚€’…‹Ÿ “‘’€Ž- ‚ˆ’œ ˆ‹ˆ ˆ‡Œ…ˆ’œ „€’“ ‘އ„€ˆŸ “Š€‡€ŽƒŽ ”€‰‹€ (ЀР‡€™ˆ- ™…ŽƒŽ ’€Š ˆ … ‡€™ˆ™…ŽƒŽ). ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .SFDAT AREA,CHAN,DBLK,DATE ƒ„… AREA - €„…‘ ‹ŽŠ€ €ƒ“Œ…’Ž‚ …Œ’ ˆ‡ 3-• ‘‹Ž‚; CHAN - ŽŒ… Š€€‹€; DBLK - €„…‘ ‹ŽŠ€ ˆ‡ 4-• ‘‹Ž‚, ‘Ž„…†€™…ƒŽ ‘…–ˆ”ˆŠ€–ˆž ”€‰‹€; DATE - €„…‘ Ÿ—…‰Šˆ, ‘Ž„…†€™…‰ Ž‚Ž… ‡€—…ˆ… „€’› (‚ ”ސŒ€’… RT11); …‘‹ˆ €ƒ“Œ…’ €‚… “‹ž, ’Ž ˆ‘Ž‹œ‡“…’‘Ÿ ‘ˆ‘’…Œ€Ÿ „€’€. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE CHAN,42 .WORD DBLK .WORD DATE ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .SFDAT ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .FPROT. 5.3.43. .SFPA ‡€Ž‘ .SFPA Ž‡‚Ž‹Ÿ…’ Ž‹œ‡Ž‚€’…‹ž, €Ž’€ž™…Œ“ ‘ Ž- –…‘‘ŽŽŒ ‹€‚€ž™…‰ ‡€Ÿ’މ, “‘’€Ž‚ˆ’œ €„…‘ Ž„Žƒ€ŒŒ› ށ€Ž’Šˆ …›‚€ˆŸ Ž’ ‡. …‘‹ˆ €„…‘ Ž„Žƒ€ŒŒ› ށ€Ž’- Šˆ …›‚€ˆŸ … Ž…„…‹… ˆ Žˆ‘•Ž„ˆ’ …›‚€ˆ… Ž’ ‡, ŒŽˆ’ސ …—€’€…’ ‘ŽŽ™…ˆ… ށ Ž˜ˆŠ… ˆ “„€‹Ÿ…’ Žƒ€ŒŒ“ Ž‹œ‡Ž‚€’…‹Ÿ ˆ‡ €ŒŸ’ˆ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .SFPA AREA,ADDR ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ Ž„Žƒ€ŒŒ› ށ€Ž’Šˆ …›‚€ˆŸ Ž’ ‡. Ž ŽŠŽ—€ˆˆ €Ž’› Ž„Žƒ€ŒŒ› ށ€Ž’Šˆ …›‚€ˆŸ Ž’ ‡, …ށ•Ž„ˆŒŽ Ž‚’ސˆ’œ ‡€Ž‘ .SFPA, ’.Š. ŒŽˆ’ސ ‡€…- ™€…’ ށ€Ž’Š“ …›‚€ˆ‰ Ž‘‹… ށ‘‹“†ˆ‚€ˆŸ Ž„ŽƒŽ ˆ‡ ˆ•. ’Ž „…‹€…’‘Ÿ „‹Ÿ ’ŽƒŽ, —’ށ› ˆ‘Š‹ž—ˆ’œ ‚އŒŽ†Ž‘’œ ‡€–ˆŠ‹ˆ‚€- ˆŸ Žƒ€ŒŒ› ˆ ŒŽƒŽŠ€’ŽŒ Ž‚’ސ…ˆˆ …›‚€ˆŸ Ž’ ‡. ˆ ˆ‘Ž‹œ‡Ž‚€ˆˆ ‡, ŒŽˆ’ސ ‚›Ž‹Ÿ…’ ŠŽŒ€„“ STST -(SP). Ž’ŽŒ“, ……„ ŠŽŒ€„މ RTI, Ž„Žƒ€ŒŒ€ Ž‹œ‡Ž‚€’…‹Ÿ „Ž‹†€ “‚…‹ˆ—ˆ’œ “Š€‡€’…‹œ ‘’…Š€ € „‚€. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 0,30 .WORD ADDR 5.3.44. .SRESET ‡€Ž‘ .SRESET ‚›Ž‹Ÿ…’ ‘‹…„“ž™ˆ… ”“Š–ˆˆ: 1) “„€‹Ÿ…’ ˆ‡ €ŒŸ’ˆ „€‰‚…› “‘’Ž‰‘’‚, ŠŽ’ސ›… ›‹ˆ ‡€ƒ“†…› Ž ‡€Ž‘“ .FETCH; „€‰‚…›, ŠŽ’ސ›… ›‹ˆ ‡€ƒ“†…› Ž ŠŽŒ€„… LOAD, Ž‘’€ž’‘Ÿ …‡ˆ„…’›Œˆ, ’€Š †… ЀРˆ „€‰‚… ‘ˆ‘’…ŒŽƒŽ “‘’Ž‰‘’‚€; 2) ‘’ˆ€…’ ޒА›’›… ‚ €‘’ŽŸ™…… ‚…ŒŸ ”€‰‹› (”€‰‹›, Ž’Š- ›’›… Ž .ENTER, ˆŠŽƒ„€ … ‘’€“’ Ž‘’ŽŸ›Œˆ); 3) ‚Ž‘‘’€€‚‹ˆ‚€…’ —ˆ‘‹Ž Š€€‹Ž‚ ‚‚Ž„€-‚›‚Ž„€ (16 („…‘Ÿ- ’ˆ—Ž‰)); Š€€‹›, Ž…„…‹…›… Ž .CDFN, €“‹ˆ“ž’‘Ÿ; 4) ‚Ž‘‘’€€‚‹ˆ‚€…’ Ž—……„œ ‚‚Ž„€-‚›‚Ž„€ (…‚Ž€—€‹œŽ - Ž„ˆ ‹…Œ…’); QSET „Ž‹†… ‚›Ž‹Ÿ’œ‘Ÿ Ž‚’ސŽ „‹Ÿ Ž…„…‹…- ˆŸ „ŽŽ‹ˆ’…‹œ›• ‹…Œ…’Ž‚ Ž—……„ˆ; 5) Ž—ˆ™€…’ Ž—……„œ Ž„Žƒ€ŒŒ ‡€‚…˜…ˆŸ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .SRESET ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .SRESET ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .READ. 5.3.45. .SYNCH ‡€Ž‘ .SYNCH Ž‡‚Ž‹Ÿ…’ ‚ Ž„Žƒ€ŒŒ… ށ€Ž’Šˆ …›- ‚€ˆŸ ˆ‘Ž‹œ‡Ž‚€’œ Žƒ€ŒŒ›… ‡€Ž‘›. …‡ .SYNCH ‡€Ž‘› ˆ‡ Ž„Žƒ€ŒŒ› ށ€Ž’Šˆ …›‚€ˆŸ … “„“’ ށ€€’›‚€’œ‘Ÿ ŒŽˆ’ŽŽŒ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .SYNCH AREA[,PIC] ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 7-Œˆ ‘‹Ž‚; ’Ž’ ‹ŽŠ …ށ•Ž„ˆŒ ˆ ˆ‘Ž‹œ‡Ž‚€ˆˆ .SYNCH; ‘Ž„…†ˆŒŽ… ‹ŽŠ€ ”ސŒˆ“…’‘Ÿ Ž‹œ‡Ž‚€- ’…‹…Œ (‘Œ. ’€‹.19); PIC - …ށŸ‡€’…‹œ›‰ €ƒ“Œ…’, ŠŽ’ސ›‰ „€…’ Œ€ŠŽŠŽŒ€„… .SYNCH ‚އŒŽ†Ž‘’œ ށ€‡Ž‚€ˆŸ PIC - ŠŽ„Ž‚ „‹Ÿ ˆ‘Ž‹œ‡Ž‚€ˆŸ „€‰‚…€Œˆ “‘’Ž‰‘’‚. ’€‹ˆ–€ 19 ---------------------------------------------------------- ! ‘‹Ž‚Ž ! ‘Ž„…†ˆŒŽ… ! !--------------------------------------------------------! ! 1 ! ˆ‘Ž‹œ‡“…’‘Ÿ ’Ž‹œŠŽ ‘ˆ‘’…ŒŽ‰; …ƒŽ ‘Ž„…- ! ! ! †ˆŒŽ… … „Ž‹†Ž ˆ‡Œ…Ÿ’œ‘Ÿ ‹œ‡Ž‚€’…‹…Œ ! ! 2 ! ŽŒ… ’…Š“™…ƒŽ ‡€„€ˆŸ (0 ˆ‹ˆ 2); ŒŽ†…’ ! ! ! ›’œ Ž‹“—… ‘ ŽŒŽ™œž ‡€Ž‘€ .GTJB ! ! 3,4 ! … ˆ‘Ž‹œ‡“ž’‘Ÿ ! ! 5 ! €ƒ“Œ…’ R0; ˆ “‘…˜ŽŒ ‚›Ž‹…ˆˆ ! ! ! .SYNCH …ƒˆ‘’ R0 “„…’ ‘Ž„…†€’œ ’Ž’ ! ! ! €ƒ“Œ…’ ! ! 6 ! -1 ! ! 7 ! 0 ! ---------------------------------------------------------- ˆŒ…—€ˆ…. Œ…†„“ ‚›Ž‹…ˆ…Œ ‡€Ž‘Ž‚ .INTEN ˆ .SYNCH …‹œ‡Ÿ ‚›Ž‹Ÿ’œ Ž…€–ˆˆ ‘Ž ‘’…ŠŽŒ. 5.3.46. .TLOCK ‡€Ž‘ .TLOCK ŒŽ†…’ ˆ‘Ž‹œ‡Ž‚€’œ‘Ÿ Žƒ€ŒŒ€Œˆ, ŠŽ’Ž- ›… ‚›Ž‹Ÿž’‘Ÿ ‚ …†ˆŒ… FB, „‹Ÿ ’ŽƒŽ —’ށ› ‘„…‹€’œ USR …‡ˆ„…’Ž‰, …‘‹ˆ ’Ž‹œŠŽ USR … ‡€Ÿ’€ ށ‘‹“†ˆ‚€ˆ…Œ „“ƒŽ- ƒŽ ‡€„€ˆŸ. …‘‹ˆ USR ˆ‘Ž‹œ‡“…’‘Ÿ „“ƒˆŒ ‡€„€ˆ…Œ, ’Ž ˆ ‚›Ž‹…ˆˆ .TLOCK “„…’ “‘’€Ž‚‹… ‘-€‡Ÿ„, —’Ž “Š€‡›‚€…’ € ’Ž, —’Ž ‡€Ž‘ … ‚›Ž‹…. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .TLOCK ˆŒ…. .TITLE TLOCK.MAC ;ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ ‡€Ž‘€ .TLOCK. .MCALL .TLOCK,.UNLOCK,.LOOKUP,.PRINT,.EXIT START: .TLOCK ;USR ‡€Ÿ’€? BCS SUSPND ;„€ .LOOKUP #AREA,#4,#FILE ;ޒА›’œ ”€‰‹ BCS LKERR .PRINT #J1MSG .UNLOCK ;Ž‘‚ށބˆ’œ USR TSTB J2SW BNE 1$ CALL JOB2 1$: .EXIT SUSPND: TSTB J2SW BNE START JSR PC,JOB2 INC J2SW BR START AREA: .BLKW 5 FILE: .RAD50 /DK / .RAD50 /FILE / .RAD50 /TMP/ LKERR: .PRINT #LKMSG .EXIT LKMSG: .ASCIZ /”€‰‹ … €‰„…/ J1MSG: .ASCIZ /‚›Ž‹Ÿ…’‘Ÿ ‡€„€ˆ… 1/ J2MSG: .ASCIZ /‚›Ž‹Ÿ…’‘Ÿ ‡€„€ˆ… 2/ J2SW: .BYTE 0 .EVEN JOB2: .PRINT #J2MSG RTS PC .END START 5.3.47. .TRPSET ‡€Ž‘ .TRPSET Ž‡‚Ž‹Ÿ…’ “‘’€Ž‚ˆ’œ €„…‘ Ž„Žƒ€ŒŒ› ށ€Ž’Šˆ …›‚€ˆŸ Ž 4-Œ“ ˆ 10-Œ“ ‚…Вސ€Œ. ‡€—…ˆ… ‘- €‡Ÿ„€ € ‚•Ž„… ‚ Ž„Žƒ€ŒŒ“ “Š€‡›‚€…’ € ’Ž, Š€ŠŽ… …- ›‚€ˆ… Žˆ‡Ž˜‹Ž: Ž—ˆ™…›‰ ‘-€‡Ÿ„ - …›‚€ˆ… Ž 4 ‚…Вސ“; “‘’€Ž‚‹…›‰ ‘-€‡Ÿ„ - Ž 10 ‚…Вސ“. ‚›•Ž„ ˆ‡ Ž„Žƒ€ŒŒ› ށ€Ž’Šˆ …›‚€ˆŸ Ž‹œ‡Ž‚€’…‹Ÿ Ž‘“™…‘’‚- ‹Ÿ…’‘Ÿ Ž ŠŽŒ€„… RTI. …‘‹ˆ ˆ ‚›Ž‹…ˆˆ ‘’…Š€ Žˆ‡Ž˜‹Ž …›‚€ˆ… Ž 4-Œ“ ‚…Вސ“, ’Ž ŽŽ … ށ€€’›‚€…’‘Ÿ Ž .TRPSET ˆ € ’…Œˆ€‹… …—€’€…’‘Ÿ ‘ŽŽ™…ˆ… ?MON-F-STACK OVERFLOW ŒŽˆ’ŽŽŒ SJ ˆ‹ˆ ?MON-F-TRAP TO 4 ŒŽˆ’ŽŽŒ FB ˆ XM. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .TRPSET AREA,ADDR ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; ADDR - €„…‘ Ž„Žƒ€ŒŒ› ށ€Ž’Šˆ …›‚€ˆŸ; …‘‹ˆ ADDR=0, ’Ž …„›„“™ˆ‰ .TRPSET Ž’Œ…Ÿ…’‘Ÿ. ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 0,3 .WORD ADDR ˆŒ…. .TITLE TRPSET.MAC .MCALL .TRPSET,.PRINT,.EXIT DIVZ =67 START: .TRPSET #AREA,#TRPLOC ;‡€…’ˆ’œ “„€‹…ˆ… ;Žƒ€ŒŒ› DIVZ ;…„Ž“‘’ˆŒ€Ÿ ŠŽŒ€„€ TST @#166666 ;…‘“™…‘’‚“ž™ˆ‰ €„…‘ .EXIT TRPLOC: ;Ž„Žƒ€ŒŒ€ ށ€Ž’Šˆ ;…›‚€ˆ‰ BCS 1$ .PRINT #TRP4 BR 2$ 1$: .PRINT #TRP10 .TRPSET #AREA,#TRPLOC 2$: RTI AREA: .WORD 0,0 TRP4: .ASCIZ /…›‚€ˆ… Ž 4 ‚…Вސ“/ TRP10: .ASCIZ /…›‚€ˆ… Ž 10 ‚…Вސ“/ .EVEN .END START 5.3.48. .TWAIT ‡€Ž‘ .TWAIT ˆŽ‘’€€‚‹ˆ‚€…’ ‚›Ž‹…ˆ… Žƒ€ŒŒ› Ž‹œ‡Ž‚€’…‹Ÿ € “Š€‡€›‰ ˆ’…‚€‹ ‚…Œ…ˆ. ‡€Ž‘ .TWAIT ’…“…’ „‹Ÿ ‘‚Ž…ƒŽ ‚›Ž‹…ˆŸ ‹…Œ…’ Ž—……„ˆ. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .TWAIT AREA,TIME ƒ„… AREA - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚ €ƒ“Œ…’Ž‚ …Œ’; TIME - €„…‘ ‹ŽŠ€ ˆ‡ 2-• ‘‹Ž‚, ŠŽ’ސ›… ‘Ž„…†€’ ‚…‹ˆ- —ˆ“ ˆ’…‚€‹€ ‚…Œ…ˆ (…‚Ž… ‘‹Ž‚Ž - ˆ†žž ƒ€ˆ–“ ˆ’…‚€‹€, ‚’ސޅ ‘‹Ž‚Ž - ‚…•žž ƒ€ˆ–“ ˆ’…‚€‹€). ”ސŒ€’ ‹ŽŠ€ €ƒ“Œ…’Ž‚: AREA: .BYTE 0,24 .WORD TIME ˆŒ…. .TITLE TWAIT.MAC .MCALL .TWAIT,.QSET,.PRINT,.EXIT START: CALL TASK 1$: .TWAIT #AREA,#TIME BCS NOQ CALL TASK DEC COUNT BNE 1$ .PRINT #EXIT .EXIT TASK: INC TCNT BIT #1,TCNT BEQ 1$ .PRINT #TIK RETURN 1$: .PRINT #TAK RETURN NOQ: .PRINT #QERR .EXIT AREA: .WORD 0,0 TIME: .WORD 0,50.*2 COUNT: .WORD 7 TCNT: .WORD 0 TIK: .ASCII /’ˆŠ - /<200> TAK: .ASCIZ /’€Š/ EXIT: .ASCIZ /ŠŽ…– Žƒ€ŒŒ›/ QERR: .ASCIZ /…’ ‹…Œ…’€ Ž—……„ˆ/ .EVEN .END START 5.3.49. .WAIT ‡€Ž‘ .WAIT ˆŽ‘’€€‚‹ˆ‚€…’ ‚›Ž‹…ˆ… Žƒ€ŒŒ› „Ž ’…• Ž, ŽŠ€ … ‡€ŠŽ—ˆ’‘Ÿ Ž…€–ˆŸ ‚‚Ž„€-‚›‚Ž„€ € “Š€- ‡€ŽŒ Š€€‹…. Ž ’ŽŒ“ ‡€Ž‘“ ŒŽ†Ž Ž‹“—ˆ’œ ˆ”ސŒ€–ˆž Ž €‚ˆ‹œŽ‘’ˆ ‚›Ž‹…ˆŸ Ž…€–ˆˆ: …‘‹ˆ Š€€‹ … ޒА›’ ˆ‹ˆ Žˆ‡Ž˜‹€ €€€’€Ÿ Ž˜ˆŠ€, “‘’€€‚‹ˆ‚€…’‘Ÿ ‘-€‡Ÿ„. ‚ …†ˆŒ… FB(XM) ‡€Ž‘ .WAIT, …‘‹ˆ Ž…€–ˆŸ ‚‚Ž„€- ‚›‚Ž„€ … ‡€‚…˜…€ ‚›‡›‚€…’ ‡€„…†Š“ ‚›Ž‹…ˆŸ Ž„ŽƒŽ ˆ‡ ‡€„€ˆ‰ ˆ ‚›Ž‹…ˆ… „“ƒŽƒŽ, …‘‹ˆ ŽŽ ‘“™…‘’‚“…’. ”ސŒ€’ Œ€ŠŽŠŽŒ€„›: .WAIT CHAN ˆŒ… ˆ‘Ž‹œ‡Ž‚€ˆŸ .WAIT ‘Œ. ‚ Žˆ‘€ˆˆ ‡€Ž‘€ .READ. 6. ‘ŽŽ™…ˆŸ ˆ”ސŒ€–ˆŸ Ž ‘ŽŽ™…ˆŸ• „€€ ‚ [3]. ˆ‹Ž†…ˆ… 1 ŠŽ„› Ž˜ˆŽŠ Žƒ€ŒŒ›• ‡€Ž‘Ž‚ ‚ ’€‹ˆ–… ˆ‚…„…› ŠŽ„› Ž˜ˆŽŠ Žƒ€ŒŒ›• ‡€Ž‘Ž‚ ˆ ˆ—ˆ›, ‚›‡›‚€ž™ˆ… ’ˆ Ž˜ˆŠˆ. ’€‹ˆ–€ ----------------------------------------------------------- ! ‡€Ž‘ ! ŠŽ„ ! ˆ—ˆ€ Ž˜ˆŠˆ ! ! ! Ž˜ˆŠˆ ! ! !---------------------------------------------------------! ! .CDFN ! 0 ! Ž›’Š€ Ž…„…‹ˆ’œ Œ…œ˜…… —ˆ‘‹Ž ! ! ! ! Š€€‹Ž‚, —…Œ …‘’œ ‚ €‹ˆ—ˆˆ ! ! .CHCOPY ! 0 ! „“ƒŽ… ‡€„€ˆ… … ‘“™…‘’‚“…’ ˆ‹ˆ ! ! ! ! Š€€‹ (OCHAN) … ޒА›’ ! ! ! 1 ! Š€€‹ (CHAN) ‡€Ÿ’ ! ! .CLOSE ! 3 ! ‡€™ˆ™…›‰ ”€‰‹ ‘ ’…Œ †… ˆŒ……Œ ! ! ! ! “†… ‘“™…‘’‚“…’ ! ! .CMKT ! 0 ! ‡€Ž‘ ‘ “Š€‡€›Œ ID (ID=0) ! ! ! ! … ‘“™…‘’‚“…’ ! ! .CNTXSW ! 0 ! ‚ ‘ˆ‘Š… €„…‘Ž‚ “Š€‡€ …„Ž“‘- ! ! ! ! ’ˆŒ›‰ €„…‘ ! ! .CSIGEN ! 0 ! …„Ž“‘’ˆŒ€Ÿ ŠŽŒ€„€ ! ! ! 1 ! “Š€‡€ŽƒŽ “‘’Ž‰‘’‚€ …’ ‚ ! ! ! ! ’€‹ˆ–€• ‘ˆ‘’…Œ› ! ! ! 2 ! Ž›’Š€ ޒА›’œ ‡€™ˆ™…›‰ ”€‰‹, ! ! ! ! ˆŒ…ž™ˆ‰ ’Ž †… ˆŒŸ ! ! ! 3 ! Ž›’Š€ ޒА›’œ ”€‰‹ Ž .ENTER ! ! ! ! …“„€—€ ˆ‡-‡€ ……Ž‹…ˆŸ ! ! ! ! ‘€‚Ž—ˆŠ€ “‘’Ž‰‘’‚€ ! ! ! 4 ! ‚•Ž„Ž‰ ”€‰‹ … €‰„… ˆ ! ! ! ! ‚›Ž‹…ˆˆ .LOOKUP ! ! .CSISPC ! 0 ! …„Ž“‘’ˆŒ€Ÿ ŠŽŒ€„€ ! ! ! 1 ! …„Ž“‘’ˆŒŽ… “‘’Ž‰‘’‚Ž ! ! .CSTAT ! 0 ! Š€€‹ … ޒА›’ ! ! .DELETE ! 0 ! “Š€‡€›‰ Š€€‹ ‡€Ÿ’ ! ! ! 1 ! ”€‰‹ … €‰„… ‚ ‘€‚Ž—ˆŠ… ! ! ! ! “‘’Ž‰‘’‚€ ! ! ! 2 ! …„Ž“‘’ˆŒ€Ÿ Ž…€–ˆŸ ! ! ! 3 ! ‡€™ˆ™…›‰ ”€‰‹ ! ! .DSTATUS ! 0 ! “‘’Ž‰‘’‚Ž … €‰„…Ž ‚ ’€‹ˆ–€• ! ! ! ! ‘ˆ‘’…Œ› ! ! .ENTER ! 0 ! “Š€‡€›‰ Š€€‹ ‡€Ÿ’ ! ! ! 1 ! € “‘’Ž‰‘’‚… … €‰„…€ ށ‹€‘’œ ! ! ! ! Ž‹œ˜€Ÿ ˆ‹ˆ €‚€Ÿ Œ (LEN=Œ); ˆ‹ˆ ! ! ! ! “‘’Ž‰‘’‚Ž ˆ‹ˆ ‘€‚Ž—ˆŠ “‘’Ž‰- ! ! ! ! ‘’‚€ ……Ž‹… ! ! ! 3 ! ‡€™ˆ™…›‰ ”€‰‹ ‘ ’…Œ †… ˆŒ……Œ ! ! ! ! “†… ‘“™…‘’‚“…’ ! ! .FETCH ! 0 ! …„Ž“‘’ˆŒŽ… ˆŒŸ “‘’Ž‰‘’‚€ ˆ‹ˆ ‚ ! ! ! ! ‘ˆ‘’…Œ… Ž’‘“’‘’‚“…’ „€‰‚… “Š€- ! ! ! ! ‡€ŽƒŽ “‘’Ž‰‘’‚€ ! ! .RELEAS ! 0 ! …„Ž“‘’ˆŒŽ… ˆŒŸ “‘’Ž‰‘’‚€ ! ! .FPROT ! 0 ! “Š€‡€›‰ Š€€‹ ‡€Ÿ’ ! ! ! 1 ! ”€‰‹ … €‰„… ! ! ! 2 ! …„Ž“‘’ˆŒ€Ÿ Ž…€–ˆŸ ! ! ! 3 ! …„Ž“‘’ˆŒŽ… ‡€—…ˆ… €ƒ“Œ…’€ ! ! ! ! "PROT" ! ! .GTJB ! 0 ! …’ ‡€„€ˆŸ ! ! .GVAL ! 0 ! “Š€‡€Ž… ‡€—…ˆ… ‘Œ…™…ˆŸ €•Ž- ! ! .PVAL ! ! ! ! ! ! „ˆ’‘Ÿ ‚… ށ‹€‘’ˆ RMON ! ! .LOOKUP ! 0 ! “Š€‡€›‰ Š€€‹ ‡€Ÿ’. …’ ‡€„€ˆŸ! ! .MRKT ! 0 ! …’ ‘‚ށބŽƒŽ ‹…Œ…’€ Ž—……„ˆ ! ! .MTATCH ! 2 ! …‘“™…‘’‚“ž™ˆ‰ ‹’ ! ! ! 3 ! …„Ž“‘’ˆŒ›‰ ”“Š–ˆŽ€‹œ›‰ ŠŽ„ ! ! ! 4 ! ’…Œˆ€‹ ‹Žƒˆ—…‘Šˆ ‘‚Ÿ‡€ ‘ „“ƒˆŒ! ! ! ! ‡€„€ˆ…Œ ! ! ! 5 ! …„…‰‘’‚ˆ’…‹œ›‰ €„…‘ ‘‹Ž‚€ €‘ˆ•! ! ! ! ŽŽƒŽ ‘Ž‘’ŽŸˆŸ ’…Œˆ€‹€ (‚ …-! ! ! ! †ˆŒ… XM) ! ! .MTDTCH ! 1 ! …„Ž“‘’ˆŒ›‰ ‹Žƒˆ—…‘Šˆ‰ ŽŒ… ’…-! ! ! ! Œˆ€‹€; ’…Œˆ€‹ … ‘‚Ÿ‡€ ‘ ‡€„€-! ! ! ! ˆ…Œ ! ! ! 2 ! …‘“™…‘’‚“ž™ˆ‰ ‹’ ! ! ! 3 ! …„Ž“‘’ˆŒ›‰ ”“Š–ˆŽ€‹œ›‰ ŠŽ„ ! ! .MTGET ! 1 ! …„Ž“‘’ˆŒ›‰ ŽŒ… ’…Œˆ€‹€; ’…-! ! ! ! Œˆ€‹ … ‘‚Ÿ‡€ ‘ ‡€„€ˆ…Œ ! ! ! 2 ! …‘“™…‘‚“ž™ˆ‰ ‹’ ! ! ! 3 ! …„Ž“‘’ˆŒ›‰ ”“Š–ˆŽ€‹œ›‰ ŠŽ„ ! ! ! 4 ! ’…Œˆ€‹ ‘‚Ÿ‡€ ‘ „“ƒˆŒ ‡€„€ˆ…Œ ! ! ! 5 ! …„…‰‘’‚ˆ’…‹œ›‰ €„…‘ “”…€ ! ! ! ! €‘ˆ•ŽŽƒŽ ‘Ž‘’ŽŸˆŸ ’…Œˆ€‹€ ! ! .MTIN ! 0 ! …’ ‘ˆŒ‚ދނ ‚ “”…… ‚‚Ž„€ ! ! ! 1 ! …„Ž“‘’ˆŒ›‰ ŽŒ… ’…Œˆ€‹€; ’…-! ! ! ! Œˆ€‹ … ‘‚Ÿ‡€ ‘ ‡€„€ˆ…Œ ! ! ! 2 ! …‘“™…‘’‚“ž™ˆ‰ ‹’ ! ! ! 3 ! …„Ž“‘’ˆŒ›‰ ”“Š–ˆŽ€‹œ›‰ ŠŽ„ ! ! ! 5 ! …„…‰‘’‚ˆ’…‹œ›‰ €„…‘ “”…€ ! ! ! ! (‚ …†ˆŒ… XM) ! ! .MTOUT ! 0 ! …’ ‘‚ށބŽƒŽ Œ…‘’€ ‚ “”…… ‚›- ! ! ! ! ‚Ž„€ ! ! ! 1 ! …„Ž“‘’ˆŒ›‰ ŽŒ… ’…Œˆ€‹€, ’…-! ! ! ! Œˆ€‹ … ‘‚Ÿ‡€ ‘ ‡€„€ˆ…Œ ! ! ! 2 ! …‘“™…‘’‚“ž™ˆ‰ ‹’ ! ! ! 3 ! …„Ž“‘’ˆŒ›‰ ”“Š–ˆŽ€‹œ›‰ ŠŽ„ ! ! ! 5 ! …„…‰‘’‚ˆ’…‹œ›‰ €„…‘ “”…€ ! ! .MTPRNT ! 1 ! …„Ž“‘’ˆŒ›‰ ŽŒ… ’…Œˆ€‹€; ’…-! ! ! ! Œˆ€‹ … ‘‚Ÿ‡€ ‘ ‡€„€ˆ…Œ ! ! ! 2 ! …‘“™…‘’‚“ž™ˆ‰ ‹’ ! ! ! 3 ! …„Ž“‘’ˆŒ›‰ ”“Š–ˆŽ€‹œ›‰ ŠŽ„ ! ! ! 5 ! …„…‰‘’‚ˆ’…‹œ›‰ €„…‘ “”…€ ! ! ! ! ‘’ŽŠˆ ! ! .MTRCTD ! 1 ! …„Ž“‘’ˆŒ›‰ ŽŒ… ’…Œˆ€‹€; ’…-! ! ! ! Œˆ€‹ … ‘‚Ÿ‡€ ‘ ‡€„€ˆ…Œ ! ! ! 2 ! …‘“™…‘’‚“ž™ˆ‰ ‹’ ! ! ! 3 ! …„Ž“‘’ˆŒ›‰ ”“Š–ˆŽ€‹œ›‰ ŠŽ„ ! ! .MTSET ! 1 ! …„Ž“‘’ˆŒ›‰ ŽŒ… ’…Œˆ€‹€; ’…-! ! ! ! Œˆ€‹ … ‘‚Ÿ‡€ ‘ ‡€„€ˆ…Œ ! ! ! 2 ! …‘“™…‘’‚“ž™ˆ‰ ‹’ ! ! ! 3 ! …„Ž“‘’ˆŒ›‰ ”“Š–ˆŽ€‹œ›‰ ŠŽ„ ! ! ! 5 ! …„…‰‘’‚ˆ’…‹œ›‰ €„…‘ “”…€ ! ! .MTSTAT ! 3 ! …„Ž“‘’ˆŒ›‰ ”“Š–ˆŽ€‹œ›‰ ŠŽ„ ! ! ! 5 ! …„…‰‘’‚ˆ’…‹œ›‰ €„…‘ “”…€ ! ! .PROTECT ! 0 ! “Š€‡€›‰ ‚…Вސ “†… ˆ‘Ž‹œ‡“…’‘Ÿ ! ! ! 1 ! €„…‘ ‚…Вސ€ Ž‹œ˜… 474 ˆ‹ˆ … ! ! ! ! А€’… —…’›…Œ ! ! .UNPROTECT ! 1 ! €„…‘ ‚…Вސ€ Ž‹œ˜… 474 ˆ‹ˆ … ! ! ! ! А€’… —…’›…Œ ! ! .RCVD ! 0 ! Ž›’Š€ ށ€™…ˆŸ Š …‘“™…‘’‚“ž™…-! ! .RCVDC ! ! Œ“ ‡€„€ˆž ! ! .RCVDW ! ! ! ! .READ ! 0 ! Ž›’Š€ —’…ˆŸ Ž‘‹… ŠŽ–€ ”€‰‹€ ! ! .READC ! ! ! ! .READW ! ! ! ! ! 1 ! €€€’€Ÿ Ž˜ˆŠ€ € Š€€‹… ! ! ! 2 ! “Š€‡€›‰ Š€€‹ … ޒА›’ ! ! .RENAME ! 0 ! “Š€‡€›‰ Š€€‹ ‡€Ÿ’ ! ! ! 1 ! ”€‰‹ … €‰„… ! ! ! 2 ! …„Ž“‘’ˆŒ€Ÿ Ž…€–ˆŸ ! ! ! 3 ! Ž›’Š€ ……ˆŒ…Ž‚€ˆŸ ‡€™ˆ˜…ŽƒŽ! ! ! ! ”€‰‹€ ! ! .REOPEN ! 0 ! “Š€‡€›‰ Š€€‹ ‡€Ÿ’ ! ! .SAVESTATUS! 0 ! “Š€‡€›‰ Š€€‹ … ޒА›’ ! ! ! 1 ! ”€‰‹ ޒА›’ Ž .ENTER ˆ‹ˆ €•Ž„ˆ’-! ! ! ! ‘Ÿ € Œ€ƒˆ’Ž‰ ‹…’…, Ž’ŽŒ“ ! ! ! ! .SAVESTATUS „‹Ÿ …ƒŽ …„Ž“‘’ˆŒ ! ! .SDAT ! 0 ! Ž›’Š€ ށ€™…ˆŸ Š …‘“™…‘’‚“ž™…-! ! .SDATC ! ! Œ“ ‡€„€ˆž ! ! .SDATW ! ! ! ! .SFDAT ! 0 ! Š€€‹ ‡€Ÿ’ ! ! ! ! ”€‰‹ … €‰„… ! ! ! ! “‘’Ž‰‘’‚Ž …”€‰‹Ž‚މ ‘’“Š’“› ! ! .SPCPS ! 0 ! Ž›’Š€ ˆ‘Ž‹œ‡Ž‚€’œ .SPCPS ‚ ! ! ! ! ƒ‹€‚Ž‰ Žƒ€ŒŒ… (€ … ‚ Ž„Žƒ-! ! ! ! €ŒŒ… ‡€‚…˜…ˆŸ) ! ! ! 1 ! …„›„“™ˆ‰ .SPCPS … ‚›Ž‹… ! ! .SPFUN ! 0 ! Ž›’Š€ —’…ˆŸ ˆ‹ˆ ‡€ˆ‘ˆ Ž‘‹… ! ! ! ! ŠŽ–€ ”€‰‹€ ! ! ! 1 ! €€€’€Ÿ Ž˜ˆŠ€ € Š€€‹… ! ! ! 2 ! Š€€‹ … ޒА›’ ! ! .TLOCK ! 0 ! USR “†… ˆ‘Ž‹œ‡“…’‘Ÿ „“ƒˆŒ ‡€„€- ! ! ! ! ˆ…Œ ! ! .TTYIN ! 0 ! …’ ‘ˆŒ‚Ž‹€ ‚ “”…… ‚‚Ž„€ ! ! .TTINR ! ! ! ! .TTYOUT ! 0 ! “”… ‚›‚Ž„€ ……Ž‹… ! ! .TTOUTR ! ! ! ! .TWAIT ! 0 ! …’ ‘‚ށބŽƒŽ ‹…Œ…’€ Ž—……„ˆ ! ! .WAIT ! 0 ! “Š€‡€›‰ Š€€‹ … ޒА›’ ! ! ! 1 ! €€€’€Ÿ Ž˜ˆŠ€ € Š€€‹… ‚Ž ! ! ! ! ‚…ŒŸ ‚›Ž‹…ˆŸ …„›„“™…‰ Ž…€-! ! ! ! –ˆˆ ‚‚Ž„€-‚›‚Ž„€ ! ! .WRITE ! 0 ! Ž›’Š€ ‡€ˆ‘ˆ Ž‘‹… ŠŽ–€ ”€‰‹€ ! ! .WRITC ! 1 ! €€€’€Ÿ Ž˜ˆŠ€ € Š€€‹… ! ! ! 2 ! Š€€‹ … ޒА›’ ! ----------------------------------------------------------- ˆŒ…—€ˆŸ: 1. „‹Ÿ ‡€Ž‘€ .SYNCH ‚އ‚€’ Ž Ž˜ˆŠ… Žˆ‘•Ž„ˆ’ ‚ ‘‹…„“ž™ˆ• ‘‹“—€Ÿ•: - … ‡€ŠŽ—…€ Œ€ŠŽŠŽŒ€„€ .SYNCH, ˆ‘Ž‹œ‡“ž™€Ÿ ’Ž’ †… ‹ŽŠ €ƒ“Œ…’Ž‚ …Œ’; - “Š€‡€ …„Ž“‘’ˆŒ›‰ ŽŒ… ‡€„€ˆŸ; - …‘‹ˆ Žˆ‡Ž˜‹Ž “„€‹…ˆ… ˆ‹ˆ Ž‘’€Ž‚ Žƒ€ŒŒ›. ˆ ’ŽŒ “€‚‹…ˆ… ……„€…’‘Ÿ € ‘‹…„“ž™“ž ‡€ .SYNCH Ÿ—…‰Š“. …‘‹ˆ Œ€ŠŽŠŽŒ€„€ .SYNCH ‚›Ž‹…€ “‘…˜Ž, ’Ž ‚އ‚€’ Žˆ‘•Ž„ˆ’ ‚ ‘‹…„“ž™“ž ‡€ ‚އ‚€’ŽŒ Ž Ž˜ˆŠ… Ÿ—…‰- Š“. 2. ˆ ‚›Ž‹…ˆˆ ‡€Ž‘Ž‚, … “Š€‡€›• ‚ ’€‹ˆ–…, Ž˜ˆŽŠ … Žˆ‘•Ž„ˆ’. ˆ‹Ž†…ˆ… 2 ‘’“Š’“€ ‹ŽŠ€ CBLK ’€‹ˆ–€ ----------------------------------------------------------- ! ‘‹Ž‚Ž ! €‡Ÿ„ ! ‡€—…ˆ… ! Žˆ‘€ˆ… ! !---------------------------------------------------------! ! 1 ! 0 ! 1 !€€€’€Ÿ Ž˜ˆŠ€ € Š€€‹…! !(‘‹Ž‚Ž ! 1-5 ! N ! N-ˆ„…Š‘ “‘’Ž‰‘’‚€ ‚ ’€-! !‘Ž‘’ŽŸ- ! ! ! ‹ˆ–€• ŒŽˆ’ސ€ (ˆ„…’ˆ”ˆ- ! !ˆŸ Š€- ! ! ! –ˆ“…’ ”ˆ‡ˆ—…‘ŠŽ… “‘’Ž‰- ! !€‹€) ! ! ! ‘’‚Ž, ŠŽ’ސޅ ‘‚Ÿ‡€Ž ‘ ! ! ! ! ! ˆ‘Ž‹œ‡“…Œ›Œ Š€€‹ŽŒ) ! ! ! 6 ! 1 ! € Š€€‹… ‚›Ž‹Ÿ…’‘Ÿ ! ! ! ! ! ‡€Ž‘ .RENAME ! ! ! 7 ! 1 ! € Š€€‹… ‚›Ž‹… .ENTER;! ! ! ! ! ‘€‚Ž—ˆŠ “‘’Ž‰‘’‚€ „Ž‹-! ! ! ! ! †… ŒŽ„ˆ”ˆ–ˆŽ‚€’œ‘Ÿ Ž ! ! ! ! ! ‡€Ž‘“ .CLOSE ! ! ! 8-12 ! ! ŽŒ… ‘…ƒŒ…’€ ‘€‚Ž—ˆŠ€! ! ! ! ! (1-37(‚Ž‘œŒ…ˆ—Ž‰)), ‚ ! ! ! ! ! ŠŽ’ŽŽŒ €•Ž„ˆ’‘Ÿ ‡€ˆ‘œ Ž! ! ! ! ! ’…Š“™…Œ ”€‰‹… ! ! ! 13 ! 1 ! ށ€“†…€ Œ…’Š€ ŠŽ–€ ”€‰! ! ! ! ! ‹€ (EOF) ! ! ! 14 ! - ! … ˆ‘Ž‹œ‡“…’‘Ÿ ! ! ! 15 ! 1 ! Š€€‹ ‡€Ÿ’ ! ! 2 ! ! ! ŽŒ… €—€‹œŽƒŽ ‹ŽŠ€ ! ! ! ! ! ”€‰‹€ € ’ŽŒ…; ‡€—…ˆ… ! ! ! ! ! ‘‹Ž‚€ €‚Ž “‹ž, …‘‹ˆ ! ! ! ! ! “‘’Ž‰‘’‚Ž Ž‘‹…„Ž‚€’…‹œŽ! ! ! ! ! ƒŽ „Ž‘’“€ ! ! 3 ! ! ! „‹ˆ€ ”€‰‹€ ‚ ‹ŽŠ€• ! ! 4 ! ! ! … ˆ‘Ž‹œ‡“…’‘Ÿ ! ! 5 ! ! ! —…’›‰ €‰’ - —ˆ‘‹Ž …‡€- ! ! ! ! ! ‚…˜…›• Ž…€–ˆ‰ ‚‚Ž„€- ! ! ! ! ! ‚›‚Ž„€ € Š€€‹…; …—…’›‰! ! ! ! ! €‰’ - ŽŒ… ˆ‚Ž„€ ! ! ! ! ! “‘’Ž‰‘’‚€, ‘‚Ÿ‡€ŽƒŽ ‘ ! ! ! ! ! Š€€‹ŽŒ (Ž’ 0 „Ž 7) ! ----------------------------------------------------------- ……—…œ ‘‘›‹Ž—›• „ŽŠ“Œ…’Ž‚ 1.Ž…€–ˆŽ€Ÿ ‘ˆ‘’…Œ€ ”ބޑ-2 Žƒ€ŒŒˆŽ‚€ˆ… …ˆ”…ˆ‰›• “‘’Ž‰‘’‚ “ŠŽ‚Ž„‘’‚Ž ‘ˆ‘’…ŒŽƒŽ Žƒ€ŒŒˆ‘’€ 589.7547471.00042-01 32 03 2.Ž…€–ˆŽ€Ÿ ‘ˆ‘’…Œ€ ”ބޑ-2 ŒŽˆ’ސ €‘˜ˆ…Ž‰ €ŒŸ’ˆ “ŠŽ‚Ž„‘’‚Ž Žƒ€ŒŒˆ‘’€ 589.7547471.00042-01 33 04 3.Ž…€–ˆŽ€Ÿ ‘ˆ‘’…Œ€ ”ބޑ-2 ‘ŽŽ™…ˆŸ ‘ˆ‘’…Œ› 589.7547471.00042-01 90 03 4.Ž…€–ˆŽ€Ÿ ‘ˆ‘’…Œ€ ”ބޑ-2 Žˆ‘€ˆ… ˆŒ……ˆŸ 589.7547471.00042-01 31 01