Консультация # 191217: Здравствуйте! У меня возникли сложности с таким вопросом: Мой вопрос можно расценить как личный. Я пытаюсь изучить Ассемблер, но читая книги вопросов возникает больше, чем ответов. Я решил изучать программирование из-за того, что мой ноутбук сначала выполняет желания Микрософта и производителя, а потом они вспоминают про меня!!! Я хочу измен...
Здравствуйте! У меня возникли сложности с таким вопросом:
Мой вопрос можно расценить как личный. Я пытаюсь изучить Ассемблер, но читая книги вопросов возникает больше, чем ответов. Я решил изучать программирование из-за того, что мой ноутбук сначала выполняет желания Микрософта и производителя, а потом они вспоминают про меня!!! Я хочу изменить это. Вы, как эксперт, какие книги посоветуете и каких тупиков порекомендуете избегать?
Язык ассемблера, это не только мнемоника команд, это также и понимание того, как процессор взаимодействует с остальными устройствами РС. Для начала я бы посоветовал Вам начать с изучения устройства процессора 8080(как прототипа, упрощенную модель).
Процессор Intel 8086 представляет собой модернизированный процессор Intel 8080, и хотя разработчики не ставили перед собой цель достичь полной совместимости на программном уровне, большинство программ, написанных для Intel 8080, способны выполняться и на Intel 8086 после перекомпиляции. Новый процессор несёт в себе множество изменений, которые позволили значительно (в 10 раз) увеличить производительность по сравнению с предыдущим поколением процессоров компании.
Не смотря, что книга "не совсем свежая", в ней описан базис методик, которые были использованы в х86+ процессорах. К примеру чтение в регистр значения по адресу в памяти разбивается на несколько этапов-микропрограмм. LD A,(nn) OCR(4) ORL(3) ORH(3) MRD(3) LD A,(nn) - загрузить в регистр А, значение расположенное по адресу (nn); OCR(4) - (operation code read) - чтение кода операции; ORL(3) - (operand read, Ion byte) - чтение младшего байта 16-разрядного слова, непосредственно
представленного в команде; ORH(3) - (operand read, high byte) - чтение старшего байта 16-разрядного слова; MRD(3) - (memory read) - чтение байта из косвенно адресованной ячейки памяти; в скобках указанно количество циклов тактовой частоты затраченное на выполнение микропрограммы процессором. Даже после беглого изучения книги, можно будет переходить к более сложным системам х86+ и быстрому усвоению информации, такой как: многоуровневые кэши(быстрый, медленный), конвей
еры с оптимизацией параллельных вычислений, синхронизация многоядерных систем процессора. Как говорится от простого к сложному. Шаг за шагом, постоянно усваивая подключаемые новые технологии, можно подойти к изучению современных процессоров(системы команд, взаимодействие в внешними устройствами и т.д.).
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались.
Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора -
для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение.
Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал,
который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом.
Заходите - у нас интересно!