Аккумуляторы А и В. Назначение и доступ к ним.
Аккумуляторы 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 ]