Регистры и флаги

Для обработки программы пользователя в контроллере использован микропроцессор К1810ВМ86 (i80С188EB) с системой команд i80186. Для программиста контроллер представляет собой набор регистров и областей операндов. При использовании языка в форме ЛМК в набор регистров входят следующие элементы:

- логический битный аккумулятор LA (регистр BL процессора);

- два шестнадцатиразрядных словных аккумулятора RW1 (регистр AX) и RW2 (регистр DX);

- два тридцатидвухразрядных вещественных аккумулятора RG1 и RG2 (расположены в памяти по адресам 0FF10H и 0FF14H соответственно);

- два восьмиразрядных байтных аккумулятора RB1 (регистр BL) и RB2 (регистр BH);

- регистр флагов F, включающий в себя: флаг нуля ZF, флаг переноса CF, флаг четности PF, флаг знака SF, флаг переполнения OF регистра состояния PSW процессора.

Значение битного аккумулятора LA определяется по значению бита 0 регистра BL: LA = 1, если бит 0 регистра BL равен 1 и LA = 0, если бит 0 регистра BL равен 0. Аккумулятор LA является основным регистром при логической обработке.

Аккумуляторы RW1, RW2 служат для арифметических, многоразрядных логических операций, групповой обработки областей операндов. Это наиболее часто используемые регистры.

Аккумуляторы RG1, RG2 служат для арифметической обработки вещественных чисел. Числа в RG1 и RG2 хранятся и обрабатываются в формате короткого вещественного числа. В этом формате мантисса занимает младшие 23 бита (0…22), смещенный порядок занимает следующие 8 бит (23…30) и знак числа занимает старший бит (31). В коротком вещественном формате могут быть представлены числа из диапазона ±1E-38…±3E+38 с точностью до шести десятичных цифр.

Аккумуляторы RB1, RB2 введены для обеспечения совместимости со структурой регистров контроллеров С100, С200 и облегчения переноса программ, написанных для С100, С200, в контроллер С300. Как и в С100, С200, в контроллере С300 аккумуляторы LA и RB1 выполнены на одном регистре (BL), поэтому при изменении одного из них изменяется другой, что следует учитывать при их совместном использовании. При разработке программ сразу для С300 не рекомендуется использовать регистры RB1, RB2.

Флаги служат для анализа результатов выполнения арифметических и логических операций.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: