x86-16 - 如何检查 8086 微处理器中奇偶标志的状态?
问题描述
以两个 16 位数字相乘的结果为例。8086 微处理器中的奇偶校验标志将如何受到影响?在什么基础上?我们考虑整个 32 位结果还是只考虑低 8 位?
解决方案
如果根据结果设置,则从低8位开始。例如add ax, bx
,根据 AL 设置 PF。
但是,并非所有指令都这样做。查阅手册。例如mul
https://www.felixcloutier.com/x86/mul未定义 PF。
顺便说一句,您的问题标题与您的问题完全不符。要检查PF,您可以使用类似的指令jp
或jnp
或lahf
/and ah, 1<<2
将 FLAGS 存储到 AH 中,然后 AND 以隔离 PF 位。 https://en.wikipedia.org/wiki/FLAGS_register
或者在以后的 CPU 上,setp al
或者cmovp eax, edx
也是选项。
推荐阅读
- java - 匹配阿拉伯日期或普通日期的正则表达式
- postgresql - 如何更改默认使用的 psql 版本?
- assembly - 在嵌入式 ARM 设备上,使用 Keil 将 PC (R15) 设置为指向我的代码的所需地址
- java - 模拟器:qemu-system-i386.exe:无法打开`/path/pstore.bin`:权限被拒绝
- ios - HSV 转换的错误结果?
- angular - 使用 angular-meteor 在 Angular 中延迟加载不可路由的模块
- python - 如何检查没有参数发送到 Python 中的函数
- swift - Xcode 我收集视图我在 cellForRowAtIndexpath 函数中排队 urlsession 数据任务
- sql - 如何根据事件日志表在一天结束时获取每个状态的用户总数?
- javascript - printContent 未在 HTMLInputElement.onclick 中定义