Как проверить статус флага четности в микропроцессоре 8086? - PullRequest
0 голосов
/ 18 января 2019

Возьмем, к примеру, результат умножения двух 16-битных чисел. Как повлияет флаг четности в микропроцессоре 8086 и на каком основании? Рассматриваем ли мы весь 32-битный результат или только младшие 8 бит?

1 Ответ

0 голосов
/ 19 января 2019

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

Однако не все инструкции делают это. Обратитесь к руководству. Например, 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 также могут быть опциями.

...