Микропроцессоры с изменяемой (наращиваемой) разрядностью слова и микропрограммным управлением (секционные микропроцессоры) на примере микропроцессора К1804, страница 5

Общий вид  ADC M :  (A) + (M) + (c) ®(A)

Если в ячейку 200 записать значение 377 и  продолжить выполнение программы в автоматическом режиме, то получим следующие результаты:

Адрес        Содержимое

1-ый запуск

000  200          007      ; перенос  C = 1

2-ой запуск

000  200          020      ; М = М + 010 + С(=1)

Для реализации вычитания надо заменить команду MOV M,A на SUB D где D – второй операнд. Для работы с двоично-десятичными числами использую команду DAA(команда десятичной коррекции). Для сложения двоично-десятичных чисел после команды DAA должна следовать команда DAA.

·  Вычитание двоичных чисел.(A = A- D, A->M)

Адреса

Команды

Мнемоника

Комментарии

000

026

MVI D

Непосредственная загрузка D

001

010

B2

Байт данных вычитаемого

002

076

MVI A

Непосредственная загрузка A

003

200

B2

Байт данных уменьшаемого

004

206

SUB D

Вычитание из содержимого A  содержимого D

005

041

LXI H

Загрузка начального адреса памяти в указатель памяти

006

200

B2

мл. байт адреса

007

000

B3

ст. байт адреса

010

167

MOV M, A

Запоминание разности в ячейке памяти

011

166

HLT

Останов

10000000-00001000=01111000