рЮАКХЖЮ 1 ;*********************************************************************** ; опнцпюммю лнпге-йндхпнбюмхъ яхмбнкнб йнх-7 ; вюярэ опнцпюллш "лнпге - рпемюфеп" ; ондопнцпюллю бярпюхбюеряъ бмсрпэ BASIC-хмрепоперюрнпю ;*********************************************************************** ORG 19еем ; мювюкэмши юдпея ондопнцпюллш гбнмнй: EOU 0FD27H ; юдпея ондопнцпюллш "гбнмнй* лнмхрнпю рнм: EQU 15м ; йнмярюмрю - рнм гбсйю яйнп: DS 1 ; яйнпнярэ оепедювх яхлбнк: DS 1 ; йндхпселши яхлбнк лнпге: LDA яхлбнк ; ю" ASCII-йнх? йнд яхлбнкю япI 32 ; опнбек ∙? JNZ "+11 ; опнаек -> оюсгю лефдс якнбюлх MVI е,4 ; е-дкхрекэмнярх оюсгш лефдс якнбюлх CALL оюсгю ; мю ондопнцпюллс оюсгш JMP бшунд ; мю бшунд япI 44 ; йнд яхлбнкю ".44 ? JC бшунд ; дю -> мю бшунд япI 128 ; йнд яхлбнкю >=128 ? JNC бшунд ; дю -> мю бшунд LXI D,0 ; DE=0 MOV E,A ; е=йнд яхлбнкю (ялеыемхе) LXI м,рюак-44 ; гюцпсгхрэ б пец. оюпс HL юдпея ;рюакхжш (аег сверю ялеыемхъ) DAD D ; бшвхякхрэ юдпея щкелемрю рюакхжш MOV ю,л ; ю=йнд лнпге хг рюакхжш MVI D,8 ; явервхй D"Q ярахр: RLC ; ядбхц бкебн дн "ярюпрнбнцн" ахрю DCR D ; слемэьхрэ явервхй D мю 1 J2 бшунд ; бяе ахрш опнбепемш -> мю бшунд JNC ярахр ; онбрнп, еякх "яр." ахр ме намюпсфем STA яхлбнк ; яхлбнк^ю цемйнд: LDA яхлбнк ;ю=яхлбнк RLC ;опнбепйю якедсчыецн ахрю STA яхлбнк ;яхлбнк=ю MVI е,1 ;е=дкхрекэмнярх рнвйх JNC $+5 ;еякх ахр=0, рн рнвйю, хмюве - рхпе MVI е,3 ;е=дкхрекэмнярх рхпе CALL гбсй ;мю ондоп. бшдювх гбсйнбни оняшкйх MVI е,1 ;е=дкхрекэмнярх оюсгш лефдс оняшкйюлх CALL оюсгю ;мю ондопнцпюллс оюсгш DCR D ;слемэьхрэ явервхй D мю 1 JNZ цемйнд ;ме бяе оняшкйх бшдюмш -> онбрнп MVI е,2 ; е"дкхрекэмнярх оюсгш лефдс гмюйюлх CALL оюсгю ; мю ондопнцпюллс оюсгш ешунд: RET ; бнгбпюр а хмрепоперюрнп аеияхйю оюсгю: ;дкхрекэмнярх оюсгш: ; E=1 -> лефдс оняшкйюлх ; е=2 -> лефдс гмюйюлх ; е=4 -> лефдс якнбюлх LDA яйнп ; ю=яйнпнярэ лнV я,ю ; я=ю ол1: MVI б,рнм+рнм ; б=щйбхбюкемр дкхрекэмнярх рнмю Nнп ; осярни ноепюрнп DCR б ; слемэьхрэ явервхй б мю 1 JNZ $-2 ; онбрнпхрэ, еякх B<>0 DCR я ; слемэьхрэ явервхй я мю 1 JNZ ол1 ; онбрнпхрэ, еякх C<>0 DCR е ; слемэьхрэ явервхй дкхрекэмнярх оюсгш ∙ JNZ оюсгю ; онбрнпхрэ, еякх е<>0 RET гбсй: ;дкхрекэмнярх оняшкнй: ; е=1 -> рнвйю ; ; е=3 -> рхпе LDA яйнп ; ю=яйнпнярэ MOV я,ю ; я=ю MVI б,рнм ; б=йнмярюмре-рнм гбсйю CALL гбнмнй ; мю ондопнцпюллс лнмхрнпю DCR е ; слемэьхрэ явервхй дкхрекэм. оняшкйх JNZ гбсй ; онбрнпхрэ, еякх е<>0 RET рюак: ; рюакхжю йнднб лнпге дкъ яхлбнкнб йнх-7 ; , - . / 0 1 2 3 4 5 6 7 3 9 DB 55H,31H,40H,32H,3FH,2FH,27H,23H,21H,20H,30H,38H,3CH,3EH ; : ; < = > ? @ A B C D E F Q DB 78H,36H,2AH,45H,28H,4CH,0C5H,05H,18H,1AH,0CH,02H,12H,0EH ; H I J K L N N O P Q R S T U DB 10H,04H,17H,0DH,14H,07H,06H,0FH,16H,1DH,0AH,08H,03H,09H ; V W X Y Z C \ ] ^ _ ч ю а ж DB 11H,0BH,19H,1BH,1CH,6DH,73H,6DH,7DH,80H,13H,05H,18H,1AH ; д е т ц у х и й к л м н о ъ DB 0CH,02H,12H,0EH,10H,04H,17H,0DH,14H,07H,06H,0FH,16H,15H ; п я р с ф б э ш щ ь щ ы в DEL DB 0AH,08H,03H,09H,11H,0BH,19H,1BH,1CH,1FH,24H,1DH,1EH,80H END ;***************** йнмеж **********