Как рассчитываются перенос и дополнительный перенос для побитовых операций в 8080 - PullRequest
0 голосов
/ 28 мая 2020

В настоящее время я пишу эмулятор 8080 и не понимаю, почему флаг переноса помечен как "измененный" в списках кодов операций, таких как

https://pastraiser.com/cpu/i8080/i8080_opcodes.html или http://www.emulator101.com/8080-by-opcode.html

это просто 0 или есть реальный способ вычислить перенос для побитовой операции? Я немного сбит с толку, поскольку Pastraiser говорит, что он изменен, а не просто установлен на 0.

1 Ответ

0 голосов
/ 14 июля 2020

Руководство по программированию на языке ассемблера Intel 8080 является авторитетным источником по таким вопросам. Он имеет подробное описание каждой инструкции. Для побитовых логических операций он говорит, что флаг переноса сброшен (т.е. установлен в 0):

ANA Логический и (si c!) Регистр или память с аккумулятором

[...]

Указанный байт логически AND бит за битом изменяется с содержимым аккумулятора. Бит переноса сбрасывается в ноль

И аналогично для XRA и ORA.

...