АССЕМБЛЕР ДЛЯ РУКОМОЙНИКОВ
"...Потом я пью
утренний сок и снова
писаю..."
Из ТВ - рекламы.
c Мистер Глюк
Итак, детство прошло, и вы поняли,
что настоящее программирование возможно
только на ассемблере. Но вы пока
проктически ничего о нем не знаете. Как
быть, если хочется написать электронный
журнал типа Спектрофона, а ассемблера вы
не знаете? Если ситуация именно такая, то
вам лучше бысто сбросить компьютер и
загрузив в него какой нибудь БЕТА БЕЙСИК
немедленно приниматься за создание
спектофоноподобного журнала.
Дальнейшая часть статьи ориентирована
на тех, кто намерен серьезно посвятить
себя программированию и не заниматься
производством разных наследий. (например,
звездных).
Для того, чтобы мне не повторять уже
написанное, вам следует прочитать все
статьи на эту тему и изучить все
руководства по программированию.
Особенно внимательно я бы
порекомендовал вам почитать статьи в
новой кохомской газете с немного
интригующим названием "ZONE OF HELP ", и
обратите внимание на виртуозность
программистов, его приготовивших. Надеюсь
посвятить этой газете отдельную статью в
нашем журнале.
После прочтения всего вышеуказанного
вы должны хорошенько все запомнить, дабы
в дальнейшем никогда так не делать.
Чего стоит одна только выдача в поток
1 координат печати 10,10 !
Да, чуть не забыл, в журнале ФОРМАТ#2
сделана ошибка. Команда процессора CCF
не сбрасывает флаг переноса, а всего лишь
инвертирует его.
На мой взгляд наиболее удачным стилем
программирования является извлечение
подпрограмм из пакетов и склейка их в
один блок. При этом лучше изменить
систему передачи параметров подпрограмм
(через регистры) и передавать все
параметря исключительно через стек - это
намного упрощает написание и усложняет
взлом.
Хочется заметить и о засевшей в ушах
теме о переключении страниц памяти. Для
удобства программирования можно задавать
адрес порта всего одним битом- в младшем
байте достаточно сбросить 1-ый бит и порт
выберется. Не беда, если при этом ответят
несколько устройств - в основном это
совершенно бесполезные порты типа ULA ,
и их можно игнорировать. Другой вопрос,
если в тачке сделана полная дешифрация
порта расширения - тогда ваша программа
на ней работать не будет, но это тоже не
беда, потому, что такие тачки уже не
выпускают, а делать программу специально
для их хозяев - много чести будет. Если
их хозяева хотят, чтобы ваша программа
работала на такой тачке - пусть снимают
эту никому не нужную дешифрацию, и заодно
все лишние порты.
Типичным примером может служит Профи
с разным количеством плюсов, или
АТМ-Турбо тоже с плюсами. Зачем было
ставить немеренное количество портов,
когда можно обойтись всего одним. То же
касается и музпроцеееора. Он и нахрен не
нужен, а музыка только отвлекает от
созерцания.
Теперь уже ни для кого не секрет, что
главным средством написания програм на
языке ассемблера является программа
Редактор памяти или по-русски MEMORY
EDITOR. Популярность этой программы
столь велика, что люди создающие новые
версии ПЗУ, уже зашили ее в постоянную
память. Это разработка продается у нас в
Иванове, на рынке Первого рабочего
поселка. Для тех, у кого нет возможности
установить новое ПЗУ тоже есть выход:
текст прогрсммы опубликован в журнале
РЕВЮ и вам только придется загружать ее с
диска. Можете также обращаться к нам, мы
вам ее продадим по низкой цене.
Хочется отметить, что большая часть
текстов из этого журнала бела набрана
именно в этой программе, и хотим передать
большую благодарность Вадиму за
подаренный миру редактор.
Достоинства этой программы бесспорны:
вам не надо мучится и сочинять метки,
вместо меток можно сразу писать
абсолютные адреса, а вместо мнемоник
ассемблеса - сразу коды процессора.
Правда придется их все выучить наизусть,
но зато какое удобство! Вам даже не
придется пользоваться монитором -
отладчиком, вы ведь будете знать все
коды, и для просмотра програм можно
пользоваться той же программой, которая
использовалась и для написания.
Теперь хотелось бы дать несколько
практическох советов и приемов по
программированию:
1. Никогда не пишите XOR А для
обнуления аккумулятора - эта конструкция
имеет свойство не всегда обнулять
аккумулятор.
2. Никогда не пользуйтесь
упаковщиками: они иногда искажают
информацию, а чтобы информация не
искажалась надо сжатый файл сжать еще
раз.
3. Самая быстрая графика - на
бейсике, поэтому всю графическую часть
нужно писать на бейсике, вызывая его из
програм в кодах.
4. Не устанавливайте стек никогда -
так его труднее найти, или прячьте его от
чужих глаз: поставьте стек выше #C000, и
переключите страницы памяти.
5. Для работы с дисководом
используйте только нестандартные точки
входа в систему - наибольшая
эффективность работы достигается именно
этим.
6. При отладке программы почаще
используйте DI HALT , это позволит
быстро найти ошибку в программе.
7. Никогда не гасите музпроцессор -
пусть лучше воет, зато будете уверены в
его исправности.
8. При работе с дисководом в случае
ошибки диска смело форматируйте диск -
пусть наглые юзеры не подсовывают вам
дерьмовых дисков.
9. Музыку для программы пишите в
WHAMe - это самый удобный музыкальный
редактор.
Если вы будете придерживатся данных
рекомендаций, то из вас получится
настоящий чайник , о чем мы вам можем
выдать справку для предьявления в
городском транспорте как документ, дающий
право бесплатного проезда.
В настоящее время Ивановская
Городская Дума рассматривает предложение
о приравнивании чайников к инвалидам
первой группы.
В следующих номерах я расскажу как
сделать REALTIME на бейсике, как
сделать бегущую строку не не экране и
многое, многое другое.
Остаюсь навсегда к вам благосклонный
Мистер Глюк
Other articles: