практически во всех играх от jonnatana smith
он вроде только определял есть прерывание или нет
ld a,r
......
jp po,
ei
а здесь ты сам устанавливаешь/сбрасываешь бит
Ссылку сейчас я не дам, т.к. это я видел разбирая какие-то программы, вспомнить сейчас нереально. Если я сказал, что так это так, значит на то были основания, а не сиюминутная фантазия. Опыт у меня не 2 года, а 28 лет. Как точно сказать, что вот именно в этой вот программе так. Из ужасного кода, что вспоминается это ZYX boot, потом интро одного моего знакомого, которое он писал в 1998г для Artcomp (не то, что потом в итоге было, то что вы найдете - другого автора и совсем иное). Когда он мне его принес (интро) и спросил "посмотри, что может тут не так?", я глянул исходник, и даже первые минуты не мог сказать что. Там всё не так. Было смешно, я реально рассмеялся тогда (кое что у него не работало ещё, ошибки были, вот и принес показать). Т.е. всё нужно писать совсем не так как написал он. Учился он именно по книжкам Инфоркома, по вот этим аналогиям. Позднее не раз подобное видел. Это напоминает то, когда человек изучает иностранный язык и делает первые шаги в нем, пишет текст или пробует говорить. Коряво и убого.
Я не говорю, что можно взять так и сразу писать красиво, хорошо. Многие просто наступают на одни и те же грабли, в т.ч. те, что положил Инфорком. Сначала вводят представление о ПЭВМ как о "бейсик-машине", что бы пользователь вжился в эту парадигму, а потом говорят "а на самом деле всё не совсем так, вернее всё совсем не так, но вы делайте как раньше". Это в корне неверный подход, о чём я писал в самом начале темы. Если человеку объяснить, как примерно устроена ПЭВМ, что такое двоичная система исчисления, что бы он действительно это понял, а не так взял это "на уме", то с шестнадцатеричной записью проблем не будет. И далее, когда субъект знает, как устроена ПЭВМ можно его учить программировать. Основы программирования можно получить ранее, а можно и не получать. Я, к примеру, до Спектрума программировал на МК-61, просто прочитав описание команд, посмотрев примеры программ с комментариями. Понять зачем нужен цикл, условия, переходы, арифметические и логические функции несложно. Не нужно для этого заканчивать университеты и академии. Можно конечно изучать что-то вроде бейсика и паскаля. Но. При переходе на асм, нужно сначала изучить архитектуру ПЭВМ и процессора. Аналогии с бейсиком тут не уместны. Учитель (или автор книги учебника, не важно), должен подсказать, как пишутся программы, какие есть наработки, шаблоны, как в общем выглядит структура будущей программы, какие бывают "хинты", ловкие решения для конкретного CPU и компа и т.д. Например, в руководстве по ОС CP/M приводился скелет программы, автор системы на пальцах объяснял как именно работать с файлами, символьными устройствами и давался для примера листинг простейшей программы.
- - - Добавлено - - -
Хе, сравнение переменных с регистрами? Сколько будет переменных в Бейсике, и как это число свяжется с регистрами?
Изложение основ пригодится в литературе, предназначенной для начинающих, другие главу просто пролистают. В книге по MK-14 (это такой калькулятор от дедушки Клайва) я встретил важный акцент на алгоритмизации и на умении мыслить алгоритмично.
Напишите простые задачи: подсчет суммы чисел 1-20 и выбор максимального из трех чисел.
С этого и нужно начинать, а перейти к необходимости изучить ассемблер легко: привести примеры на Бейсике и на ассемблере. Тогда сразу видно, в чем преимущество ассемблера - скорость и те задачи, с которыми Бейсик не справится.
krt17, Vadim - Дальше по сути и без ругани
вспомнил про R. Кажется, на wos Hikaru предлагал экзотический способ использования R как счетчика цикла.