- •Министерство образования и науки
- •Теоретические сведения
- •1.1. Регистры
- •1.1.2. Регистры общего назначения
- •1.1.3. Сегментные регистры
- •1.2. Регистр флагов
- •1.3. Представление данных
- •1.3.1. Целые числа без знака
- •1.3.2. Целые числа со знаком
- •1.3.3. Представление символьных переменных
- •1.4. Лексемы
- •1.4.1. Идентификаторы
- •1.4.2. Целые числа
- •1.4.3. Символьные данные
- •1.5. Предложения
- •1.5.1. Комментарии
- •1.5.2. Команды
- •1.5.3. Директивы
- •1.6. Директивы определения данных
- •1.6.1. Директива db
- •1.6.2. Директива dw
- •1.6.3. Директива dd
- •1.6.4. Директивы эквивалентности и присваивания
- •1.7. Выражения
- •1.8. Обозначения
- •1.9. Команды пересылки
- •1.9.1. Команда mov
- •1.9.2. Команда xchg (exchange)
- •1.10. Команды сложения и вычитания
- •1.10.1. Особенности сложения и вычитания целых чисел в пк
- •1.10.2. Команды сложения и вычитания
- •Например: Mov ah, 1
- •1.11. Команды умножения и деления
- •1.11.1. Команды умножения
- •1.11.2. Команды деления
- •1.12. Изменение размеров числа
- •Задание
- •Контрольные вопросы
- •Литература
Министерство образования и науки
РЕСПУБЛИКИ КАЗАХСТАН
ПАВЛОДАРСКИЙ УНИВЕРСИТЕТ
Языки и технология программирования Assembler
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
Павлодар,2003г.
«СОГЛАСОВАНО» Декан ФЭиИТ А. В. Дробинский_______ «____» ______________ 2003г. |
«УТВЕРЖДАЮ» Проректор по УМиВР А.Ю. Камербаев_______ «____» ______________ 2003г.
|
Составитель ст. преподаватель И.А. Серов
Кафедра “Автоматизированные системы обработки информации и управления”
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к выполнению лабораторных работ
по дисциплине «Языки и технология программирования Assembler»
для студентов специальности 37.01 "Компьютерные
системы обработки информации и управления"
дневное отделение
Утверждено на заседании кафедры “АСОИиУ” протокол № _______ от __________ 200_ г.
Зав. кафедрой “ АСОИиУ ” к.т.н., профессор И.А. Воронич
Рекомендовано научно-методической комиссией ФЭиИТ «_____»_______________ 200_ г.,
протокол № ______
Одобрено ИМО ПаУ
Начальник ИМО к.п.н., доцент Н.М. Ушакова
Тема: «Линейные алгоритмы».
Цель работы:научиться программировать элементарные вычисления, осуществляемые на языке ассемблер.
Теоретические сведения
1.1. Регистры
Помимо ячеек в оперативной памяти для хранения (кратковременного) данных можно использовать регистры – ячейки, расположенные в центральном процессоре. Доступ к регистрам осуществляется намного быстрее, чем доступ к ячейкам памяти, следовательно, используя регистры, возможно существенно увеличить скорость работы программы.
Все регистры имеют размер слова (16 разрядов); за каждым из них закреплено определенное имя. По назначению и способу использования регистры можно разбить на следующие группы:
регистры общего назначения (AX, BX, CX, DX, SI, DI, BP, SP)
сегментные регистры (CS, DS, SS, ES)
указатель команд (IP)
регистры флагов (Flags)
1.1.2. Регистры общего назначения
К этой группе относятся 8 регистров:
AH AL
AX SI
BH BL
BX DI
CH CL
CX BP
DH DL
AX |
Accumulator, аккумулятор |
BX |
Base, база |
CX |
Counter, счетчик |
DX |
Data, данные (буква X – eXtended, расширенный) |
SI |
Source index, индекс источника |
DI |
Destination index, индекс приемника |
BP |
Base pointer, указатель базы |
SP |
Stack pointer, указатель стека |
Особенностью всех этих регистров является то, что их можно использовать в любых арифметических, логических и других машинных операциях. В то же время каждый из этих регистров имеет определенную специализацию: некоторые команды требуют, чтобы их операнд или операнды обязательно находились в определенных регистрах.
В регистрах AX, BX, CX и DX возможен независимый доступ к их старший (High – выше, старший) и младший (Low – ниже, младший) половинам. Можно сказать, что каждый из этих регистров состоит из двух байтовых регистров. Например, с регистром AX можно работать так: записать в него слово (16 битов), затем считать только левую половину этого слова (байт из AH), не считывая правую половину, далее можно сделать запись только в AL, не меняя AH.