Аккумуляторы А и В. Назначение и доступ к ним.

Аккумуляторы A и B используются в качестве приемников результата при работе умножителя и АЛУ. Каждый аккумулятор разбивается на 3 части (регистры с отображением на память) как показано на рис. 5.5.

AG, BG, AH, BH, AL и BL – регистры с отображением на память, которые могут быть сохранены в стеке и восстановлены командами PSHM и POPM.

Вы можете сохранить содержимое аккумуляторов в память с помощью команд STH, STL, STLM и SACCD. При сохранении со сдвигом в память сохраняется старшая или младшая часть аккумулятора после выполнения сдвига (при этом состояние самих аккумуляторов не меняется).

Следующий пример показывает результат действия команд сохранения, если в аккумуляторе А находится число 0FF 4321 1234h.

STH A,8,TEMP ; TEMP = 2112h

STH A,-8,TEMP ; TEMP = FF43h

STL A,8,TEMP ; TEMP = 3400h

STL A,-8,TEMP ; TEMP = 2112h

Следующие команды выполняют различного типа сдвиги содержимого аккумулятора через бит С:

SFTA (арифметический сдвиг)

SFTL (логический сдвиг)

SFTC (условный сдвиг)

ROL (циклический сдвиг влево)

ROR (циклический сдвиг вправо)

ROLTC (циклический сдвиг влево через TC)

Бит SST в регистре PMST задает режим насыщения при записи аккумулятора в память. Данный режим используется в следующих командах:

STH ST || ADD ST || MPY

STL ST || LD ST || SUB

STLM ST||MAC[ R]

DST ST||MAS[R ]