Будет ли содержимое стека гарантированно прежним после выполнения пары команд POP AF/PUSH AF? А на 8080/8085?
Будет ли содержимое стека гарантированно прежним после выполнения пары команд POP AF/PUSH AF? А на 8080/8085?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Содержимое стека (ячеек памяти стека) будет затёрто значениями аккумулятора и регистра флагов. Если вопрос был про содержимое рег. пары [SP], то оно останется прежним.
Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел
Попробую перефразировать вопрос, что бы не было недопонимания. В вершине стека записано слово NNNN. CPU последовательно выполняет команды две команды: POP AF и PUSH AF. Будет ли на стеке гарантированно тоже самое число?
по версии emuzwin будет тоже самое (но это кривой эмулятор)
сами push pop на флаги не влияют чтобы что то повредить
но вот можно ли писать в недокументированные флаги
упоминания я не помню
только говориться что их можно читать
- - - Добавлено - - -
ну чисто визуально на кристале у AF все 16 битов
можно предположить что в них можно и писать
и что pop af : push af не будет давать никакого нового результата
Barmaley_m(30.05.2020), Destr(26.04.2020)
Barmaley_m(30.05.2020)
Barmaley_m(30.05.2020), Dec(26.04.2020)
вот здесь можно, правда, на аглицком: https://retrocomputing.stackexchange...flags-register
вкратце - у 8080 вообще нет "регистра флагов" как такового, и при пуше байт конструируется
у 8085 вроде как уже отдельный регистр, но всё равно один бит принудительно обнуляется
Прихожу без разрешения, сею смерть и разрушение...
Вопрос на засыпку однако ))
А насколько критичен ответ ? Если заменить на POP AF : DEC SP : DEC SP , то +1 лишний байт и +1 лишний такт, но гарантированно стек не рухнет ))
- - - Добавлено - - -
Упс ! Соврал, может рухнуть, как впрочем и на POP AF : PUSH AF . Если разрешены прерывания и попадём как раз в разрыв между командами, то что-нибудь точно изменится.
Barmaley_m(30.05.2020)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)