Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Начальный загрузчик для ПК Вектор-06Ц (версия 2)
- ; Дизассемблирован 17.10.96. Тимошенко А.В.
- ;--------------------------------------------------
- .ORG 0
- M0000H: MVI A,9BH
- OUT 04
- MVI A,88H
- OUT 00
- LXI SP,0DCF0H ; установить верхушку стека
- LXI D,55AAH
- M000EH: PUSH D
- POP H
- MOV A,L
- CMA
- CMP H
- JNZ M000EH
- MVI A,0A8H
- LXI B,0040H
- M001BH: OUT 08
- SUB C
- JNC M001BH
- MOV C,B
- MVI A,06
- OUT 00
- XRA A
- OUT 10H
- M0029H: STAX B ; чистка ОЗУ
- INX B
- STAX B ; эти две команды вполне
- INX B ; можно убрать если не хватает ресурсов
- CMP C ; или добавить, для скорости очистки
- JNZ M0029H
- CMP B
- JNZ M0029H
- JMP M0039H
- .ORG 38H
- M0038H: RET ; обработка аппаратных прерываний
- M0039H: LXI D,0009
- M003CH: MOV H,B ; загрузка пары HL нулями
- MOV L,D
- CALL M0545H
- DCR L
- MVI M,0FFH ; вывод 1/32 нижней полосы
- DAD D ; адрес экрана на 9 точек выше
- MVI M,0FFH ; вывод 1/32 верхней полосы
- INR L ; адрес экрана на точку выше
- MVI M,81H ; вывод точек над верхней полосой
- INR B ;
- JNZ M003CH ; пока не выведены все полосы - цикл
- EI ; разрешить прерывания
- HLT ; ожидать прерывания
- CALL M02A1H ; цвета/клавиатура
- LXI H,M0760H ; надпись ВЕКТОР-06Ц
- LXI D,0C4E9H ; адрес в экране
- MVI A,08 ; высота букв
- MVI B,07 ; число столбцов
- CALL M06B7H ; вывод рисунка на экран
- LXI H,M009FH ; адрес входа
- PUSH H ; адрес входа поместить в стек
- MVI A,0C3H ; в А код С9 - JMP
- STA 0DCF1H ; JMP по адресу 0DCF1H
- STA 0DCF4H ; JMP по адресу 0DCF4H
- LDA 0DEF7H ; читать код клавиши
- CPI 0F7H ; клавиша F1
- JZ M044BH ; переход на кассету
- CPI 0EFH ; клавиша F2
- JZ M0090H ; переход на ППЗУ и кассету
- CPI 0E7H ; клавиши F1 и F2
- JZ M0084H ; переход на дисковод
- CALL M055EH ; проверка наличия квазидиска
- JNZ M059DH ; переход на квазидиск
- M0084H: CALL M00D9H ; проверка локальной сети
- JNZ M0148H ; переход на адаптер локальной сети
- CALL M0138H ; проверка наличия дисковода
- JNZ M02E7H ; переход на дискету
- M0090H: CALL M00D9H
- JNZ M044BH ; переход на кассету
- CALL M0107H ; проверка наличия модуля ППЗУ
- JNZ M0274H ; переход на ППЗУ
- JMP M044BH ; переход на кассету
- ; подпрограмма после загрузки ожидание нажатия БЛК+СБР
- M009FH: MVI A,9BH
- OUT 04
- MVI A,03
- OUT 00
- M00A7H: EI ; разрешить прерывания
- HLT ; ожидать прерывания
- CALL M02A1H ; цвета/клавиатура
- LDA 0DEF7H ; читать код клавиши
- CPI 0D7H ; клавиши F1 и F3
- JNZ M00CAH ; если не совпало - не выдавать авторов
- LXI H,M06DAH ; текст авторства
- LXI D,0C0DAH ; адрес в экране
- MVI A,0FH ; высота букв
- MVI B,02 ; ширина надписи в кол-ве по 8 бит
- CALL M06B7H ; вывод надписи
- MVI E,0DDH ; коррекция адреса в экране
- MVI A,08 ; высота букв
- MVI B,0DH ; ширина надписи
- CALL M06B7H ; вывод надписи
- M00CAH: INX B
- MOV A,C
- ANI 08
- MVI A,07
- JNZ M00D4H
- DCR A
- M00D4H: OUT 00
- JMP M00A7H
- ; проверка наличия адаптера локальной сети
- M00D9H: MVI B,04
- IN 07
- ORI 0E0H
- MOV C,A
- MVI A,8BH
- OUT 04
- M00E4H: MOV A,C
- OUT 07
- XTHL
- XTHL
- IN 05
- ANI 08
- JZ M0102H
- MVI A,7FH
- ANA C
- OUT 07
- IN 05
- CMA
- ANI 08
- JZ M0102H
- DCR B
- JNZ M00E4H
- ORA A
- M0102H: MVI A,9BH
- OUT 04
- RET
- ; проверка наличия модуля ППЗУ
- M0107H: MVI A,82H ; код управления порта
- OUT 04 ; записать в РУС
- MVI B,0FFH ;
- M010DH: MOV A,B ;
- OUT 05 ;
- MVI A,0FEH ;
- OUT 07 ;
- IN 06 ;
- CPI 55H ; проверка ключевого кода 55
- JNZ M012EH ; код не совпал
- MVI A,0FFH ;
- OUT 07 ;
- IN 06 ;
- CPI 0AAH ; проверка ключевого кода AA
- JNZ M012EH ;
- MOV A,B ;
- ANI 7FH ;
- INR A ;
- MOV D,A ;
- JMP M0136H ; МППЗУ подключен - на выход
- M012EH: MOV A,B ;
- SUI 20H ;
- MOV B,A ;
- JM M010DH ;
- XRA A ; обнулить А - МППЗУ не подключен
- M0136H: ORA A ;
- RET
- ; проверка наличия дисковода
- M0138H: MVI A,0BH
- OUT 19H
- MOV C,A
- XTHL
- XTHL
- IN 19H
- CMP C
- JZ M0146H
- XRA A
- M0146H: ORA A
- RET
- M0148H: LXI H,M07ECH ; рисунок адаптера локальной сети
- MVI A,8AH
- CALL M06B2H ; вывод рисунка на экран
- LXI H,M021FH ; адрес
- SHLD 0DCF2H
- LXI H,M015CH ; адрес
- SHLD 0DCF5H
- M015CH: MVI A,9BH
- OUT 04
- IN 07
- ANI 1FH
- MOV C,A
- MVI B,0AH
- M0167H: IN 05
- ANI 70H
- CPI 40H
- JNZ M015CH
- IN 06
- ANI 1FH
- CMP C
- JNZ M015CH
- DCR B
- JNZ M0167H
- IN 06
- MOV B,A
- MVI A,98H
- OUT 04
- MOV A,C
- OUT 06
- XRA A
- OUT 05
- MVI D,0FAH
- M018BH: DCR D
- JZ M015CH
- IN 05
- ANI 70H
- CPI 70H
- JNZ M018BH
- MVI A,9BH
- OUT 04
- MOV A,B
- ANI 0E0H
- JNZ M015CH
- MVI E,03
- M01A4H: MVI A,08
- CALL 0DCF1H
- CPI 55H
- JZ M01B3H
- CPI 0AAH
- JNZ 0DCF4H
- M01B3H: DCR E
- JNZ M01A4H
- M01B7H: CALL M04D8H
- MOV E,A
- MOV A,M
- CPI 00
- JNZ M01B7H
- LXI H,0DEF1H
- MOV A,M
- DCX H
- CMP M
- JNZ 0DCF4H
- MOV D,A
- DCX H
- MOV B,M
- M01CDH: CALL M04D8H
- M01D0H: PUSH PSW
- MOV A,M
- CPI 00
- JZ M020AH
- ADD A
- ADD A
- ADD A
- ADD A
- ADD A
- MOV C,A
- POP PSW
- INX H
- MOV A,M
- CMP E
- JNZ M01CDH
- PUSH D
- PUSH B
- INX H
- LXI D,207EH
- M01EAH: MOV A,M
- STAX B
- LDAX B
- XRA M
- MOV M,A
- INX H
- INR C
- DCR D
- JNZ M01EAH
- POP B
- MOV L,C
- MOV H,B
- CALL M0545H
- MOV M,E
- POP D
- CALL M047DH
- JZ M01CDH
- MOV A,D
- CPI 01
- JNZ M01CDH
- RET
- M020AH: POP PSW
- SUB E
- JZ M01CDH
- INR A
- JNZ M0000H ;начало
- CALL M047DH
- JZ M0000H ; начало
- DCR E
- INR B
- DCR D
- JMP M01CDH
- M021FH: PUSH D
- MVI D,70H
- CPI 0FFH
- CZ M0255H
- CALL M022CH
- POP D
- RET
- M022CH: MVI E,60H
- M022EH: IN 05
- ANA D
- CPI 40H
- JZ M0000H ; НАЧАЛО
- CMP E
- JNZ M022EH
- IN 06
- PUSH PSW
- MVI A,9AH
- OUT 04
- XRA A
- OUT 05
- M0244H: DCR E
- JZ M024FH
- IN 05
- ANA D
- CMP D
- JNZ M0244H
- M024FH: MVI A,9BH
- OUT 04
- POP PSW
- RET
- M0255H: CALL M022CH
- CPI 0E6H
- JNZ M0255H
- RET
- ;-------- temirazov & sokolov -----------------
- M025EH: .DB 74H, 65H, 6DH, 69H, 72H, 61H, 7AH, 6FH, 77H, 20H, 64H
- .DB 2EH, 73H, 6FH, 6BH, 6FH, 6CH, 6FH, 77H, 20H, 61H, 2EH
- ; чтение программы из внешнего ППЗУ
- M0274H: LXI H,M07DEH ; рисунок ПЗУ
- MVI A,87H ; высота рисунка
- PUSH D ; сохранить DE
- CALL M06B2H ; вывод рисунка на экран
- POP D ; восстановить DE
- LXI B,0000 ;
- LXI H,8000H ;
- M0284H: MOV A,L ;
- OUT 07 ;
- MOV A,H ;
- OUT 05 ;
- IN 06 ;
- STAX B ;
- INX H ;
- INX B ;
- MOV A,B ;
- CMP D ;
- JNZ M0284H ;
- LXI H,0000 ;
- M0297H: CALL M03B5H ; вывод блока в загрузочную таблицу
- INR H ;
- MOV A,H ;
- CMP D ;
- JNZ M0297H ; пока не выведены все блоки
- RET
- ; программирование цветов, опрос клавиатуры - якобы обработка прерываний
- M02A1H: LXI H,M02D7H ; адрес палитры цветов
- PUSH PSW
- PUSH B
- PUSH H
- MVI B,0FH
- M02A9H: MOV A,B
- OUT 02
- MOV A,M
- OUT 0CH ;
- INR E
- OUT 0CH ;
- INX H
- OUT 0CH ;
- DCR E
- DCR B
- OUT 0CH ;
- JP M02A9H
- MVI A,8AH ; управляющее слово
- OUT 00 ; запись УС в РУС
- MVI A,0FDH ; выбор линейки клавиатуры
- OUT 03 ; запись
- IN 02 ; читать код клавиши из порта
- STA 0DEF7H ; сохранить код клавиши в ЯП 0DEF7H
- MVI A,88H
- OUT 00
- XRA A
- OUT 02
- DCR A
- OUT 03
- POP H
- POP B
- POP PSW
- RET
- ; палитра цветов
- M02D7H: .DB 2DH,2DH,80H,80H,2DH,2DH,80H,80H,2DH,2DH,80H,80H,2DH,2DH,80H,80H
- ; работа с дисководом
- M02E7H: LXI H,M07CAH ; рисунок ДИСКЕТЫ
- MVI A,8AH ; высота рисунка (без старшего байта)
- CALL M06B2H ; вывод рисунка в экран
- MVI A,34H
- STA 0DED0H
- CALL M043FH
- MVI A,03
- CALL M042CH
- MVI A,10H
- STA 110CH
- MVI A,01
- OUT 19H
- LXI D,1100H
- CALL M03C6H
- LXI H,1100H
- LXI D,0DEF1H
- MVI C,1FH
- MVI A,66H
- M0315H: ADD M
- PUSH PSW
- MOV A,M
- STAX D
- POP PSW
- INX H
- DCX D
- DCR C
- JNZ M0315H
- SUB M
- JNZ M0000H ; переход на начало !!!!!!!!!!!!!
- STAX D
- LDA 1104H
- MOV C,A
- LXI H,1100H
- XCHG
- M032DH: XRA A
- M032EH: INR A
- OUT 19H
- PUSH B
- CALL M03C6H
- POP B
- JNZ M0000H ; переход на начало !!!!!!!!!!!!!
- DCR C
- JZ M037EH
- IN 19H
- LXI H,110CH
- CMP M
- JC M032EH
- LDA 110BH
- ORA A
- JZ M0369H
- LDA 0DED0H
- ANI 04
- LDA 0DED0H
- JZ M0362H
- ANI 0FBH
- STA 0DED0H
- OUT 1CH
- JMP M032DH
- M0362H: ORI 04
- STA 0DED0H
- OUT 1CH
- M0369H: CALL M042AH
- LDA 0110EH
- CPI 28H
- CZ M042AH
- LXI H,0DED2H
- INR M
- MOV A,M
- OUT 1AH
- JMP M032DH
- M037EH: LXI B,1180H
- LHLD 1100H
- XCHG
- MOV A,E
- SUB C
- MOV A,D
- SBB B
- XCHG
- JNC M039BH
- M038DH: LDAX B
- CALL M03B0H ; вывод блока в таблицу
- INX B
- INX H
- MOV A,E
- SUB C
- MOV A,D
- SBB B
- RC
- JMP M038DH
- M039BH: DAD D
- MOV A,L
- SUB C
- MOV L,A
- MOV A,H
- SBB B
- MOV H,A
- M03A2H: LDAX D
- CALL M03B0H ; вывод блока в таблицу
- MOV A,E
- SUB C
- MOV A,D
- SBB B
- RC
- DCX D
- DCX H
- JMP M03A2H
- ; загрузка в таблицу блока 256 байт после чтения ППЗУ
- M03B0H: MOV M,A
- MOV A,L
- CPI 00
- RNZ
- M03B5H: PUSH H
- PUSH B
- CALL M0545H
- MVI C,08 ; высота одного блока
- M03BCH: MVI M,7EH ; запись одной полосы блока
- INR L ; адрес выше на точку
- DCR C ; уменьшить счетчик полос
- JNZ M03BCH ; пока не выведен весь блок
- POP B
- POP H
- RET
- M03C6H: CALL M043FH
- MVI A,84H
- MVI H,02
- OUT 1BH
- M03CFH: IN 1BH
- RRC
- JNC M03CFH
- LDA 0110CH
- CPI 10H
- JZ M0411H
- CPI 08
- JZ M0403H
- CPI 09
- JZ M0403H
- M03E7H: IN 1BH
- ANA H
- JZ M03E7H
- IN 18H
- STAX D
- INR E
- JNZ M03E7H
- INR D
- M03F5H: IN 1BH
- ANA H
- JZ M03F5H
- IN 18H
- STAX D
- INR E
- JNZ M03F5H
- INR D
- M0403H: IN 1BH
- ANA H
- JZ M0403H
- IN 18H
- STAX D
- INR E
- JNZ M0403H
- INR D
- M0411H: IN 1BH
- ANA H
- JZ M0411H
- IN 18H
- STAX D
- INR E
- JNZ M0411H
- INR D
- M041FH: IN 1BH
- RRC
- JC M041FH
- IN 1BH
- ANI 5CH
- RET
- M042AH: MVI A,5BH
- M042CH: OUT 1BH
- XRA A
- M042FH: DCR A
- JNZ M042FH
- M0433H: LDA 0DED0H
- OUT 1CH
- IN 1BH
- RRC
- JC M0433H
- RET
- M043FH: LDA 0DED0H
- OUT 1CH
- IN 1BH
- RLC
- RNC
- JMP M043FH
- M044BH: LXI H,M0798H ; рисунок КАССЕТЫ
- MVI A,0DH ;
- CALL M06B2H ;
- MVI A,11H
- STA 0DEF6H
- LXI H,M04FCH ; адрес
- SHLD 0DCF2H
- LXI H,M044BH ; адрес кассеты
- SHLD 0DCF5H
- CALL M04ADH
- M0467H: MOV D,A
- ORA A
- RAR
- MOV E,A
- ADD D
- MOV H,A
- CALL M04ADH
- CMP H
- JC M0467H
- ADD D
- STA 0DEF6H
- MVI E,0CH
- JMP M01A4H
- M047DH: MVI L,00
- MOV H,B
- CALL M0545H
- M0483H: MOV A,M
- ANA A
- RZ
- INX H
- CPI 81H
- JNZ M0483H
- ANA A
- RET
- M048EH: PUSH D
- IN 01
- ANI 10H
- MOV E,A
- M0494H: IN 01
- ANI 10H
- CMP E
- JZ M0494H
- MOV E,A
- MVI D,01
- M049FH: IN 01
- ANI 10H
- INR D
- CMP E
- JZ M049FH
- MOV A,D
- ADD A
- ADD A
- POP D
- RET
- M04ADH: PUSH H
- PUSH D
- M04AFH: CALL M048EH
- MOV B,A
- ORA A
- RAR
- MOV C,A
- LXI H,0000
- MVI D,20H
- M04BBH: CALL M048EH
- PUSH D
- MVI D,00
- MOV E,A
- DAD D
- POP D
- MOV E,A
- SUB B
- JNC M04CBH
- MOV A,B
- SUB E
- M04CBH: CMP C
- JNC M04AFH
- DCR D
- JNZ M04BBH
- DAD H
- MOV A,H
- POP D
- POP H
- RET
- M04D8H: PUSH B
- PUSH D
- LXI H,0DED0H
- M04DDH: PUSH H
- LXI B,0023H
- MVI A,0FFH
- M04E3H: CALL 0DCF1H
- MOV M,A
- INX H
- ADD B
- MOV B,A
- MVI A,08
- DCR C
- JNZ M04E3H
- DCX H
- MOV A,B
- SUB M
- SUB M
- MOV A,M
- POP H
- JNZ M04DDH
- POP D
- POP B
- RET
- M04FCH: PUSH B ; 1 вызов через HL (кассета)
- PUSH D
- MVI C,00
- MOV D,A
- M0501H: IN 01
- ANI 10H
- MOV E,A
- M0506H: IN 01
- ANI 10H
- CMP E
- JZ M0506H
- RLC
- RLC
- RLC
- RLC
- MOV A,C
- RAL
- MOV C,A
- LDA 0DEF6H
- M0518H: DCR A
- JNZ M0518H
- MOV A,D
- ORA A
- JP M053AH
- MOV A,C
- CPI 0E6H
- JNZ M052EH
- XRA A
- STA 0DEF4H
- JMP M0538H
- M052EH: CPI 19H
- JNZ M0501H
- MVI A,0FFH
- STA 0DEF4H
- M0538H: MVI D,09
- M053AH: DCR D
- JNZ M0501H
- LDA 0DEF4H
- XRA C
- POP D
- POP B
- RET
- M0545H: PUSH D ; 4 вызова (при рисовании)
- MOV A,L
- RLC
- RLC
- RLC
- MOV L,A
- MOV A,H
- RAR
- ANI 70H
- MOV D,A
- RAR
- ADD D
- ADD L
- ADI 18H
- MOV L,A
- MOV A,H
- ANI 1FH
- ADI 0C0H
- MOV H,A
- POP D
- RET
- ; проверка наличия квазидиска
- M055EH: LXI H,0FF00H
- SHLD 0DED5H
- XRA A
- STA 0DED2H
- STA 0DED3H
- INR A
- STA 0DED4H
- CALL M0607H
- MVI A,00
- JNZ M058FH
- LXI H,0FF00H
- M057AH: PUSH H
- LXI D,M0591H
- MVI C,0CH
- M0580H: LDAX D
- CMP M
- MVI A,00
- JNZ M058EH
- INX D
- INX H
- DCR C
- JNZ M0580H
- DCR A
- M058EH: POP H
- M058FH: ORA A
- RET
- ; название файла 'OS COM'
- M0591H: .DB 00,4FH,53H,20H,20H,20H,20H,20H,20H,43H,4FH,4DH
- M059DH: LXI H,M07B2H ; рисунок КВАЗИДИСКА
- MVI A,08CH
- CALL M06B2H
- LXI H,0100H
- SHLD 0DED5H
- MOV B,H
- LXI H,0FF10H
- M05AFH: MVI C,10H
- M05B1H: MOV A,M
- ORA A
- JZ M05D6H
- CALL M05DDH
- MOV A,B
- ADI 04
- MOV B,A
- LDA 0DED2H
- ORA A
- JNZ M0000H ; переход на начало !!!!!!!!!!!!!!!
- INX H
- DCR C
- JNZ M05B1H
- CALL M057AH
- JZ M05D6H
- LXI D,0010H
- DAD D
- JMP M05AFH
- M05D6H: MOV D,B
- LXI H,0100H
- JMP M0297H
- M05DDH: PUSH PSW ; 1 вызов (квазидиск)
- PUSH H
- STA 0DED3H
- MVI A,01
- M05E4H: STA 0DED4H
- PUSH PSW
- CALL M0607H
- JZ M05F3H
- MVI A,0FFH
- STA 0DED2H
- M05F3H: POP PSW
- LHLD 0DED5H
- LXI D,0080H
- DAD D
- SHLD 0DED5H
- INR A
- CPI 09
- JNZ M05E4H
- POP H
- POP PSW
- RET
- M0607H: PUSH B ; 2 вызов (квазидиск)
- PUSH D
- LXI H,0000
- DAD SP
- SHLD 0DED0H
- CALL M0641H
- DI
- OUT 10H
- SPHL
- LHLD 0DED5H
- MVI A,00 ; почему бы не XRA A?
- MVI C,20H
- M061EH: POP D
- ADD E
- ADD D
- MOV M,E
- INX H
- MOV M,D
- INX H
- POP D
- ADD E
- ADD D
- MOV M,E
- INX H
- MOV M,D
- INX H
- DCR C
- JNZ M061EH
- MOV C,A
- MVI A,00 ; почему бы не XRA A?
- OUT 10H
- LHLD 0DED0H
- SPHL
- EI
- MOV A,C
- CALL M068CH
- POP D
- POP B
- RET
- M0641H: LDA 0DED4H ; 1 вызов (квазидиск)
- LXI D,0FF80H
- LXI H,0400H
- M064AH: DAD D
- DCR A
- JNZ M064AH
- XCHG
- LDA 0DED3H
- CMA
- CPI 0FCH
- JNC M065BH
- SUI 10H
- M065BH: SUI 04
- MOV L,A
- RLC
- RLC
- ANI 0FCH
- MOV H,A
- MOV A,L
- MVI L,00
- DAD D
- RLC
- RLC
- RLC
- RLC
- ANI 0CH
- PUSH B
- MOV C,A
- MVI A,10H
- ORA C
- POP B
- RET
- M0674H: LDA 0DED3H ; 1 вызов (квазидиск)
- MOV L,A
- MVI H,00
- DAD H
- DAD H
- DAD H
- DAD H
- MVI A,0F0H
- ADD H
- MOV H,A
- LDA 0DED4H
- DCR A
- ADD A
- ADD L
- MOV L,A
- MVI A,1CH
- RET
- M068CH: PUSH PSW ; 1 вызов (квазидиск)
- PUSH D
- LXI H,0000
- DAD SP
- SHLD 0DED0H
- CALL M0674H
- DI
- OUT 10H
- SPHL
- POP D
- MVI A,00 ; почему бы не XRA A?
- OUT 10H
- LHLD 0DED0H
- SPHL
- EI
- XCHG
- POP D
- POP PSW
- CMP H
- JNZ M06AFH
- SUB L
- RZ
- M06AFH: MVI A,0FFH
- RET
- ; вывод рисунка на экран ( в А - количество байт ряда, в HL - адрес )
- M06B2H: MVI B,02 ; число рядов
- LXI D,0D8E2H ; адрес экранной области
- M06B7H: STA 0DCF7H ; сохранить аккумулятор
- M06BAH: LDA 0DCF7H ; восстановить аккумулятор
- ANI 7FH ; снять старший разряд байта
- MOV C,A ; в С из А счетчик байт в ряду
- PUSH D ; сохранить адрес экрана
- M06C1H: MOV A,M ; читаем в А байт из памяти
- STAX D ; запись байта в экранную область
- INX D ; переход к следующему адресу экрана
- LDA 0DCF7H ; восстановить аккумулятор
- ORA A ;
- JP M06CEH ; если паритет, то второй раз не выводить
- MOV A,M ; читаем в А байт из памяти
- STAX D ; запись байта в экранную область
- INX D ; переход к следующему адресу экрана
- M06CEH: INX H ; переход к следующему адресу памяти
- DCR C ; уменьшить счетчик байт в ряду
- JNZ M06C1H ; если не весь ряд записан - опять
- POP D ; восстановить адрес экрана
- INR D ; переход к следующему ряду
- DCR B ; уменьшить счетчик рядов
- JNZ M06BAH ; если не записаны два ряда - опять
- RET
- ; кода надписей и рисунков
- M06DAH: .DB 1FH,39H,60H,0C0H,0CFH,99H,98H,98H,98H,99H,0CFH,0C0H,60H,39H
- .DB 1FH,80H,0C0H,60H,33H,31H,91H,11H,11H,11H,95H,37H,30H,60H,0C0H
- .DB 80H,0C7H,8DH,8CH,8FH,8DH,8DH,0A7H,0E0H,36H,0B6H,36H,0BEH,0BEH
- .DB 0B6H,22H,0,0CDH,0CDH,0EDH,0FDH,0DDH,0CDH,0CDH,0,83H,86H
- .DB 0E6H,0B6H,0B6H,0B6H,0E3H,0,0A7H,0EDH,0E1H,0C3H,0C1H,0EDH,0A7H
- .DB 0,1CH,0B6H,0B6H,36H,0B6H,0B6H,1CH,0,0F1H,0DBH,0DBH,0F1H,0D8H
- .DB 0D9H,0F1H,0,0ECH,99H,35H,6DH,0C1H,0A1H,61H,0C0H,0E3H,0B6H,0B6H
- .DB 86H,86H,0B6H,0B3H,0E0H,99H,0DBH,0DEH,0DCH,0DCH,0DEH,9BH,0,0BBH
- .DB 6DH,6DH,6DH,6DH,6CH,38H,0,0B3H,0B6H,0B6H,0B6H,0B6H,0B6H,73H,0
- .DB 9EH,0DBH,0DBH,0DEH,0DBH,0DBH,9EH,0 ; авторство
- M0760H: .DB 0F3H,0DBH,0DBH,0DBH,0F3H,0DBH,0DBH,0F3H ; ВЕКТОР-06Ц
- .DB 0DBH,1BH,1BH,1AH,9CH,1AH,1BH,0DBH
- .DB 18H,18H,18H,18H,18H,18H,5AH,7EH
- .DB 73H,0DBH,0DBH,0DBH,0DBH,0DBH,0DBH,73H
- .DB 0,1,0C1H,6DH,6DH,61H,61H,0C0H
- .DB 0E3H,0B6H,0B6H,0B6H,0B7H,0B6H,0B6H,0E3H
- .DB 83H,0DFH,0D6H,0D6H,96H,16H,0D6H,96H
- M0798H: .DB 3FH,0ABH,0BFH,0C0H,0FFH,0EFH,0C4H,0ECH,0FFH,0FFH,80H,0C0H,7FH
- .DB 0FCH,0D5H,0FDH,3,0FFH,0F7H,23H,37H,0FFH,0FFH,1,3,0FEH ; кассета
- M07B2H: .DB 0FH,0FFH,80H,92H,80H,92H,80H,92H,80H,92H,80H,0FFH ; квазидиск
- .DB 0F0H,0FFH,1,49H,1,49H,1,49H,1,49H,1,0FFH
- M07CAH: .DB 0FFH,0FEH,0FEH,0FFH,0FCH,0FCH,0FFH,81H,81H,0FFH ; дискета
- .DB 0FFH,7FH,7FH,0FFH,3FH,3FH,0FFH,0FEH,0FFH,0FFH
- M07DEH: .DB 55H,0FFH,0C0H,0C7H,0C0H,0FFH,55H ; МППЗУ
- .DB 54H,0FFH,3,0C6H,3,0FFH,54H
- M07ECH: .DB 0C1H,20H,0FH,1,7,0E4H,4,7,20H,0C1H ; адаптер лок. сети
- .DB 83H,4,0F0H,80H,0E0H,27H,20H,0E0H,4,83H
- .END
- ;-------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement