Регистры общего назначения
Процессор 8086 имеет восемь 16-разрядных регистров общего назначения, обозначаемых AX, BX, CX, DX, SI, DI, BP и SP.
Старший и младший байты регистров AX, BX, CX и DX могут использоваться отдельно. Они носят обозначения AH, BH, CH и DH для старших байтов и AL, BL, CL и DL для младших байтов.
Несмотря на то, что эти регистры именуются регистрами общего назначения, каждый из них имеет специальные функции, которые не могут быть переданы какому-либо другому регистру. Общим является то, что все регистры общего назначения могут использоваться в командах пересылки, сложения, вычитания и логических операциях. О специальном назначении каждого регистра будет упоминаться в описании тех функций микропроцессора, где этот регистр используется. Ниже приведён краткий список специфических особенностей использования этих регистров.
Регистр AX является одним из операндов команд умножения и деления; хранит операнд, подвергающийся десятичной или символьной коррекции в операциях двоично-десятичной арифметики; используется в командах ввода-вывода в качестве регистра данных.
Регистр BX используется при адресации операндов.
Регистр CX содержит счётчик повторения цикла или количество разрядов, на которое производится сдвиг операнда в инструкциях сдвига.
Регистр DX расширяет разрядность регистра AX в операциях умножения, деления и двойного сдвига; он содержит адрес порта ввода-вывода в инструкциях ввода-вывода.
Регистр SI содержит смещение строки-источника в строковых операциях и может использоваться при адресации операндов.
Регистр DI содержит смещение строки-приёмника в строковых операциях и может использоваться при адресации операндов.
Регистр BP используется при адресации данных, расположенных в сегменте стека; может использоваться при адресации данных, расположенных в других сегментах.
Регистр SP является указателем стека.