Как установить все флаги в 8085?

Мой учитель микропроцессора 8085 дал задание установить все флаги! Я написал эту маленькую программу, чтобы установить все, кроме знака, пожалуйста, помогите мне

 MVI A,0FFH
 ANI 01H
 HLT

Ответы (3)

Пять флагов на 8080/8085: Sign, Zero, Carry, Half-carry и Parity. Похоже, ваша программа очищает их все. Результат неANI равен нулю, не отрицателен и имеет нечетную четность. Кроме того, логические операции, такие как безоговорочная очистка обоих, имеют флаги переноса.ANI

На самом деле, самый прямой способ установить их все выглядит примерно так:

LXI H, 0FFFFh
PUSH H
POP PSW

Что ваш учитель может или не может считать «обманом». (На самом деле я не могу придумать другого способа одновременно установить флаги Z и S.)

Я поражен, что кто-то все еще преподает эту древнюю архитектуру, а не то, что на самом деле все еще находится в производстве. Совершенно бесполезное знание.

Добро пожаловать в мой класс компьютерной архитектуры, за исключением того, что мы использовали вымышленную 1-регистровую микрокодированную архитектуру CISC без указателя стека!
"Позвольте мне рассказать вам о том, как это было сделано в 1983 году..."
Я до сих пор поддерживаю встроенную систему на базе Z80 для клиента. Таким образом, несмотря на принятие желаемого за действительное, архитектура 8080 не совсем умерла. Архитектура 8051 жива и здорова и лежит в основе нескольких очень популярных реализаций USB и Bluetooth. Эти старые 8-битные микроядра вряд ли действительно умрут в течение долгого времени.
Кроме того, учитывая, что существует несколько реализаций 8080 с открытым исходным кодом , готовых для синтеза в вашей FPGA, вы тоже можете иметь систему на базе 8080!
Также трудно увидеть смысл фактического упражнения. Не то, что когда-либо возникает на практике.
MVI L,FFH
PUSH H
POP PSW
RAR   // upto which will set all flags
MVI L,00H
PUSH H
POP PSW
HLT   // upto which it reset all flags
MVI L,FFH PUSH H POP PSW RAR // до которого будут установлены все флаги MVI L,00H PUSH H POP PSW HLT
Добро пожаловать на EE.SE. Ваши кнопки копирования/прошлого, кажется, застряли в каком-то цикле. Пожалуйста, нажмите на редактирование и переформулируйте свой ответ. Добавьте больше пояснений к текущему ответу (после того, как вы серьезно улучшите его форматирование). Кроме того, вы прошли этот тур ? Пожалуйста, рассмотрите это!
MVI L,FFH;
Push H;
Pop PSW;

Это самый простой способ!