Архитектура ЭВМ. Задания и примеры выполнения лабораторных работ. Докторов А.Е - 5 стр.

UptoLike

Рубрика: 

5
Регистр EDXрегистр данных. Используется в некоторых операциях
ввода/вывода, в операциях умножения и деления больших чисел совместно
с регистром EAX.
Любой из регистров общего назначения может быть использован для
суммирования или вычитания.
Регистры указателя ESP и EBP
Регистры указателя используются для обращения к данным в сегменте
стека. Могут использоваться все 32 разряда или только младшие 16 разрядов,
тогда имя регистра используется без буквы «E».
Регистр ESPуказатель стека (stack pointer). Используется для опре-
деления адреса вершины стека.
Регистр EBPуказатель базы (base pointer). Обеспечивает ссылки на
параметры (данные и адреса, передаваемые через стек).
Индексные регистры ESI и EDI
Индексные регистры используются для адресации, а также для выпол-
нения операций сложения и вычитания. В них могут быть использованы все
32 разряда или только младшие 16 разрядов, тогда имя регистра используется
без буквы «E».
Регистр ESIиндекс источника (source index). Используется в некото-
рых операциях со строками или символами.
Регистр EDIиндекс приемника (destination index). Используется в тех
же операциях, что и регистр ESI.
Регистр указателя команд EIP
Регистр IEP используется для выборки очередной команды программы
с целью ее исполнения. Во Free Pascal программисту не доступен.
Регистр флагов Flags
Регистр Flags содержит девять активных битов (из 16), которые отра-
жают состояние процессора и результаты выполнения машинных команд.
Биты: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Флаг O D I T S Z A P C
Флаги
O (переполнения) – равен 1, если возникает арифметическое перепол-
нение, например, при сложении числа 01111111B (127 десятичное) с числом
00000001B получится число 10000000B (-128 десятичное), то есть семь раз-
рядов, используемых для представления абсолютной величины числа, пере-
полнились, и был задействован знаковый разряд.
D (направления) – устанавливается в 1 для автоматического декремента
в командах обработки строк и в 0 – для инкремента.