Как написать игру для ZX Spectrum на ассемблере

       

ВВОД СТРОКИ



ВВОД СТРОКИ

Давайте напишем небольшую программку, находясь в редакторе GENS. Для этого загрузите и запустите ассемблер, как было сказано выше, для определенности выбрав адрес загрузки равным 25000.

Вводить строки можно двумя способами: так же, как и в Бейсике, то есть каждый раз набирать номер и текст, или воспользоваться автоматической нумерацией, что на наш взгляд несравненно удобнее. Для автоматической нумерации строк нужно на подсказку редактора (символ > с курсоромC или L) ввести команду I (Insert - режим вставки строк) и нажать Enter. Первая строка будет иметь номер 10 и последующие номера будут увеличиваться с шагом 10. Если вы пожелаете изменить порядок нумерации строк, введите ту же команду I, но с двумя параметрами, разделенными запятой: первое число - начальный номер, второе - шаг. Например, I100,5.

Итак, введите команду I с параметрами или без - после старта GENS оба параметра по умолчанию равны 10, поэтому в самом начале работы их можно и не указывать.

Так как в первой строке метки нам не понадобятся, сразу перейдем к полю мнемоник. Переход к следующему полю строки осуществляется вводом символа табуляции, который получается при одновременном нажатии клавиш Caps Shift и 8. (Вместо символов табуляции можно вводить просто один или несколько пробелов - после окончательного ввода строки они автоматически будут заменены кодами табуляции, и при просмотре листинга текст будет выглядеть аккуратно выровненным по границам полей.) Нажмите эту комбинацию клавиш и увидите, как курсор перескочит вправо сразу на несколько позиций печати. Теперь можно набрать какую-нибудь инструкцию.

Как правило, программы на ассемблере начинаются с указания начального адреса, то есть того адреса, с которого полученная программа будет загружаться в память. Это достигается включением в программу директивы ORG (от англ. Origin - начало), следом за которой пишется десятичный или шестнадцатеричный адрес. (При записи шестнадцатеричных чисел они должны начинаться с символа #, например, #3FC.) Наберите в первой строке эту директиву и укажите после символа табуляции адрес 60000. Если вы случайно нажмете не ту клавишу, удалить последний введенный символ можно обычным образом, нажав клавиши Caps Shift/0 или Delete. Но вот переместить курсор к любому символу строки стандартными методами не удастся: ведь клавиши Caps Shift/8, как вы уже знаете, отвечают за ввод табуляции, а Caps Shift/5 удалит весь текст строки и переместит курсор в самое ее начало. Закончите ввод нажатием клавиши Enter, после чего строка должна принять вид

10 ORG 60000

а ниже появится номер следующей строки с курсором.

Аналогичным образом введите еще две строки:

20 LD BC,1000 30 RET

Теперь нам нужно вернуться в строчный редактор GENS. Для этого достаточно нажать клавишу Edit или Caps Shift/1. На экране снова появится подсказка, на которую можно вводить команды редактора.



Содержание раздела