ноепюжхнммюъ яхярелю тндня-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 ! - ! бшгшбюер пюанрс хмрепоперюрн-! ! ! ! ! пю йнлюмдмни ярпнйх б наыел ! ! ! ! ! пе-Ц???????????????????????9+Lююююдю╛= Л$ <Сфвввввп═б"фвпвв═бфвввпщоЧщ$од щ Ч$<$Ч о яцфввввпвввввввввввввпвввввпвввввввпщ$пщоКщ $щщ <Авввяцфввввпвввввввввввввпвввввпвввввввпщчо щ$ЧАввввввввввввввяцфввввпвюП ╗ф~~~~~~rб"ф~r~~б&ф~~r|< 0@щ<  щД$очвяцфввввпвввввввввввввпвввввпвввввввпщщ 0щ<$ЧКЧ ЧЧввввяцфввввпвввввввввввввпвввввпвввввввпщоо я ! ! .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