- •Введение
- •Лабораторная работа 1 системы счисления
- •Цель работы
- •Позиционные системы счисления
- •Преобразование чисел в десятичную систему счисления
- •Преобразование десятичных чисел в любую систему счисления
- •Преобразование двоичных чисел в шестнадцатеричные
- •Преобразование шестнадцатеричных чисел в двоичные
- •Преобразование двоичных чисел в восьмеричные и наоборот
- •Двоично-десятичная система счисления
- •Двоичная арифметика
- •1 1 1111111 Перенос единицы
- •Задание для самостоятельной работы
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ВОЛЖСКИЙ УНИВЕРСИТЕТ им. В.Н.ТАТИЩЕВА
В.Ф. ЛАРИНА
Программирование на языке ассемблер
Лабораторный практикум
по дисциплинам
«Организация ЭВМ и систем» и
«Архитектура ЭВМ и систем»
Тольятти 2007
ББК 32. 973
В.Ф.Ларина. Программирование на языке Ассемблер: лабораторный практикум. - Тольятти: Волжский университет им. В.Н.Татищева, 2007.- 40 с.
Содержит теоретические сведения и примеры, касающиеся систем счисления, особенностей операций сложения и вычитания с данными разного типа, прерываний, а также подробно прокомментированные примеры программ на языке Ассемблер.
Для студентов специальностей 230101 (220100) «Вычислительные машины, комплексы, системы и сети» и 230201 (071900) «Информационные системы».
Рецензент: канд.техн.наук, доцент Куралесова Н.О.
Утверждено Ученым советом ВУиТ . .2007
© ВОЛЖСКИЙ УНИВЕРСИТЕТ им. В.Н.ТАТИЩЕВА, 2007
Введение
Под «архитектурой ЭВМ» обычно понимается логическое построение вычислительной машины, то есть то, какой машина представляется программисту [14]. Описание физического построения вычислительных средств принято определять понятием «организация ЭВМ». Достаточно часто пользуются термином «архитектура» в «широком» представлении, объединяющем как архитектуру, так и организацию ЭВМ. В данном пособии принято именно такое толкование этого термина.
Архитектура ЭВМ охватывает перечень большого количества характеристик, одной из которых является описание набора и форматов машинных команд.
Язык Ассемблера является специфическим языком машинного уровня, его команды имеют взаимно-однозначное соответствие с системой машинных команд, они согласованы с архитектурой компьютера. Язык Ассемблера существует для каждого типа процессора или целого семейства процессоров, в частности, Ассемблер для IBM PC имеет систему команд, понимаемую различными процессорами производства INTEL.
Наиболее часто язык Ассемблера используется для непосредственного управления аппаратурой ЭВМ. Он необходим также при оптимизации критических блоков в прикладных программах для повышения их быстродействия.
Целью данного лабораторного практикума является ознакомление с основными командами и приемами программирования на Ассемблере.
Лабораторный практикум содержит теоретические сведения и примеры, касающиеся систем счисления, особенностей операций сложения и вычитания с данными разного типа, прерываний, а также подробно прокомментированные примеры использования языка Ассемблер. В конце каждого раздела представлены задания, предназначенные для самостоятельного решения.
Лабораторная работа 1 системы счисления
-
Цель работы
Изучение позиционных систем счисления: перевод чисел из одной системы в другую; сложение и вычитание чисел в различных системах счисления.
-
Позиционные системы счисления
1.2.1 Под системой счисления понимают способ представления любого числа с помощью некоторого алфавита символов, называемых цифрами.
Позиционные системы счисления характеризуются тем, что одна и та же цифра имеет различное значение, определяемое позицией цифры в последовательности цифр, изображающих число. Десятичная система счисления - позиционная, римская система счисления - непозиционная.
Количество S различных цифр, употребляемых в позиционной системе счисления, называется ее основанием.
Любое число X в позиционной системе счисления можно представить в виде полинома от основания S:
X = kiSi + ki-1Si-1 + … + k1S1 + k0S0 + k-1S-1 + k-2S-2 + …
Для краткости число принято изображать в виде последовательности цифр:
X = kiki-1 … k1k0.k-1k-2 …
Позиции цифры, отсчитанные от запятой (точки), отделяющей целую часть от дробной, называются разрядами.
В ЭВМ используются только позиционные системы счисления с различными основаниями.
Систему счисления, в которой записано число, обозначают подстрочным индексом, заключенным в круглые скобки, например: 1101(2), 369(10), BF(16) и т.д.
ПРИМЕР
1101(10) = 1103+ 1102 + 0101 + 1100
1101(16) = 1163 + 1162 + 0161 + 1160
1101(2) = 1 23 + 1 22 + 0 21 + 1 20
1.2.2 В ЭВМ применяют двоичную, восьмеричную и шестнадцатеричную системы счисления. В компьютерной документации принято дополнять число спецификатором – буквой, указывающей, в какой системе оно записано. В конце двоичного числа ставится буква b (binary), в конце восьмеричного – буква o (octal) или q ( буква o похожа на нуль, поэтому рекомендуется использовать q), в конце 16-ричного – буква h. Ради общности спецификатор d (decimal) можно указывать в конце десятичного числа, но обычно это не делается.
В двоичной системе счисления используются два символа: 0 и 1 ( S = 2 ). Одним из главных достоинств этой системы является тот факт, что для представления в ЭВМ разряда двоичного числа может быть использован любой простой элемент, имеющий всего два устойчивых состояния. Другое преимущество двоичной системы - простота двоичной арифметики.
Каждая позиция, занимаемая двоичной цифрой, называется бит. Бит является наименьшей единицей информации в ЭВМ.
В восьмеричной системе счисления употребляются восемь цифр ( 0...7 ), то есть S = 8. Восьмеричная система счисления удобна для компактной формы записи чисел.
Шестнадцатеричная система счисления имеет основание S, равное 16. В общем виде шестнадцатеричное число выглядит следующим образом:
X = ki16i + ki-116i-1 + … + k1161 + k0160 + k-116-1 + …
где km = 0 … 9, A, B, C, D, E, F, при этом:
A(16) = 10(10) B(16) = 11(10) C(16) = 12(10)
D(16) = 13(10) E(16) = 14(10) F(16) = 15(10)
Шестнадцатеричная система счисления позволяет короче записывать многоразрядные двоичные числа.