Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ZX-Review-1992-01-12.pdf
Скачиваний:
246
Добавлен:
28.03.2015
Размер:
2.43 Mб
Скачать

ленту с любым названием, содержащим 10 символов, загрузить Ваш хэдер в копировщик COPY COPY, найти там адрес ячеек, содержащих название, используя команду LIST и поменять их командой POKE, следуя нижеизложенным рекомендациям.

Для тех, кто не имеет копировщика COPY COPY, возможен другой вариант. Одной из строк своей программы Вы делаете строку

nn SAVE "имя программы" LINE m

После этого Вам необходимо получить дампинг памяти, используя одну из предложенных в этой главе программ. Запомнив адреса ячеек памяти, в которых находятся байты с названием Вашей программы, необходимо изменить их, следуя нижеизложенным рекомендациям, после чего обратиться к этой строке командой GO TO nn и записать файл в магнитофон. Неудобство второго метода заключается в том, что созданная Вами строка nn SAVE "имя программы" LINE m, должна будет остаться в программе, т.к. при записи хэдера в общую длину программы вошла также и длина этой строки.

Итак, какие надо делать изменения, чтобы название печаталось в произвольном месте экрана? Необходимо лишь задать данную позицию, используя управляющий код AT CONTROL. Из отводящихся под название 10 байтов, 3 будет занимать AT CONTROL со своими параметрами. Ввиду этого под само название остается лишь 7 байтов.

Для того, чтобы распечатать название NEITRON в позициях AT 10,12, Вам необходимо, чтобы в 10 байтах хэдера, отведенных под название, содержалась следующая комбинация:

22

10

12

78

69

73

84

82

79

78

AT CNTR

r

с

N

Е

I

Т

R

O

N

1

2

3

4

5

6

7

8

9

10

Если же мы хотим создать систему команд, уничтожающую слово PROGRAM, то необходимо действовать в следующей последовательности:

1)Установить курсор в позицию AT 1,0 используя код AT CONTROL, чтобы следующей командой стереть это слово.

2)Стереть слово PROGRAM, используя управляющий код COMMA CONTROL.

3)Установить курсор в то место экрана, с которого мы желали бы распечатать текст названия программы с помощью AT CONTROL.

4)Распечатать название программы.

Таким образом, как видим, в предложенном варианте под текст названия программы остается всего 3 знакоместа. Для тех, кому этого окажется мало, можно не делать пункт 3 данного плана, что позволяет сэкономить еще 3 байта. Итак, чтобы распечатать название программы MVS в позиции экрана 8, 8, уничтожив перед этим слово PROGRAM необходимо, чтобы 10 байтов заголовка имели вид:

22

1

0

6

22

8

8

77

86

83

AT CNTR

r

с

COM CNTR

AT CNTR

r

c

M

V

S

1

2

3

4

5

6

7

8

9

10

Возможно, что экспериментируя над управляющими кодами, читателю удастся обнаружить нечто новое в этой интересной области.

Теперь некоторые советы. Выше было описано использование управляющих кодов в операторе PRINT через CHR. Я полагаю, что Вам будет удобней экспериментировать именно используя непосредственно управляющие коды.

И последнее. Запомните, пожалуйста, что байт, стоящий после управлявшего кода, содержит именно значение данной цифры, а не её ASCII код. Это правило касается абсолютно всех управляющих кодов.

ПРОГРАММА ДЛЯ СНЯТИЯ ЗАЩИТ

Предназначена для программ, которые используют управляющие коды INK CONTROL и PAPER CONTROL.

9990 REM Программист МИХАЙЛЕНКО ВАДИМ МРТИ 010207,1991

9991 PAPER 7: INK 0: BORDER 7: CLS

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]