Дополняется ли флаг переноса, когда в микропроцессоре 8085 субтитр преобразуется в дополнение 2-х? - PullRequest
0 голосов
/ 30 сентября 2018

Я учился на веб-курсе и нашел пример, в котором объяснялась операция вычитания.В этом примере

A = A5H , B = 9BH

и была выполнена операция SUB B .

Поскольку операция вычитания в микропроцессоре 8085 выполняется путем преобразования вычитаемого числа в 2-й компонент и последующего добавления его к наименьшему, ответ, полученный таким образом, был A = (0000 1010) 2 (см.рисунок)

Поскольку ясно видно, что перенос выполняется после операции, поэтому флаг CY, т. е. флаг переноса, должен быть установлен на SET.Но они объяснили это следующим образом:

"Бит CY, по-видимому, равен 1. Но он дополняется и затем сохраняется. Следовательно, бит CY сохраняется как" 0 "."

Я так и не понял, почему флаг переноса стоит похвалить?Это потому, что вычитаемое преобразуется в дополнение 2 или что-то еще?

1 Ответ

0 голосов
/ 30 сентября 2018

Косвенно да.

Чтобы вычесть результат результата «заимствовать», как того требует архитектура 808x, вы добавляете дополнение к вычитаемому значению И дополняете выполнение из АЛУ, чтобы получить бит «заимствовать».Таким образом, вы дополняете перенос фактически по той же причине, по которой вы дополняли вычитаемое, но не напрямую , потому что вы это сделали.

Некоторые процессоры вместо этого имеют статус «переносить / НЕ брать в долг», который используетдополненная логика выполнения.См https://en.wikipedia.org/wiki/Carry_flag#Carry_flag_vs._borrow_flag.

...