Читать «Assembler. Программирование на языке ассемблера IBM PC» онлайн - страница 5
Unknown Author
Все регистры имеют размер слова (16 разрядов), за каждым из них закреплено определенное имя (АХ, SP и т. п.). По назначению и способу использования регистры можно разбить на следующие группы: 1
1.2.1. Регистры общего назначения К этой группе относятся следующие 8 регистров:
Хотя названия многих из этих регистров малоосмысленны, все же приведем расшифровку этих названий:
АХ accumulator, аккумулятор;
ВХ base, база;
СХ counter, счетчик;
DX data, данные;
(буква X - от слова extended, расширенный: в процессоре 8080 были байтовые регистры А, В, С и D,. но затем их расширили до размера слова)
SI source index, индекс источника;
DI destination index, индекс приемника;
BP base pointer, указатель базы;
SP stack pointer, указатель стека.
Особенностью всех этих регистров является то, что их можно использовать в любых арифметических, логических и т. п. машинных операциях. Например, можно сложить число из регистра DI с числом из регистра SP или вычесть из содержимого регистра ВР содержимое регистра СХ.
В то же время каждый из этих регистров имеет определенную специализацию: некоторые команды требуют, чтобы их операнд или операнды обязательно находились в определенных регистрах. Например, команда деления требует, чтобы первый операнд (делимое) находился в регистре АХ или в регистрах АХ и DX (в зависимости от размера операнда), а команды управления циклом используют регистр СХ в качестве счетчика цикла. Такая специализация регистров будет рассматриваться по ходу дела, при описании команд, а пока расскажем о других специанизациях этих регистров.
В ПК используется так называемая модификация адресов. Если в команде операнд берется из памяти, тогда сослаться на него можно указав некоторый адрес и некоторый регистр. В этом случае команда будет работать с так называемым исполнительным адресом, который вычисляется как сумма адреса, указанного в команде, и текущего значения указанного регистра. Именно из ячейки с таким адресом команда и будет брать свой операнд. Выгода от такого способа задания операнда заключается в том, что, меняя значение регистра, можно заставить одну и ту же команду работать с разными ячейками памяти, что, например,
полезно при обработке массивов, когда одну и ту же команду надо применять к разным элементам массивов. Замена адреса, указанного в команде, на исполнительный адрес называется модификацией адреса, а используемый при этом регистр называется модификатором. Во многих ЭВМ в качестве модификатора можно использовать любой из имеющихся регистров, но вот в ПК модификаторами могут быть только регистры ВХ, BP, SI и DI. В этом и заключается основная специализация данных регистров. Отметим также, что в ПК модифицировать адрес можно не только по одному регистру, но и по двум сразу. Правда, в этом случае разрешено использовать не любую пару указанных модификаторов, а только такую, где один из регистров - это ВХ или ВР, а другой - это SI или DI. (Более подробно модификация адресов рассматривается в гл. 5.)