Как проверить состояние флага четности в микропроцессоре 8086?

У других кодеров Unity была эта проблема передо мной, и они придумали опрятное решение. Настройка пользовательского интерфейса на другой цвет в режиме воспроизведения «Playmode tint».

Здесь вы можете прочитать подробности (изначально опубликовано 2009, но я проверил, что он все еще работает в последнем Unity 5.3):

http://answers.unity3d.com/questions/9159/best-strategies-for-not-accidently-editing-whilst.html

-1
задан Xeya Raz 18 January 2019 в 15:35
поделиться

1 ответ

Если это установлено в соответствии с результатом, это от младших 8 битов. например add ax, bx устанавливает PF в соответствии с AL.

1112 Однако не все инструкции делают это. Обратитесь к руководству. Например, mul https://www.felixcloutier.com/x86/mul оставляет PF неопределенным.


Кстати, название вашего вопроса совсем не соответствует вашему вопросу. Чтобы проверить PF, вы должны использовать такую ​​инструкцию, как jp или jnp

или lahf / and ah, 1<<2, чтобы сохранить флаги в AH, а затем AND, чтобы изолировать PF немного. https://en.wikipedia.org/wiki/FLAGS_register

Или на более поздних процессорах, setp al или cmovp eax, edx также могут быть вариантами.

0
ответ дан Sep Roland 18 January 2019 в 15:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: