"Программно-аппаратная организация компьютера IBM PC. (Inside the IBM PC. Access to advanced features and programming) . Переводчики С.Писарев, Б.Шур" - читать интересную книгу автора (Нортон Питер)



Приложение 1.1 Текст программы визуализации всех символов на экране
дисплея (Бейсик).

1000 REM Листинг 1.1 —— Программа для отображения всех
1010 REM символов экрана. (С) Авторское право 1983,
1020 REM Питер Нортон
1030 GOSUB 2000 'ЗАГОЛОВОК
1040 GOSUB 3000 'ОПРЕДЕЛЕНИЕ ТИПА ДИСПЛЕЯ И УСТАНОВКА АДРЕСА
1050 GOSUB 2000 'СНОВА УСТАНОВИТЬ ЗАГОЛОВОК
1060 GOSUB 4000 'ФОРМИРОВАНИЕ ОКРУЖАЮЩИХ КОММЕНТАРИЕВ
1070 GOSUB 5000 'ФОРМИРОВАНИЕ МАССИВА ЭКРАНА
1080 GOSUB 6000 'ЗАВЕРШЕНИЕ РАБОТЫ И ВОЗВРАТ В ДОС
2000 REM Подпрограмма вывода заголовка
2010 KEY OFF : CLS : WIDTH 80
2020 REM
2030 PRINT " Программы для книги "Персональный компьютер"
2040 PRINT " фирмы "IBM".(С) Авторское право 1983"
2050 PRINT " Питер Нортон"
2060 PRINT
2070 PRINT "Программа 1-1: Демонстрация всех символов экрана"
2999 RETURN
3000 REM Подпрограмма проверки типа дисплея
3010 PRINT
3020 PRINT "Прежде чем продолжить работу сообщите,"
3025 PRINT "дисплей цветной-графический?";
3030 GOTO 3060
3040 PRINT
3050 PRINT "(ответ Д или Н)";
3060 ANSWER$ = INKEY$
3070 IF LEN(ANSWER$) < 1 THEN 3060
3080 IF LEN(ANSWER$) > 1 THEN 3040
3090 SEGVAL! = 0
3100 IF MID$(ANSWER$,1,1) = "Y" THEN SEGVAL! = &HB800 'Цветной
3110 IF MID$(ANSWER$,1,1) = "y" THEN SEGVAL! = &HB800 'Цветной
3120 IF MID$(ANSWER$,1,1) = "N" THEN SEGVAL! = &HB000 'Монохр.
3130 IF MID$(ANSWER$,1,1) = "n" THEN SEGVAL! = &HB000 'Монохр.
3140 IF SEGVAL! = 0 THEN 3040
3150 DEF SEG = SEGVAL!
3999 RETURN
4000 REM подпрограмма для формирования сопроводительных
4005 REM сообщений
4010 FOR HEX.DIGIT% = 0 TO 15
4020 LOCATE 6,HEX.DIGIT% * 3 + 1
4030 PRINT HEX$(HEX.DIGIT%)
4040 LOCATE HEX.DIGIT% + 8,8
4050 PRINT HEX$(HEX.DIGIT%)
4060 NEXT HEX.DIGIT%
4070 LOCATE ,,0