
- •10.09.2012 — Лекция №1
- •12.09.2012 — Лекция №2
- •17.09.2012 — Лекция №3
- •23.09.2012 — Лекция №4
- •26.09.2012 — Лекция №5
- •1.10.2012 — Лекция №6
- •08.10.2012 — Лекция №7
- •08.10.2012 — Лекция №8
- •22.10.2012 — Лекция №10
- •24.10.2012 — Лекция №11
- •Команды микропроцессора x086.
- •03.12.2012 — Лекция №19
- •10.12.2012 — Лекция №21
- •17.12.2012 — Лекция №22
- •19.12.2012 — Лекция №23
22.10.2012 — Лекция №10
Ассемблер обеспечивает наиболее полный доступ ко всем ресурсам ЭВМ.
Рассмотрим IBM-PC совместимы ЭВМ на уровне ассемблера.
РИСУНОК
ЦП организовано вокруг 2х шин — адреса, данных и управления. Он включает в себя УУ, формирующее управляющий сигнал для всех блоков ЦП и внешних устройств. УУ имеет сигналы ждя управления шиной, если ЦП выполняет роль ведущего в системе. УУ имеет еще сигналы управления памятью, сигналы прерываниями и сигналы управления прямым доступом в память.
Очередь команд — аналог кэша команд для организации конвеерной обработки команд, что существенно повышает быстродействие.
Арифметическо-логическое устройство (АЛУ) выполняет арифметические и логические операции над двумя операндами.
Регистр признаков/флагов — предназначен для временного хранения состояний ЭВМ при выполнении каждой команды. Содержит блок адрессации, в который входят 16-разрядные htubcnhjs сегментов, которые используются в ЭВМ для разделения команд/кода, данных (приемника и источника и стека).
Блок регистров общего назначения — регистры используются программистом для временного хранения данных или адресов.
AX=AH+AL
16 бит = 8 бит + 8 бит
Регистр-аккумулятор — универсальный регистр, который может быть испаользован для хранения данных в любых командах ЭВМ, все остальные регистры только в некоторых, определенных командах. BX кроме того, что он регистр общего назначения, в неоторых командах он выполняет роль базового адреса.
СХ=СН+CL
в некоторых командах используется в качестве счетчика.
DX — используется для хранения данных в качестве адреса для обращения к портам ввода-вывода.
SP — указатель величины стека.
BP — указатель базы, по умолчанию указатель базы, используемой для обращения к области стека.
SI — индексный регистр, регистр для индексной адрессации к операндам. Является источником данных. По умолчанию всегда ассоциируется с сегментом данных, индекс приемника указывает адрес в дополнительном сегменте, куда записывается результат.. Блок адрессации содержит 5 регистров, первый — самый главный из них — IP (индекс программы) — указывает смещение адреса программы в сегменте кода (CS). Сегмент данных DS по умолчанию используется в качестве источника.Д-ный сегмент FS используется для хранения данных; в некоторых командах используется как SS сегмент стека, где всегда хранятся данные стека.
F — регистр флагов/признаков — используется для организации ветвлений в программе по состоянию определенного бита регистров признаков
X |
X |
X |
X |
0 |
D |
I |
T |
S |
Z |
- |
A |
- |
P |
- |
C |
|
|
|
|
11 |
|
|
8 |
7 |
|
|
|
|
|
|
0 |
Бит CF — флаг переноса — используется для формирования бита переноса при переполнении разрядной ячейки ЭВМ. Если равен 0 после сложения, значит что переполнения не было, если 1 — бите переноса, который необходимо перенести в старшую часть слова. Все биты проверяются командами условного перехода.
Бит PF — четности. При формировании этого признака PF подсчитывается чисто единиц в результате выполнения операции и всегда дополняется до нечетного числа. Этот бит контрольной четности проверяется в процессе проверки корректности хранения и передачи данных.
Бит AF — дополнительный перенос. Этот бит переноса используется для обработки BCD-кодированных чисел. BDC — двоичное кодирование десятичных чисел.