User Tag List

Показано с 1 по 10 из 166

Тема: Набор учащихся

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,870
    Спасибо Благодарностей отдано 
    522
    Спасибо Благодарностей получено 
    251
    Поблагодарили
    225 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    z80 не самый простой процессор с точки зрения ассемблера. Гораздо удобнее начинать с какой-то простенькой микрушки типа 8008 или 8051 симуляторов с ассемблерами которых полно в инете. Только не надо там сильно углубляться и тратить на них мозг, а как только исчезнет паника, тут же возвращайтесь на z80. Надеюсь с двоичной арифметикой у Вас проблем нет? Тогда сделайте умножение/деление двух чисел для 8008, и потом то же самое для z80. Психологический барьер будет снят. Сам я начинал с программируемых калькуляторов, потом 8080. Mat1sha, но если знаете C, гораздо проще освоить ассемблер z80 использовав компилятор в режиме параллельной генерации ассемблерного кода. Да и книжка вроде где-то попадалась про изучение ассемблера с помощью C

    А про С я вспомнил с одной целью. Чтобы мозги не ломать и не делать явной ерунды, проще сделать на C и его потом улучшать в меру своего знания ассемблера. Помню был у меня один вредный заказчик, который за программы на ассемблере для 51-ой микрухи платил в полтора раза больше, так я все на PL/M-51 накатал, а потом быстро пооптимизировал и содрал с него как за ассемблер С конечно имеет тот минус, что заставить его использовать преимущества конкретной архитектуры довольно тяжело, если только он специально под нее не сделан. ( Как известно, С рассчитан на стек, а на регистры и их особенности у конкретного проца ему глубоко ...)
    Ну и понятно, что знание ассемблера превращает любого программиста в начинающего хакера Собственно к чему данный курс в случае успешного освоения несомненно и приведет. Всем сорри, я собственно на тему как снизить психологический барьер при изучении ассемблера:
    1) начни с самой простой архитектуры;
    2) при сложностях с алгоритмами используй ЯВУ( С, PL/M, Pascal и все что окажется под рукой);
    3) старайся писать на незнакомом ассемблере примерчики, которые легко ощущать имеющимся у тебя отладчиком(хорошо если у него есть графический API и консоль с готовыми макросами, в крайнем случае имитатор ввода/вывода(кнопочек-лампочек) или хотя бы beep, все эти средства можно использовать при отладке любых программ, особенно если примитивный отладчик.
    4) не напрягайся, команды ассемблера запоминаются не все и не сразу, держи перед глазами help-файл (.chm), а еще лучше умный редактор, выдающий варианты команды в правильной транскрипции при вводе;
    5) не старайся сразу запомнить за сколько тактов выполняется та или иная команда и какие флаги она устанавливает(если только твоя задача не состоит из нескольких параллельных тредов и не взаимодействует с железом, где необходимо отслеживать временные интервалы);
    6) кстати, разучи флаги в данной архитектуре(проце) без них в ассемблере не жить;
    7) не забывай запрещать прерывания, когда они не нужны твоей программе;
    8) не забывай Калаш, ну и стек само собой(без стека ты не сможешь ни вызвать процедуры, ни обработать прерывания);
    9) обзаведись набором удобных тебе макро, если твой ассемблер не макро-, запомни все в умном редакторе, бедолага;
    10) моли Бога, что у него хотя бы только пользовательский режим и нет обработки исключений;
    11) разучи как передаются параметры в/из процедуры;
    12) сохраняй регистры при вызове процедуры, в теле самой процедуры и восстанавливай их при возврате в обратном порядке;
    13) процедура обслуживания прерывания тоже процедура!
    14) кстати, не худо бы узнать детали того, как обслуживаются прерывания в твоей архитектуре;
    15) комментируй заголовки процедур на предмет того, какие регистры она портит(именно эти регистры необходимо сохранять при входе и восстанавливать при выходе);
    16) не делай свой код непонятным и недокументируемым, ты ведь не на работе, где за это тебя возненавидят коллеги и станет побаиваться и уважать босс;
    17) научись писать лаконичные и понятные комментарии, в ассемблере это 70% успеха работающей и сопровождаемой программы, приколы и мат разбросанные по сотне страниц исходника останутся в нем на века;
    18) в самом начале программы дай ссылку на себя любимого и свой e-mail, обозначай дату и версию, и требования к железу(конфигурации), тем ты спасешь себя от многих бед и тебе будут благодарны братья-программисты.
    Ну вот вроде и все, что осталось в голове после трех лет ковыряния в чужих программах на MASMе в компаниях Телеинформ и Мультиком СПб объемом в сотни тысяч строк.
    Последний раз редактировалось andrews; 21.06.2009 в 01:36.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •