x86指令集部分参考
1. 指令概述
本文将介绍x86指令集中的部分指令,涵盖中断返回、条件跳转、无条件跳转、数据移动等多种类型的指令,详细阐述它们的功能、影响的标志位、合法形式、示例及注意事项。
2. 指令分类介绍
2.1 中断返回指令 - IRET
IRET用于从中断服务例程返回。它会从栈顶弹出返回地址到CS和IP,然后将栈中的下一个字弹出到标志寄存器,所有标志位都会受到影响。
- 标志位影响 :所有标志位(O、D、I、T、S、Z、A、P、C)都会被修改。
- 合法形式 :IRET
- 示例 :IRET
- 注意事项 :
- 必须用于通过INT或中断硬件(如串口)调用的中断服务例程的退出。
- 如果中断由硬件触发,在执行IRET之前可能需要额外步骤来准备硬件以处理下一个中断。
- 使用NASM时,IRET生成的实际操作码取决于BITS设置,决定是16位返回还是32位返回。
- 在保护模式下,用户空间应用程序不能包含中断服务例程,因此不能使用IRET。
2.2 条件跳转指令 - J?
条件跳转指令根据标志位的状态决定是否跳转。这些指令默认在条件为真时进行短跳转(向前127字节或向后128字节),条件为假时则继续执行下一条指令。 <
超级会员免费看
订阅专栏 解锁全文
2033

被折叠的 条评论
为什么被折叠?



