АССЕМБЛЕР ДЛЯ РУКОМОЙНИКОВ "...Потом я пью утренний сок и снова писаю..." Из ТВ - рекламы. 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 на бейсике, как сделать бегущую строку не не экране и многое, многое другое. Остаюсь навсегда к вам благосклонный Мистер Глюк