Связь с администрацией сайта:       

demo

Среди толпы я одинок

Замечание: по ходу этой главы мне придётся ссылаться на некоторые команды процессора, которые мы разберём в следующих главах.

 

Структура программы

Программа на ассемблере состоит из строк вида:
метка[:] команда/директива операнды ;коментарий
Все данные поля необязательны т.е. строка может быть и пустой! Метка может быть любой комбинацией символов но не должна начинаться с цифры, кроме того не стоит использовать знаки $ и ?. Коментарием может быть всё что угодно. В том случае когда метка располагается перед командой процессора то после неё обязательно надо поставить двоеточие, что указывает ассемблеру создать переменную с именем метки и значением равным адресу команды. Вот например забегая вперёд
loop: lodsw ;читаем слово в еаx
cmp eax,78;если 78 то прекратим
loopne loop

 

Читать далее...

Сегментация
Числа, устанавливаемые процессором на адресной шине, являются адресами, то есть номерами ячеек оперативной памяти (ОП). Размер ячейки ОП составляет 8 разрядов, т.е. 1 байт. Поскольку для адресации памяти процессор использует 16-разрядные адресные регистры, то это обеспечивает ему доступ к 65536 (FFFFh) байт или 64К (1К = 1024 байт = 210 байт) основной памяти. Такой блок непосредственно адресуемой памяти называется сегментом. Любой адрес формируется из адреса сегмента (всегда кратен 16, т.е. начинается с границы параграфа) и адреса ячейки внутри сегмента (этот адрес называется смещением). Для адресации большего объема памяти в процессоре 8086 используется специальная процедура пересчета адресов, называемая вычислением абсолютного (эффективного) адреса.
 

Читать далее...

Архитектура процессора
Системный блок персонального компьютера содержит: блок питания; системную (материнскую) плату; адаптеры внешних устройств; накопители на жестких магнитных (НЖМД) и гибких (НГМД) дисках, а также ряд других устройств. Для нас наибольший интерес представляет системная плата, на которой размещаются постоянное запоминающее устройство ПЗУ (ROM - read only memory), оперативное запоминающее устройство ОЗУ (RAM - random access memory), процессор и логика управления, связанные между собой шинами.
Физически и ОЗУ и ПЗУ выполнены в виде микросхем. Характерным для персонального компьютера является тот факт, что при выключении электропитания содержимое ОЗУ утрачивается (энергозависимая память), а ПЗУ – нет (энергонезависимая память).
 

Читать далее...

Представление данных в ПК

То о чем пойдёт речь в данной главе может показаться довольно скучным однако чтобы программировать на ассемблере следует познакомиться с двоичными и шестнадцатиричными числами. Без понимания того, как на самом деле хранятся данные в памяти ПК невозможно пользоваться битовыми и логическими операциями и многим другим.

 

Читать далее...

Введение
Для человека который заинтересовался программированием на ассемблере актуален вопрос - зачем он вообще нужен? Ведь сейчас существует достаточно большое количество эффективных сред программирования - Borland C++ Builder, Delphi, MS Visual Studio....к тому же все пишут на C/C++ Java, C#. Может сложиться впечатление что знание C++ и концепций ООП это признак профессионализма....те кто хоть как то знает технологию MS .NET могут подумать что она ставит крест на ассемблере...однако всё это не совсем так. По моему опыту программирования и общения с другими "программистами" могу сказать что любой человек который относит себя к профессии программиста должен понимать основные концепции работы операционных систем, архитектуру ПК, вобщем то - как вообще выполняются его программы на ПК! В противном случае он будет являтся лишь пользователем (возможно и опытным) тех средств (Delphi, Builder, ....) которые он использует, а не настоящим программистом! В идеале программист это хакер в первоначальном смысле данного слова - оно означает профессионала ДЕТАЛЬНО разбирающегося в своей области. Ну и конечно знание ассемблера приблизит вас к такому профессионализму.
 

Читать далее...