рЮАКХЖЮ 2 ; опнцпюллю сопюбкемхъ ROM-DISK/32K дкъ йнлоэчрепю ;"пюдхн-б6пй" я Oа'EMOM нгс онкэгнбюрекъ 32й. ;опнцпюллю сопюбкемхъ гютхйяхпнбюмю б огс ;он юдпеяюл 7E00H-7FFFH. сйюгюммсч накюярэ огс ;гюопеыемн хяонкэгнбюрэ онд ROM-DISK. ;опнцпюллю хг огс б нгс оепемняхряъ гюцпсгвхйнл, ;(б MONITORE) он дхпейрхбе "U" х гюмхлюер ; бепумхе юдпеяю нгс, мювхмюъ я 7400м. ORG 7400м ; PRINT: EQU 0F818м ;бшбнд яннаыемхъ мю щйпюм WW: EQU 0F803м ;ббнд я йкюбхюрспш WYW: EQU 0F609H ; бшбнд яхлбнкю мю щйпюм CONST: EQU 6 ;вхякн опнцпюлл лн: LXI H,SOI ; бшбеярх йюрюкнц MI: CALL PRINT ;ROM-DISK/32K CALL WW ; бшанп лемч. CPI 'Z' ;сярюмнбйю оюлърх б 0? JZ ZERO ;мер, CPI 'S' ; гюохяэ бн бпелеммши JZ SAVE ; астеп?- мер, CPI 'L' ;явхршбюмхе б рейярнбши JZ LOAD ; астеп?-мер, SUI гнм ; бундхр кх мюфюрюъ JM лн ; жхтпю б дхюоюгнм CPI CONST ; с йюгюммшу гмювемхи? JNC лн ;мер, онбрнпхрэ ббнд. MOV б,ю ;дю, йнд янупюмхрэ. ORA ю ;щрн 0? JNZ л2 ;мер, мю бшвхякемхе юдпеянб. XRA ю ;дю, нвхярхрэ яксфеамсч STA 2117м ;ъвеийс оюлърх BASIC. M2: LXI D,6 ;ьюц онхяйю он рюакхже. LXI H,TABL ; аюгнбши юдпея рюакхжш. XRA ю ; яндепфхлне юййслскърнпю лг: ялп б ; пюбмн упюмхлнлс йндс? JZ л4 ;дю, бгърэ юдпеяю опнцпюллш. DAD D ;мер, оепеирх мю якедсчысч INR ю ; ярпнйс рюакхжш, сбекхвхрэ дюммше JMP лг ;юййслскърнпю х бмнбэ япюбмхрэ л4: SPHL ;хяонкэгсъ ярей, POP м ; бгърэ POP D ; юдпеяю POP б ; опнцпюллш. DCX SP ; онякедмхи юдпея DCX SP ; -ярюпрнбши . ; ондопнцпюллю MONITORA, наеяоевхбючыюъ йнохпнбюмхе ; дюммшу хг юдпеяселни накюярх огс б юдпеяселсч ; накюярэ нгс онкэгнбюрекъ. CALL 0FA68H ; оепеяшкйю опнцпюллш. POP м ; бгърэ юдпея PCHL ;х гюосярхрэ опнцпюллс. ; ондопнцпюллю явхршбюмхъ тюикю хг бпелеммнцн астепю ;б рейярнбши астеп педюйрнпю "лхйпнм". LOAD: LXI м, S04 ; ондрбепдхрэ CALL PRINT ;бшанп явхршбюмхъ. LXI м,4A00м ;мювюкэмши юдпея LXI D,2100H ;BPEMEHHOцO астепю. RDO: LXI B,28FFH ;Oа'EM тюикю. RDI: MOV A,M ;оепеякюрэ STAX D ;тюик INX H ;х3 INX D ;бпелеммнцн астепю DCX б ;B рейярнбши астеп MOV ю,б ;я юдпеяю 2100м. ORA я ; JNZ RDI ; JMP лн ;бширхб лемч. ;ондопнцпюллю янупюмемхъ тюикю бн бпелеммнл ; астепе. еякх на 'ел тюикю опебшьюер 28FFH, рн ; ноепюжхъ он упюмемхч ме бшонкмъеряъ. SAVE: LXI м, 2100м SI: MOV A,M ;опнбепхрэ пюглеп CPI 0FFH ; тюикю. JZ S2 ;еякх тюик HE слеыюеряъ INX м ;бн бпелеммнл MOV ю, м ; астепе, рн CPI 4юм ; JNZ SI ; LXI H,SO6 ;яннаыхрэ, ю оепеяшкйс JMP MI ;HE опнхгбндхрэ. S2: LXI H,SO5 ; хмюве CALL PRINT ;ондрбепдхрэ гюохяэ LXI м,2100м ;бн бпелеммши астеп. LXI D,4A00H ; JMP RDO ;сИрх мю гюохяэ. ;ондопнцпюллю нвхярйх оюлърх (гюохяэ "0" ;BO бяе днярсомше онкэгнбюрекч ъвеийх нгс, ; йпнле ъвеей, мювхмюъ я 7400м). ZERO: LXI H,SO5 ;ондрбепдхрэ опхел CALL PRINT ; ноепюжхх яапняю RAM. LXI м,0 ; Z1: MVI л,0 ;нвхярхрэ INX м ; оюлърэ. MOV A,м ; япI 74м ;еякх юдпея анкэье JNZ Z1 ; 7400м, рн бширх JMP лн ;б лемм). SOI: DB 1FH,0CH,0AH,'"ROM-DISK/32K"V2.0-91'; DB 0AH,0AH,0DH,'DIR:'; DB 0DH,0AH,'<0>-BASIC'; DB 0DH,0AH,'<1>-ED/ASSM'; DB 0DH,0AH,'<2>-DP/DDT'; DB 0DH,0AH,'<3>-SORT UT'; DB 0DH,0AH,'<4>-DRIV/260'; DB 0DH,0AH,'<5>-PROGR' ; DB 0AH,0DH DB 0AH,0DH,' -BUFF' ; DB 0AH,0DH,' -RED' ; DB 0AH,0DH,' <2>-0/RAM' ; DB 0DH,0AH,0 SO3: DB 19H ; SO4: DB 19H ; SO5: DB 19H,7FH,08H,0 SO6: DB 0DH,'OUT OF BUFF',0 ;рюакхжю юдпеянб тюикнб ROM~DISK/32K. ;онякеднбюрекэмн он йюрюкнцс сйюгюмш; ;мювюкэмши, йнмевмши юдпеяю тюикю б огс. ;мювюкэмши юдпея щрнцн фе тюикю б нгс. TABL: DW 0,1FFFH,0 ; BASIC DW 2000H,2FFFH,0 ; RED/ASSM DW 3000H,3FFFH,6400H ; DP/DDT DW 6E4EH,74E3H,800H ; SORT/UT DW 74E4H,7A94H,800H ; DR I V/260 DW 7A95H,7DFFH,0 ; PROGR END ;