- •Что надо знать, перед изучением ассемблера.
 - •Какие системы счисления использует ассемблер
 - •Понятие системы счисления
 - •Двоичная
 - •Восьмеричная
 - •Шестнадцатеричная
 - •Как и где программа хранит код и данные
 - •Виды памяти
 - •Способы адресации
 - •Сегменты
 - •Страницы
 - •Регистры
 - •Регистры общего назначения (РОН)
 - •Регистры данных
 - •Регистры указатели
 - •Сегментные регистры
 - •Служебные регистры
 - •Как программа исполняется ЦПУ
 - •Структура программы на Ассемблере MASM32
 - •Комментарии
 - •Сегменты
 - •Переменные
 - •Метки
 - •Инструкции ассемблера
 - •Основные инструкции ассемблера х86:
 - •Используемая литература
 
ПРАКТИКУМ ПО АССЕМБЛЕРУ  | 
	
  | 
СОДЕРЖАНИЕ  | 
	
  | 
Что надо знать, перед изучением ассемблера.........................................................................................................................  | 
	1  | 
Какие системы счисления использует ассемблер................................................................................................................  | 
	1  | 
Как и где программа хранит код и данные...........................................................................................................................  | 
	3  | 
Как программа исполняется ЦПУ...........................................................................................................................................  | 
	5  | 
Структура программы на Ассемблере MASM32.......................................................................................................................  | 
	5  | 
Комментарии...........................................................................................................................................................................  | 
	5  | 
Сегменты..................................................................................................................................................................................  | 
	5  | 
Переменные ............................................................................................................................................................................  | 
	5  | 
Метки .......................................................................................................................................................................................  | 
	6  | 
Инструкции ассемблера .........................................................................................................................................................  | 
	6  | 
Используемая литература ..........................................................................................................................................................  | 
	9  | 
ЧТО НАДО ЗНАТЬ, ПЕРЕД ИЗУЧЕНИЕМ АССЕМБЛЕРА. | 
	
  | 
КАКИЕ СИСТЕМЫ СЧИСЛЕНИЯ ИСПОЛЬЗУЕТ АССЕМБЛЕР | 
	
  | 
Понятие системы счисления
Система счисления – это способ записи чисел с помощью заданного набора специальных знаков и соответствующие ему правила выполнения действий над числами. Все системы счисления делятся на две большие группы: позиционные и непозиционные. Все системы счисления, используемые в Ассемблере, являются позиционными, поэтому далее будем считать, что всегда рассматриваем только их.
Позиционные – это такие системы счисления, в которых величина, которую обозначает цифра в записи числа, зависит от положения цифры в этом числе. Наиболее известны позиционные системы счисления с основаниями: 2, 3, 8, 10, 16. Для числа , записанного в позиционной системе счисления с основанием , как « −1 … 3 2 1 0», значение в другой системе счисления выражается следующей формулой:
−1
= ∑  | 
	
  | 
	∙  | 
	( )  | 
  | 
	
  | 
	
  | 
|
=0  | 
	
  | 
	
  | 
	
  | 
Формула (0) позволяет представить число из одной системы счисления в виде суммы чисел, записанных в другой системе счисления.
Двоичная
Как можно заметить из названия, в основании двоичной системы счисления лежит число «2». Это означает, что каждый разряд в такой системе может быть представлен одним из двух символов. Как правило используется {0, 1}. Для двоичной системы счисления формула (0) примет следующий вид:
−1
  | 
	
  | 
	= ∑  | 
	∙ 2 =  | 
	
  | 
	
  | 
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
  | 
	
  | 
	=0  | 
	
  | 
	
  | 
	
  | 
=  | 
	,2 +  | 
	∙ 2−1 + +  | 
	∙ 22 +  | 
	∙ 21 + ∙ 20  | 
	=  | 
  | 
	
  | 
	2  | 
	1  | 
	0  | 
	
  | 
= 0 + 1 ∙ 2 + 2 ∙ 4 + 3 ∙ 8 +
Двоичная система счисления используется в подавляющем большинстве электронных вычислительных устройств как раз по той причине, что разряд, имеющий всего два состояния, проще всего выразить электрическим сигналом:
0.– нет сигнала.
1.– есть сигнал.
Восьмеричная
Основание восьмеричной системы счисления так же очевидно из её названия – это число «8». Качестве множества цифр, которыми может быть записан один разряд, как правило, используется {0, 1, 2, 3, 4, 5, 6, 7}. Соответственно, формула (0) для восьмеричной системы счисления будет иметь следующий вид:
−1
= ∑ ∙ 8 =
=0
=, 8 + ∙ 8 −1 + + 2 ∙ 82 + 1 ∙ 81 + 0 ∙ 80 =
=0 + 1 ∙ 8 + 2 ∙ 64 + 3 ∙ 512 +
Восьмеричная система счисления интересна нам по той причине, что трёхразрядное двоичное число имеет то же множество значений, что и один разряд восьмеричного:
Основание  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
  | 
	000  | 
	001  | 
	010  | 
	011  | 
	100  | 
	101  | 
	110  | 
	111  | 
  | 
	0  | 
	1  | 
	2  | 
	3  | 
	4  | 
	5  | 
	6  | 
	7  | 
Это позволяет нам записывать громоздкие двоичные числа более компактно:
001010 = 12 = 10
010111 = 27 = 23
110100 = 64 = 52
Шестнадцатеричная
Основанием шестнадцатеричной системы счисления является число «16». Это означает, что каждый разряд в такой системе может быть представлен одним из 16 символов. Как правило используется {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. Формула (0) для шестнадцатеричной системы счисления будет иметь следующий вид:
−1
= ∑ ∙ 16 =
=0
=,16 + ∙ 16 −1 + + 2 ∙ 162 + 1 ∙ 161 + 0 ∙ 160 =
=0 + 1 ∙ 16 + 2 ∙ 256 + 3 ∙ 4096 +
