Если оставить в стороне конкретный процессор и просто учесть двоичную арифметику, то при вычитании 1 из 9800H не создается заимствование.Однако при добавлении 0FFFF к 9800H создается перенос.В обоих случаях вы получите 97FFH в 16 младших разрядах результата.
Независимо от выбора дизайна, введенного в CPU, вам нужно просто следовать документации, например этого документа, MCS®-80/ 85 FAMILY USER'S MANUAL .
В 5.6.1 говорится, что в группе передачи данных:
Флаги условий не затрагиваются никакими инструкциями в этой группе.
5.6.2 Арифметическая группа:
Если не указано иное, все инструкции в этой группе влияют на флаги «Ноль», «Знак», «Четность», «Перенос» и «Вспомогательный перенос» в соответствии со стандартными правилами.
Аналогично в 5.6.3 Логическая группа:
Если не указано иное, все инструкции в этой группе влияют на флаги Zero, Sign, Parity, Auxiliary Carry и Carry в соответствии сстандартные правила.
5.6.4 Группа филиалов:
Флаги условий не затрагиваются никакими инструкциями в этой группе.
5.6.5 Стек, I / O и MacГруппа управления hine:
Если не указано иное, на флаги условий не влияют никакие инструкции в этой группе.
Вам необходимо запомнить, как общие команды влияют на флаги.Вы можете скомпилировать простую шпаргалку или, возможно, найти другую, созданную кем-то другим (некоторые книги по сборке имели таковые для удобства программиста).
Если вас интересует, почему некоторые инструкции не влияют на флаги илинекоторые влияют на них определенным образом, это зависит.Причины могут быть разными, в зависимости от конкретной инструкции: более дешевая схема, более простое программирование общих проблем, совместимость с более ранними конструкциями или просто перенос вперед того, что сработало, без дополнительных размышлений.