ZX Spectrum
Game

Spectrum Assembler

Artic Computing Ltd (Великобритания),

Авторы: ,

Жанр: Программирование: Asm


Язык

  • Русский
  • English

Управление

  • Клавиатура(?)

Игроков

  • Один

Доступные версии

Неофициальное издание
Играть!
Оригинальное издание
Играть!
Оригинальное издание
Играть!
Оригинальное издание
Играть!
Переиздание
Играть!

Доступные версии

Неофициальное издание
Играть!
Оригинальное издание
Играть!
Оригинальное издание
Играть!
Оригинальное издание
Играть!
Переиздание
Играть!
  •  Описание (авт.пер.)
  •  Информация
Описание Spectrum Assembler (автоматический перевод)

ZX ASSEMBLER

ВВЕДЕНИЕ

Цель ZX ASSEMBLER является упрощение весь процесс

машинный код программирования на компьютерах ZX. Это обеспечивает комплексный, легко в эксплуатацию объектов, сохраняя удивительно большое количество доступно пользователю памяти. Программа занимает 7К и находит себя в верхней части памяти: таким образом BASIC очень близка же, как и без ассемблера настоящее, что позволяет использование Код Ассамблея подпрограммы в рамках базовых программ.

ОБЩЕЕ ОПИСАНИЕ

Есть два основных раздела программы:

(1) РЕДАКТОР / ASSEMBLER. Вы можете вводить и редактировать ваш

сборка код с редактором затем собрать его с СОБРАТЬ команду. РЕДАКТОР был разработан специально для внесения ассемблере: он работает вверх и вниз Экран прокрутки; искать строку; позволяет вставки / удаления линии / персонажи; авто-повторить на всех клавиш; Система отступы этикетки & Курсор вверх, вниз, влево и вправо. Это позволит до 31 символов в строке. Сборщик универсальный: он предусматривает полный мнемонические и этикетка монтаж, позволяет вводить номера в шестнадцатеричном и десятичном, и это позволяет вводить текст и комментарии.

(2) MONITOR. Это обеспечивает средства для тестирования и отладки, пробег

Ваша машина-код программы. Он также предоставляет ряд полезно подпрограммы (например, ввода с клавиатуры, печать на экране … и т.д.

Это руководство предназначено, чтобы объяснить, как работать с редактором /

ASSEMBLER и MONITOR, также давая советы и программы для новички, а также список Z80 наборов инструкций.

ZX ASSEMBLER является мощным часть программного обеспечения и используется правильно

может увеличить скорость программирования и способность чрезвычайно.

Начинаем

Читайте соответствующую главу в руководстве Sinclair для загрузки Программа от кассеты.

Программа загружается с помощью НАГРУЗКИ “”. Программа берет

примерно 3 1/4 минут, чтобы загрузить. После того как программа загружается он выполняет новую, и отображается К Курсор.

Чтобы запустить программу, вы должны ввести: RAND USR 3E4, когда

Программа познакомит себя. Вы сейчас в командном режиме ассемблера. Все команды начинаются с одним ключом Пресс отсюда. Чтобы вернуться к основной тип Q (Quit) дважды.

Если вы хотите продолжить редактирование неполную программу:

Загрузите Ассемблер, как описано выше. Теперь загрузите неполным Программа, как обычно. Затем введите: RAND USR 3E4

Если нынешняя программа выходит сборщику слишком мало

памяти, ошибка 4 дается на вводе RAND USR 3E4.

1

СОХРАНЕНИЕ ПРОГРАММ

Чтобы сохранить полную или неполную программу, нажмите Q в два раза, чтобы вернуться

на BASIC. Вы найдете два строки программу BASIC, плюс любое другое что вы ввели.

1 REM

2 REM

Строка 1 содержит машинный код. Строка 2 содержит сборку

язык. Вы можете в этот момент, чтобы удалить либо линию, как необходимо и для сохранения оставшейся части программы в обычном режиме. Монтажник не будут сохранены. Эта программа может быть загружена после Монтажник был загружен для дальнейшего редактирования, как это необходимо. (См знакомитесь). Если вы еще не закончили свою программу, вы можете удалить объектный код (линия 1) и сохранить только исходный код. Однако это лучше всего так делать резервную ленту, содержащую только источник Код для будущих ammendments.

2

РЕДАКТОР

При вызове редактора экран текст, введенный до сих пор, является

отображается. Это будет либо в месте, где вы в последний раз РЕДАКТОР или из-за ошибки при сборке. (СМ МОНТАЖ) РЕДАКТОР предоставляет пользователю несколько функций, кроме просто вводе текста. Все функции получаются с SHIFT Ключ удерживается.

Функции:

Нажмите SHIFT 6 для перемещения курсора вниз

SHIFT 7 для перемещения курсора вверх SHIFT 8 для перемещения курсора вправо SHIFT 5 для перемещения курсора влево SHIFT 0 до RUBOUT последний символ SHIFT 9, чтобы вставить символ в текущей позиции Переложить ввести метку. Перемещение курсора на крайний левом углу экрана. Работает только если курсор в 7-й символ Положение и если метка не есть еще.

SHIFT D АННУЛИРУЕТ текущую строку.

SHIFT E вставляет строку в текущей позиции курсора SHIFT G печатает текст из позиции курсора на ZX принтер ..

SHIFT Q уходит от поиска, линии или редактора. Предположим, вам сделать ошибку в линии, SHIFT Q восстанавливает линию в исходное состояние.

SHIFT S искать строку с позиции курсора. Пресс Переложить искать метки. Если не найден, курсор остается в том же положении.

SHIFT T перемещает курсор в начало текста.

Существует AUTO REPEAT на все лады через 1 секунду.

Редактор позволяет максимум 31 символов в строке. Если вы запустите из памяти, вы вернетесь в командном режиме и OUT Памяти появится сообщение; линия вы только что набрали будет были удалены, так что вы можете вернуться в редактор, чтобы выжать вещи вверх! Если этикетка должна быть изменена, SHIFT не будет двигаться курсор влево, так что используйте курсор влево.

Синтаксис ассемблера

После того как программа ввела себя, у вас есть выбор из нескольких

Команды для монитора, но мы должны сначала изучить Редактор / Assembler.

Чтобы войти в редактор, вы набираете Е. экран очистится и отображения

графический пространство, семь символов в от левой стороны Экран. Теперь вы готовы ввести ассемблере.

3

ЭТИКЕТКИ

Монтажник примет этикетки любой строки букв или цифр

начинающийся с буквы сразу следуют: = Постоянная или Ассамблея язык или – пространство

Чтобы ввести метку, тип SHIFT ‘A’ и курсор переместится на

крайняя левая рука экране. Это дает эффект отступов Язык ассемблера и делает его более удобным для чтения.

Пример: рутина Score SCORE1 = 5000 JR НАЧАТЬ; перейти к началу.

SCORE 00 00; сохранить 2 байта для очков.

НАЧАТЬ LD HL, (Score); получить содержимое счетом.

INC HL; увеличить его LD (SCORE), HL; хранить новый счет LD (SCORE1), HL; магазин копии нот в 5000 HEX RET

Метка может быть доступна со смещением -9 до +9.

например LD, (PTR +4) JP 7A3C; перейти к MONITOR PTR 1 2 3 4 5 6

Будет иметь значение 5. Если смещение указанного, предположим, она равна нулю.

= 1.

| |

| N.B. Желательно не использовать метку с таким же именем как регистр | | E.g. До н.э., или в качестве юридического числа. | | E.g. ABCD, как вы будете или сообщения об ошибках на относительных прыжков | | Или потенциально катастрофические последствия. | | |

ТЕКСТ

Любой текст в речи знаков “(SHIFT P) будет собираться непосредственно

в HEX. Это обеспечивает как легкий способ ввода сообщения, чтобы быть напечатаны, и вы можете также использовать текст в командах Ассамблеи языка. Пример: Распечатать сообщение ЗВОНИТЕ 7E99; Текст печати “Здесь мы вступаем TEXT” FF

Пример: Текст на языке ассемблера

LD, 0; получить начальное значение ПРОВЕРКА INC A; добавить к нему 1 CP “*”; проверить * JR NZ ПРОВЕРКА; если не перейти проверка ЗВОНИТЕ 7EAA; печать характер ЗВОНИТЕ 7E99; Текст печати “IS * ЗНАК” FF

Поэтому не нужно знать коды символов.

Любые HEX Bytes введенные в также в сборе, так что если вы хотите сохранить памяти, вы можете набрать E5 C5 вместо PUSH HL PUSH BC.

4

ЦИФРЫ

Ассемблера умолчанию Hexidecimal (база 16)

8-разрядные числа от 0 до FF

16-разрядные числа от 000 до FFFF (должно быть 3 или 4 цифры)

Десятичные числа можно также использовать с ‘+’ или – знак ”. Они будут

всегда быть 16-разрядные числа.

например +1 Представлена ​​0001.

Монтажник умный во многих отношениях, в том, что он рассматривает

число, когда это возможно, как 8 или 16 бит, включая десятичной, когда это необходимо.

Пример: метка нагрузки.

ТЕСТ = +64 LD HL, TEST; 16 бит ожидается

LD, TEST; 8 бит ожидается

ТЕСТ этикетка трактуется как число 16-битных и 8 бит где

указано. Если, однако, Монтажник ожидает 8 разрядное число, когда их число больше, чем FF или 255, Номер ошибки будет сообщили, когда Сборка.

Пример: Числа

LD HL, 1; Хорошо

LD, + 13; Хорошо LD, 101; Ошибка

Если вы хотите, чтобы загрузить регистр с номером, который также является

зарегистрируйтесь, необходимо предварить число 0.

Пример LD A, B; магазины зарегистрируйтесь B в A LD, 0B; хранит число В в А

ЦИКЛОННОГО

Каждая команда может быть разделены пробелами или конце линии.

Пробелы могут быть заменены множеством пространств, за исключением Следующие инструкции, которые необходимо выполнить в точности, как показано ниже.

LD_A, я

LD_I, _ пространство LD_R, LD_A, R EX_AF = EX AF, AF ‘ EX_DE, HL Ex_ (SP), HL

НЕСТАНДАРТНЫЙ мнемонике

Следующие Мнемоники нестандартные Z80

EX AF = EX AF, AF ‘

IM0 вместо IM_0 IM1 вместо IM_1 ИМ2 вместо IM_2 JP и JR нет НИКАКИХ запятые например JR NZ +7

КОММЕНТАРИИ

Комментарии должны предшествовать с запятой; Текст после этого воли

игнорироваться ассемблере.

5

МОНТАЖ

После того, как вы набрали на вашем языке Ассамблеи, теперь вы готовы

Собрать его, Выйти из редактора, используя SHIFT Q.

Чтобы собрать программу, типа когда СОБРАТЬ будут напечатаны. Теперь нажмите NEWLINE и ваша программа будет в сборе.

Программа Собранный начать в адрес 4084 HEX или 16516 ДЕСЯТИЧНАЯ. Это REM линия 1, когда вы вернетесь к BASIC. Если вас сделать ошибку, сообщение об ошибке будет напечатано. Ввод ‘E’ будет отобразить текст из линии, на которой произошла ошибка.

Сообщения об ошибках вы можете получить следующие:

LABEL ОШИБКА

(1) Не определено этикетки.

(2) определение метки Незаконное, например начиная с числом. Если вы неправильно заклинание мнемонику, вы, вероятно, получите эту ошибку, как это думает вас пытаетесь получить доступ метку.

Относительный переход ОШИБКА

Это происходит, если относительный переход находится вне диапазона. то есть скачок >127 или<-128 байт, или, если скачок вне диапазона.

Погрешность смещения

(1) Загрузка реестра с меткой плюс смещение.

например LD HL, (Фред + 10) только + – 9 допускается.

(2) С помощью индексных регистров плюс смещение, которое является слишком большим. IX, IY>+127 или<-128

КОЛИЧЕСТВО ОШИБОК

Это сообщение об ошибке при попытке использовать ряд слишком большой для соответствующей инструкции.

например LD, 1000

ИЗ ПАМЯТИ

(1) В редакторе когда Ассамблея язык слишком долго.

(2) В течение Сборка когда не хватает места, чтобы собрать Программа.

СТЕК ОШИБКА

В конце исполнения, когда слишком много было принято или влево на стек. (См следующие заметки)

Синтаксическая ошибка

Отчетный все другие ошибки.

например ADD A, *.

При разработке процедуры не стоит ставить RET в конце

Вашей рутины, как Ассемблер заканчивает процедуру с Перейти к Монитор. Это означает, что если есть ошибка Stack, система не будет авария. RET в конце вашей программы возвращает вас к BASIC.

Чтобы запустить процедуру, RUN нажмите ‘R’ ОТ ADDR 4084 будет отображается. Пресс NEWLINE бежать к вашей обычной. По умолчанию адрес 4084 (начало подпрограммы машинного кода). Это может быть изменен, набрав в любой адрес.

| |

| Примечание: ** Если появляется сообщение об ошибке во время сборки, программа может | | НЕ быть запущен как можно быть частично собранном только, или вообще не | | |

6

MONITOR

ZX-ASSEMBLER также предоставляет полезную Monitor, чтобы вы могли Тест, де-ошибка и запускать программы машинного кода. Все команды начато с одного нажатия клавиши, и многие, возможно, потребуется 4-значный HEX адрес. Пресс NEWLINE ввести этот адрес. Любая запись может быть прервана нажатием Q до строки.

КОМАНДЫ

Чтобы собрать программу

С Эта команда копирует блок памяти из одного места в другое. КОПИЯ БЛОК: ПЕРВЫЙ АДРЕС … Первый адрес блока для копирования.

ПОСЛЕДНИЙ АДРЕС … Последний адрес блока для копирования.

В адр … адрес назначения.

М Это режим EDIT памяти, вы можете ввести / отредактировать M / C непосредственно. Вниз по левой стороне экрана является колонна 24 2 байта обращается, и рядом эти столбец содержимого каждого адрес. Курсор на полпути вниз указывает адрес область памяти, вы можете изменений. Чтобы сделать это, типа в HEX номер и нажмите NEWLINE. Если нажать Q перед символом перевода строки то запись этого числа будет прервана. Команды этот режим, являются: J Рассчитывает прыгать смещение относительных прыжков: введите последний 2 цифр адреса назначения, пресс-новой строки и смещение будет введен по адресу курсора.

L курсор перемещается вниз непрерывно через память {повторяется NEWLINE) Newline курсор перемещается вниз на один шаг.

Движется вывода курсора вверх непрерывно (повторяться P) P движется курсор вверх на один шаг.

R повторяет вступление значение: введите значение и нажмите NEWLINE. Содержание любой адрес, на который курсор Точки будут изменяться по вашему значения – любой из курсора движе- Команды MENT можно использовать. Для отмены повторного нажмите Q. Я Осмотрите и изменять регистры. Дисплеи зарегистрируйтесь пары BC, DE, HL и AF. F также отображается в двоичной с каждым флагом меченым (S = знак, Z = нулю, Н = наполовину переноски, O = паритет / перелива, N = отрицательный или минус, C = нести). Когда вы запускаете программу машинного кода, в Значения отображаются помещаются в регистры, и на возвращение значения из регистров записываются. HEX число, введите будет положить в регистр, на который указывает курсор. Для ввода номера и перемещения курсора, нажмите строки.

7

S ПОИСК … 2 байта номер для поиска.

С ADDR … адрес, с которого начинается поиск.

Поиск по всем 64K кроме стека. Отображает адрес Первое появление числа – если нажать M, он идет прямо в режиме редактирования памяти по этому адресу, или Q, чтобы вернуться к Командный режим. “НЕ НАЙДЕН” отображается, если числа не происходит.

R Запускает машинного кода рутины с адресом 4084 или по адресу Вы входите. Вернуться на мониторе с помощью команды перехода Собранный ассемблером. Адрес скачок 7AC3. Экран очищается прежде чем программа будет работать. По возвращении на монитор ждет любой Ключ к быть нажата до очистки экрана снова и возвращение в командный режим.

| |

| Заметка. Нажатие Q (или SHIFT Q в редакторе) всегда будет прервать | | То, что вы делаете, когда Ассемблер ждет ключ к | | Быть нажата. | | |

8

ПОЛЕЗНЫЕ ассемблере подпрограмм

Монтажник содержит много подпрограмм, которые вы, возможно, пожелает

использовать в вашей программе. Вот список из более полезным. Содержимое всех регистров (кроме F) не сохраняются, если иное заявил. Используйте инструкцию CALL, чтобы вызвать подпрограмму в ваш Программа, адрес HEX дается кроме имени подпрограммы.

Очистить экран – 7FB5 Очищает экран и домов экран курсор.

ГЛАВНАЯ – 7D7D Возвращает курсор в верхний левый от Экран.

DISPLAY СИМВОЛ – 7EAA код, выводимый на дисплей в регистре A. Увеличивает курсор (адрес 7FD0). Символы управления курсором (70 – 73 HEX) можно использовать, экран автоматически выводится вверх или вниз по мере необходимости.

Прокрутки вверх – 7F50 Прокрутите вниз – 7F6A DISPLAY TEXT – 7E99 Отображение текста следующий вызов Инструкция. Конец с FF.

например ВЫЗОВ 7E99 “ПРИВЕТ” FF отображает ПРИВЕТ на экранного курсора.

Шестнадцатеричное число – 7E7E Дисплеи зарегистрировать в HEX. КЛАВИАТУРА – 7E0F Сканы клавиатура раз. Возвращает символ Код в А; A = FF, если не была нажата ни одна клавиша.

1 HEX IN – 7DC0 Возвращает значение в регистре.

D = FF, если Q нажата.

2 HEX IN – 7DB7 Возвращает значение в HL. Повреждена.

СОЗДАТЬ REM – 7B4E Создает REM строчку в BASIC DE Макс адр, которые могут быть перезаписаны. До н.э. линия число. Длина HL не включая EA 76.

НАЙТИ ЛИНИЯ – 7AEE Находит адрес строки в BASIC.

Введите номер строки в до н.

Выход адрес в HL.

Delete Line – 7B76 Удаляет строку в BASIC Введите номер строки в до н.

КОПИЯ BLOCK – 7BEE Копии блок памяти как в Команда COPY на мониторе.

1-й адрес в до н.э. начале блока.

Второй адрес в DE конце блока.

Третий Адрес в HL нового начального адреса.

NEWLINE – 7F8A Причины новой строки (возврат каретки) – 7A3C Обратный адрес на ассемблере.

9

СОВЕТЫ для начинающих

| |

| Не паникуйте !!! | | |

Машинный код не является таинственный искусство практикуется льдом здорово свист

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

ПРАВИЛА

(1) Заповедник среды. Сохранить все регистры в пределах суб-

Процедуры, вставив их в стек. Перед Возвращаясь восстановить их в обратном порядке, к которым они были спасены.

например LD, 27; установлен на значение

PUSH HL; Сохранить HL PUSH BC; Сохранить до н.э.

ЗВОНИТЕ 7EAA; печать характер в А POP BC; восстановить до н.э.

POP HL; восстановить HL

Помните: с стопками – в прошлом, сначала OFF.

(2) Все помещается в стек, в подпрограмму, должны быть

вылетел в таком же режиме, или до RET удовлетворяется.

Предположим, Фред является печать подпрограммы

Фред LD, 17; установлен на значение

PUSH AF; Сохранить AF ЗВОНИТЕ 7EAA; печать характер RET; вернуться?

Эта процедура будет катастрофа, как должно быть POP AF до

RET.

(3) Не забывайте, где ваш стек. Не найти машинный код

рутина слишком близко к Stack, это потому, что стек может коррумпированной процедура, когда он заполняется.

(4) Относительные скачки имеют предел от текущей позиции

+127 Байт вперед -128 Байт назад.

(5) Читать столько информации, сколько Вы можете о программировании.

(6) Положите вещи в подпрограммах, как Маха как разумно возможно.

Рекомендуемые книги

Машина Язык программирования стало проще для вашего Синклер.

Понимание ZX81 ROM Melbourne House Программирование Z80 Закс Sybex Справочник Инструкция Z80.

10

Примеры программ

Эта программа показывает, как галактика может выглядеть в космическом корабле.

LD BC, + 7680; счетчик для числа повторов

BEG1 ЗВОНОК РНД; получить случайное число CP B JR NC ЗВЕЗДА LD, 97; магазин код * JR СНОВА ЗВЕЗДА CP C JR NC BLAN БЕСПЛАТНО LD, 80; магазин код для графического пространства JR СНОВА BLAN ЗВОНОК RND CP 7D JR C БЕСПЛАТНО LD, 9В; магазин код графического СНОВА ЗВОНИТЕ 7EAA; распечатать сохраненную характер Декабрь BC; декремент счетчика LD A, B ИЛИ С; проверить, если ноль JR NZ BEG1; если не повторить RET РНД LD A, R; положить случайное число в А RES 7,; сделать в диапазоне 0-128 RET

Эта программа медленно приземляется космический корабль:

LD DE, + 700

LOOP ЗВОНОК 7E99 “++ = -” 72 72 72 72 FF; печать космический корабль Декабрь DE LD B, 0; задержка DJNZ -2 LD A, D ИЛИ E; рассчитывать = 0 JR NZ LOOP; если нет, петля назад ВЫЗОВ 7E99 76 “** ПОСАДКУ **” FF

11

ТАЙНА ПРОГРАММА

START LD HL, СНВ

LD DE, NEXT + 1 LD B, 5 LOOP PUSH BC LD B, 0 LD, (DE) LD C, PUSH HL ДОБАВИТЬ HL, BC LD, (HL) LD H, + 57 SCF ВЫЗОВ 7EAA LD L, 0 Декабрь HL CONT декабря HL LD A, H или L JR Z 3 SCF JR CONT POP HL POP BC INC DE DJNZ LOOP Декабрь D СЛЕДУЮЩИЙ РЛБ LD (DE), LD DE, 1C16 JP 7A3C

12

Эта программа отображает сообщение вертикально крупными буквами.

JR СНВ

MES “Привет ЭТО”; сообщение “ВАШ ZX81” FF; заканчиваться FF TMP 00 START LD DE, MES; DE является указателем на символ NXTC LD, (DE); получить символ CP FF; это конец?

JR Z END И 7F; игнорировать обратный LD H, 0 LD L, ДОБАВИТЬ HL, HL; умножить на 8, чтобы ДОБАВИТЬ HL, HL; дают смещение в ДОБАВИТЬ HL, HL; Таблица символов LD BC, 1E00; Добавить в базовый адрес ДОБАВИТЬ HL, BC; из таблицы символов LD B, 8; петля для характера NXTL PUSH BC; сохранить счетчик LD, (HL); получить строку в этого персонажа LD (ТМП),; храните его в TMP LD B, 8; немного кол подряд NXTB LD, (TMP) РБА LD (ТМП),; проверка немного LD, (DE) JR C DISP; если установлен GOTO DISP BIT 7,; проверить обратный JR Z 4 LD, 80 JR 1; = 80 для обратного XOR; = 0 для не обратный DISP ЗВОНОК 7EAA; печать характер DJNZ NXTB; Следующий бит ЗВОНИТЕ 7E99 76FF; Дисплей новой строки INC HL POP BC DJNZ NXTL; Следующий ряд характера INC DE JR NXTC; получить следующий символ END; сообщения

13

Z80 Коды инструкций

| OBJ ИСТОЧНИК | | OBJ ИСТОЧНИК | | КОД ЗАЯВЛЕНИЕ | | Код ЗАЯВЛЕНИЕ | | | | | | 8E АЦП, (HL) | | E620 и п | | DD8E05 АЦП, (IX + d) | | CB46 BIT 0, (HL) | | FD8E05 АЦП, (IY + d) | | DDCB0546 BIT 0, (IX + d) | | 8F АЦП, | | FDCB0546 BIT 0, (IY + d) | | 88 ADC A, B | | CB47 BIT 0, |

| 89 АЦП, C | | CB40 BIT 0,8 |
| 8A АЦП, D | | CB41 BIT 0, C |
| 8B АЦП, E | | CB42 BIT 0, D |
| 8C АЦП, H | | CB43 BIT 0, E |
| 8D АЦП, L | | CB44 BIT 0, H |
| CE20 АЦП, п | | CB45 BIT 0, L |
| ED4A ADC HL, BC | | CB4E БИТ 1, (HL) |
| ED5A ADC HL, DE | | DDCB054E БИТ 1, (IX + d) |
| ED6A ADC HL, HL | | FDCB054E БИТ 1, (IY + d) |
| ED7A ADC HL, SP | | CB4F БИТ 1, |

| 8E добавить, (HL) | | CB48 БИТ 1, B | | DD8605 ADD A, (IX + d) | | CB49 БИТ 1, C | | FD8605 ADD A, (IY + d) | | CB4A БИТ 1, D | | 87 ДОБАВИТЬ, | | CB4B БИТ 1, E |

| 80 ДОБАВИТЬ A, B | | CB4C БИТ 1, H |
| 81 ДОБАВИТЬ, C | | CB4D БИТ 1, L |
| 82 ДОБАВИТЬ, D | | CB56 БИТ 2, (HL) |
| 83 ДОБАВИТЬ, E | | DDCB0556 БИТ 2, (IX + d) |
| 84 ДОБАВИТЬ, H | | FDCB0556 БИТ 2, (IY + d) |
| 85 ДОБАВИТЬ, L | | CB57 БИТ 2, |

| C62D ADD A, п | | CB50 BIT 2,3 | | 09 ДОБАВИТЬ HL, BC | | CB51 БИТ 2, C | | 19 ДОБАВИТЬ HL, DE | | CB52 БИТ 2, D | | 29 ДОБАВИТЬ HL, HL | | CB53 БИТ 2, E | | 39 ДОБАВИТЬ HL, SP | | CB54 БИТ 2, H | | DD09 ДОБАВИТЬ IX, BC | | CB55 БИТ 2, L |

| DD19 ДОБАВИТЬ IX, DE | | CB5E БИТ 3, (HL) |
| DD29 ДОБАВИТЬ IX, IX | | DDCB055E БИТ 3, (IX + d) |
| DD39 ДОБАВИТЬ IX, ИП | | FDCB055E БИТ 3, (IY + d) |
| FD09 ДОБАВИТЬ IY, BC | | C35F БИТ 3, |
| FD19 ДОБАВИТЬ IY, DE | | CB58 БИТ 3, B |
| FD29 ДОБАВИТЬ IY, IY | | CB59 БИТ 3, C |
| FD39 ДОБАВИТЬ IY, SP | | CB5A БИТ 3, D |

| A6 И (HL) | | CB5B БИТ 3, E | | DDA605 И (IX + d) | | CB5C БИТ 3, H | | FDA605 И (IY + d) | | CB5D БИТ 3, L | | A7 И | | CB66 БИТ 4, (HL) | | A0 И Б | | DDCB0566 БИТ 4, (IX + d) | | A1 и C | | FDCB0566 БИТ 4, (IY + d) | | A2 И D | | CB67 БИТ 4, | | A3 И Е | | CB50 БИТ 4, B | | A4 И Н | | CB61 БИТ 4, C | | A5 И L | | CB62 БИТ 4, D |

14

| | | |

| OBJ ИСТОЧНИК | | OBJ ИСТОЧНИК | | КОД ЗАЯВЛЕНИЕ | | Код ЗАЯВЛЕНИЕ | | | | | | CB63 БИТ 4, E | | ADB1 CPIR | | CB64 БИТ 4, H | | EDA1 CPI | | CB65 БИТ 4, L | | 2F CPL | | CB6E БИТ 5, (HL) | | 27 DAA | | DDCB056E БИТ 5, (IX + d) | | 35 декабря (HL) | | FDCB056E БИТ 5, (IY + d) | | DD3505 DEC (IX + d) |

| CB6F БИТ 5, | | FD3505 DEC (IY + d) |
| CB68 БИТ 5, B | | 3D декабря |
| CB69 БИТ 5, C | | 5 декабря B |
| CB6A БИТ 5, D | | 0B декабря BC |
| C86B БИТ 5, E | | 0D декабря C |
| C86C БИТ 5, H | | 15 декабря D |
| C86D БИТ 5, L | | 1B декабря DE |

| CB76 BIT 6, (HL) | | 1D декабря E | | DDCB0576 BIT 6, (LX + d) | | 25 декабря H | | FDCB0576 BIT 6, (IY + d) | | 2B декабря HL | | CB77 BIT 6, |​​ | DD2B декабря IX |

| CB70 BIT 6, B | | FD2B декабря IY |
| CB71 BIT 6, C | | 2D декабря L |
| CB72 BIT 6, D | | 3B декабря SP |
| CB73 BIT 6, E | | F3 DI |
| CB74 BIT 6, H | | FB EI |
| CB75 BIT 6, L | | 102E DJNZ е |

| CB7E BIT 7, (HL) | | E3 EX (SP), HL | | DDCB057E BIT 7, (IX + d) | | DDE3 EX (SP), IX | | FDCB057E BIT 7, (IY + d) | | ФДЭ3 EX (SP), И.Ю. |

| CB7F BIT 7, | | 08 EX AF |
| CB78 BIT 7, B | | EB EX DE, HL |
| CB79 BIT 7, C | | D9 EXX |
| CB7A BIT 7, D | | 76 HALT |
| CB7B BIT 7, E | | ED46 IM0 |
| CB7C BIT 7, H | | ED56 IM1 |
| CB7D BIT 7, L | | ED5E ИМ2 |

| DC8405 ЗВОНОК С, пп | | ED78 IN A, (C) | | FC8405 ЗВОНОК M, пп | | ED40 IN B, (C) | | D48405 ЗВОНИТЕ NC, пп | | ED48 IN C, (C) | | C48405 ЗВОНИТЕ NZ, пп | | ED50 ре, (C) | | F48405 ЗВОНОК P, пп | | ED58 В Е, (C) | | EC8405 ЗВОНОК PE, пп | | ED60 IN H, (C) | | E48405 ЗВОНОК ПО, пп | | ED6B IN L, (C) | | CCB405 ЗВОНОК Z, пп | | 34 INC (HL) | | CD8405 ЗВОНОК пп | | DD3405 INC (IX + d) | | 3F CCF | | FD3405 INC (IY + d) | | BE CP (HL) | | 3С INC A | | DDBE05 CP (IX + d) | | 04 INC B | | FDBE05 CP (IY + d) | | 03 INC BC | | BF CP | | 0C INC C |

| B8 CP B | | 14 INC D |
| B9 CP C | | 13 INC DE |
| BA CP D | | 1С INC E |
| BB CP E | | 24 INC H |
| BC CP H | | 23 INC HL |
| BD CP L | | DD23 INC IX |

| FE20 CP н | | FD23 INC IY | | EDA9 CPD | | 2C INC L | | EDB9 CPDR | | 33 INC SP | | | | DB20 IN A, (п) | | | | |

15

| | | |

| OBJ ИСТОЧНИК | | OBJ ИСТОЧНИК | | КОД ЗАЯВЛЕНИЕ | | Код ЗАЯВЛЕНИЕ | | | | | | FDAA IND | | DD7E05 LD, (IX + d) | | ED8A INDR | | FD7E05 LD, (IY + d) | | EDA2 INI | | 3A8405 LD, (пп) | | EDB2 INIR | | 7F LD, | | C38405 JP пп | | 78 LD A, B | | F9 JP (HL) | | 79 LD A, C | | DDE9 JP (IX) | | 7А LD A, D | | FDE9 JP (IY) | | 7В LD A, E | | DA8405 JP C, пп | | 7С LD A, H | | FA8405 JP M, пп | | ED57 LD, я | | D28405 JP NC, пп | | 7D LD A, L | | C28405 JP NZ, пп | | 3E20 LD, п | | F28405 JP P, пп | | ED5F LD A, H | | EA8405 JP PE, пп | | 46 LD B, (HL) | | E28405 JP PO, пп | | DD4605 LD B, (IX + d) | | CA8405 JP Z, пп | | FD4605 LD B, (IY + d) | | 382E JR C, е | | 47 LD B, A | | 302E JR NC, е | | 40 LD B, B | | 202E JR NZ, е | | 41 LD B, C | | 282E JR Z, е | | 42 LD B, D | | 182E JR е | | 43 LD B, E | | 02 LD (BC), | | 44 LD B, H | | 12 LD (DE), | | 45 LD B, L |

| 32 LD (HL), | | 0620 LD B, п |
| 70 LD (HL), B | | ED488405 LD BC, (пп) |
| 71 LD (HL), C | | 018405 LD BC, пп |
| 72 LD (HL), D | | 4E LD C, (HL) |
| 73 LD (HL), E | | DD4E05 LD C, (IX + d) |
| 74 LD (HL), H | | FD4E05 LD C, (IY + d) |
| 75 LD (HL), L | | 4F LD C, A |

| 3620 LD (HL), п | | 48 LD C, B |

| DD7705 LD (IX + d), | | 49 LD C, C |
| DD7005 LD (IX + d), B | | 4A LD C, D |
| DD7105 LD (IX + d), C | | 4B LD C, E |
| DD7205 LD (IX + d), D | | 4C LD C, H |
| DD7305 LD (IX + d), E | | 4D LD C, L |

| DD7405 LD (IX + d), H | | 0E20 LD C, н | | DD7505 LD (IX + d), L | | 56 LD D, (HL) | | DD360520 LD (IX + d), п | | DD5605 LD D, (IX + d) |

| FD7705 LD (IY + d), | | FD5605 LD D, (IY + d) |
| FD7005 LD (IY + d), B | | 57 LD D, A |
| FD7105 LD (IY + d), C | | 50 LD D, B |
| FD7205 LD (IY + d), D | | 51 LD D, C |
| FD7305 LD (IY + d), E | | 52 LD D, D |
| FD7405 LD (IY + d), H | | 53 LD D, E |
| FD7505 LD (IY + d), L | | 54 LD D, H |

| FD360520 LD (IY + d), п | | 55 LD D, L | | 328405 LD (пп), | | 1620 LD D, п | | ED438405 LD (пп), BC | | ED588405 LD DE, (пп) | | ED538405 LD (пп), DE | | 118405 LD DE, пп | | 228405 LD (пп), HL | | 5E LD E, (HL) | | DD228405 LD (пп), IX | | DD5E05 LD E, (IX + d) | | ED228405 LD (пп), И.Ю. | | FD5E05 LD E, (IY + d) | | ED238405 LD (пп), ИП | | 5F LD E, A | | 0A LD, (BC) | | 58 LD E, B | | 1А LD, (DE) | | 59 LD E, C | | 7E LD, (HL) | | 5А LD E, D | | | | |

16

| | | |

| OBJ ИСТОЧНИК | | OBJ ИСТОЧНИК | | КОД ЗАЯВЛЕНИЕ | | Код ЗАЯВЛЕНИЕ | | | | | | 5B LD E, E | | EDB3 OTIR | | 5C LD E, H | | ED79 OUT (C) | | 5D LD E, L | | ED41 OUT (C) B | | 1E20 LD E, п | | ED48 OUT (C) C | | 66 LD H, (HL) | | ED51 OUT (C) D | | DD6605 LD H, (IX + d) | | ED49 OUT (C) E | | FD6605 LD H, (IY + d) | | ED61 OUT (C) H |

| 67 LD H, | | ED69 OUT (C) L |
| 60 LD H, B | | D320 OUT (п) |
| 61 LD H, C | | EDAB OUTD |
| 62 LD H, D | | EDA3 OUTI |
| 63 LD H, E | | F1 POP AF |
| 64 LD H, H | | C1 POP BC |
| 65 LD H, L | | D1 POP DE |

| 2620 LD H, N | | E1 POP HL | | 2A8405 LD HL (пп) | | DDE1 POP IX | | 218405 LD HL, пп | | отношении ФДЭ1 POP IY | | ED47 LD I, A | | F5 PUSH AF | | DD2A8405 LD IX, (пп) | | C5 PUSH BC | | DD218405 LD IX, пп | | D5 PUSH DE | | FD2AB405 LD IY, (пп) | | E5 PUSH HL | | FD218405 LD IY, пп | | DDE5 PUSH IX | | 6E LD L, (HL) | | ФДЭ5 PUSH IY | | DD6E05 LD L, (IX + d) | | CB86 RES 0, (HL) | | FD6E05 LD L, (IY + d) | | DDCB0586 RES 0, (IX + d) |

| 6F LD L, | | FDCB0586 RES 0, (IY + d) |
| 68 LD L, B | | CB87 RES 0, |
| 69 LD L, C | | CB80 RES 0, B |
| 6A LD L, D | | CB81 RES 0, C |
| 6B LD L, E | | CB82 RES 0, D |
| 6C LD L, H | | CB83 RES 0, E |
| 6D LD L, L | | CB84 RES 0, H |

| 2E20 LD L, п | | CB85 RES 0, L | | ED4F LD R, | | CB8E RES 1, (HL) | | ED7B8405 LD SP, (пп) | | DDCB058E RES 1, (IX + d) | | F9 LD SP, HL | | FDCB058E RES 1, (IY + d) | | DDF9 LD SP, IX | | CB8F RES 1, | | FDF9 LD SP, IY | | CB88 RES 1, B | | 318405 LD SP, пп | | CB89 RES 1, C | | EDA8 LDD | | CB8A RES 1, D | | EDB8 LDDR | | CB8B RES 1, E | | EDA0 ЛДИ | | CB8C RES 1, H | | EDB0 LDIR | | CB8D RES 1, L | | ED44 СЕГ | | CB96 RES 2, (HL) | | 00 NOP | | DDCB0596 RES 2, (IX + d) | | B6 ИЛИ (HL) | | FDCB0596 RES 2, (IY + d) | | DDB605 ИЛИ (IX + d) | | CB97 RES 2, | | FDB605 ИЛИ (IY + d) | | CB90 RES 2, B | | B7 ИЛИ | | CB91 RES 2, C | | B0 ИЛИ B | | CB92 RES 2, D | | B1 ИЛИ С | | CB93 RES 2, E | | B2 ИЛИ D | | CB94 RES 2, H | | B3 или E | | CB95 RES 2, L | | B4 или H | | CB9E RES 3, (HL) | | B5 или L | | DDCB059E RES 3, (IX + d) | | F620 ИЛИ н | | FDCB059E RES 3, (IY + d) | | ED8B OTDR | | | | | | |

17

| | | |

| OBJ ИСТОЧНИК | | OBJ ИСТОЧНИК | | КОД ЗАЯВЛЕНИЕ | | Код ЗАЯВЛЕНИЕ | | | | |

| CB9F RES 3, | | ED4D RETI |
| CB98 RES 3, B | | ED45 РЕТИМ |
| CB39 RES 3, C | | CB16 RL (HL) |
| C89A RES 3, D | | DDC80516 RL (IX + d) |
| CB9B RES 3, E | | FDC80516 RL (IY + d) |
| CB9C RES 3, H | | СВ17 RL |
| CB9D RES 3, L | | CB10 RL B |

| CBA6 RES 4, (HL) | | CB11 RL C | | DDCB05A6 RES 4, (IX + d) | | CB12 RL D | | FDCB05A6 RES 4, (IY + d) | | CB13 RL E |

| CBA7 RES 4, | | CB14 RL H |
| CBA0 RES 4, B | | CB15 RL L |
| CBA1 RES 4, C | | 17 РБА |
| CBA2 RES 4, D | | CB06 RLC (HL) |
| DBA3 RES 4, E | | DDCB0506 RLC (IX + d) |
| CBA4 RES 4, H | | FDCB0506 RLC (IY + d) |
| CBA5 RES 4, L | | CB07 RLC |

| CBAE RES 5, (HL) | | CB00 RLC B | | DDCB05AE RES 5, (IX + d) | | CB01 RLC C | | FDCB05AE RES 5, (IY + d) | | CB02 RLC D | | CBAF RES 5, | | CB03 RLC E | | CBA8 RES 5,8 | | CB04 RLC H | | CBA9 RES 5, C | | CB05 RLC L | | АРОБ RES 5, D | | 07 RLCA | | CBAB RES 5, E | | ED6F RLD | | CBAC RES 5, H | | CB1E RR (HL) | | CBAD RES 5, L | | DDCB051E RR (IX + d) | | CBB6 RES 6, (HL) | | FDCB051E RR (IY + d) | | DDCB05B6 RES 6, (IX + d) | | CB1F RR | | FDCB05B6 RES 6, (IY + d) | | CB18 RR B |

| CBB7 RES 6, | | CB19 RR C |
| CBB0 RES 6, B | | CB1A RR D |
| CBB1 RES 6, C | | CB1B RR E |
| CBB2 RES 6, D | | CB1C RR H |
| C6B3 RES 6, E | | CB1D RR L |

| CBB4 RES 6, H | | 1F АСР | | CBB5 RES 6, L | | CB0E RRC (HL) | | CBBE RES 7, (HL) | | DDCB050E RRC (IX + d) | | DDCB05BE RES 7, (IX + d) | | FDCB050E RRC (IY + d) | | FDCB05BE RES 7, (IY + d) | | CB0F RRC |

| CBBF RES 7, | | CB08 RRC B |
| CBB8 RES 7, B | | CB09 RRC C |
| CBB9 RES 7, C | | CB0A RRC D |
| C8BA RES 7, D | | CB0B RRC E |
| CBBB RES 7, E | | CB0C RRC H |
| CBBC RES 7, H | | CB0D RRC L |

| CBBD RES 7, L | | 0F RRCA | | C9 RET | | ED67 RRD | | D8 RET C | | C7 RST 00H | | F8 RET M | | CF RST 08H | | D0 RET NC | | D7 RST 10H | | C0 RET NZ | | DF RST 18H | | F0 RET P | | E7 RST 20H | | E8 RET PE | | EF RST 28H | | E0 RET PO | | F7 RST 30H | | C8 RET Z | | FF RST 38H | | | | DE20 SBC, п | | | | |

18

| | | |

| OBJ ИСТОЧНИК | | OBJ ИСТОЧНИК | | КОД ЗАЯВЛЕНИЕ | | Код ЗАЯВЛЕНИЕ | | | | | | 9E SBC, (HL) | | DDCB05E6 SET 4, (IX + d) | | DD9E05 SBC, (IX + d) | | FDCB05E6 SET 4, (IY + d) | | FD9E05 SBC, (IY + d) | | CBE7 SET 4, | | 9F SBC, | | CBE0 SET 4, B | | 98 SBC A, B | | CBE1 SET 4, C | | 99 SBC, C | | CBE2 SET 4, D | | 9А SBC, D | | CBE3 SET 4, E | | 9В SBC, E | | CBE4 SET 4, H | | 9С SBC, H | | CBE5 SET 4, L | | 9D SBC, L | | CBEE SET 5, (HL) | | ED42 SBC HL, BC | | DDCB05EE SET 5, (IX + d) | | ED52 SBC HL, DE | | FDCB05EE SET 5, (IY + d) | | ED62 SBC HL, HL | | CBEF SET 5, | | ED72 SBC HL, SP | | CBE8 SET 5, B | | 37 SCF | | CBE9 SET 5, C | | CBC6 SET 0, (HL) | | CBEA SET 5, D | | DDCB05C6 SET 0, (IX + d) | | CBEB SET 5, E | | FDCB05C6 SET 0, (IY + d) | | CBEC SET 5, H |

| CBC7 SET 0, | | CBED SET 5, L |
| CBC0 SET 0, B | | CBF6 SET 6, (HL) |
| CBC1 SET 0, C | | DDCB05F6 SET 6, (IX + d) |
| CBC2 SET 0, D | | FDCB05F6 SET 6, (IY + d) |
| CBC3 SET 0, E | | CBF7 SET 6, |​​
| CBC4 SET 0, H | | CBF0 SET 6, B |
| CBC5 SET 0, L | | CBF1 SET 6, C |

| CBCE SET 1, (HL) | | CBF2 SET 6, D | | DDCB05CE SET 1, (IX + d) | | CBF3 SET 6, E | | FDCB05CE SET 1, (IY + d) | | CBF4 SET 6, H |

| CBCF SET 1, | | CBF5 SET 6, L |
| CBC8 SET 1, B | | CBFE SET 7, (HL) |
| CBC9 SET 1, C | | DDCB05FE SET 7, (IX + d) |
| CBCA SET 1, D | | FDCB05FE SET 7, (IY + d) |
| CBCB SET 1, E | | CBFF SET 7, |
| CBCC SET 1, H | | CBF8 SET 7, В |
| CBCD SET 1, L | | CBF9 SET 7, C |

| CBD6 SET 2, (HL) | | CBFA SET 7, D | | DDCB05D6 SET 2, (IX + d) | | CBFB SET 7, E | | FDCB05D6 SET 2, (IY + d) | | кино сертификации SET 7, H |

| CBD7 SET 2, | | CBFD SET 7, L |
| CBD0 SET 2, B | | CB26 SLA (HL) |
| CBD1 SET 2, C | | DDCB0526 SLA (IX + d) |
| CBD2 SET 2, D | | FDCB0526 SLA (IY + d) |
| CBD3 SET 2, E | | CB27 SLA |
| CBD4 SET 2, H | | CB20 SLA B |
| CBD5 SET 2, L | | CB21 SLA C |
| CBD8 SET 3, B | | CB22 SLA D |

| CBDE SET 3, (HL) | | CB23 SLA E |

Краткая информация о Spectrum Assembler

Для игры в Spectrum Assembler не нужны эмуляторы. Программа для разработки на ассемблере, изданная в Великобритании в 1982 году командой Artic Computing Ltd, которую разработали D.P. Aknai и M. Streeton.

Не запускается или глючит игра, или не можете пройти? Спросите в комментариях.

Subscribe
Уведомлять об
guest
0 комментариев
Inline Feedbacks
View all comments

Сохранённые игры[X]

  

Справка[X]

Помощь уже в пути!

  • x1
  • x2
  • x3

Кликни в окно эмулятора, чтобы управлять!
<<<<

Не забывайте периодически сохранять игровой прогресс на сервере (клавишей F8), чтобы уверенно продвигаться вперёд!

Если вы гость на сайте, то прогресс будет сохранён только в памяти браузера и потеряется при закрытии. Чтобы этого не произошло - просто войдите в свой профиль.

Для загрузки сохранённой игры жмите F3 или откройте меню "Диск" кнопкой на правой панели.

Если игра не запускается, или у вас есть вопросы по игре - задайте их ниже.

Поделиться
Close
0
Would love your thoughts, please comment.x