汇编学习笔记
Posted ur10ser
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编学习笔记相关的知识,希望对你有一定的参考价值。
EIP 用来存储CPU要读取指令的地址,CPU通过EIP寄存器读取即将要执行的指令。每次CPU执行完相应的汇编指令之后,EIP寄存器的值就会增加。
jmp 分为段间转移和段内转移,段间转移需要提供新的段地址和偏移地址。
ip instruction pointer,即 段,用来存储将要执行的下一条指令的偏移量。
条件转移指令:v(1)根据单个标志位的状态判断转移的指令
指令 | 转移条件 | 说明 |
JC DEST | CF=1 | 有进位/借位 |
JNC DEST | CF=0 | 无进位/借位 |
JE/JZ DEST | ZF=1 | 相等/等于零 |
JNE/JNZ DEST | ZF=0 | 不相等/不等于零 |
JS DEST | SF=1 | 是负数 |
JNS DEST | SF=0 | 是正数 |
JO DEST | OF=1 | 有溢出 |
JNO DEST | OF=0 | 无溢出 |
JP/JPE DEST | PF=1 | 有偶数个“1” |
JNP/JPO DEST | PF=0 | 有奇数个“1” |
v(2)根据两个有符号数的比较结果判断转移的指令
指令 | 转移条件 | 含义 | 英文表述 |
JG/JNLE DEST | SF=OF AND ZF=0 | 有符号数A>B | JMP greater (not less or equal) |
JGE/JNL DEST | SF=OF OR ZF=1 | 有符号数A≥B | JMP greater or equal (not less) |
JL/JNGE DEST | SF≠OF AND ZF=0 | 有符号数A<B | JMP less (not greater or equal) |
JLE/JNG DEST | SF≠OF OR ZF=1 | 有符号数A≤B | JMP less or equal (not greater) |
v(3)根据两个无符号数的比较结果判断转移的指令 v
指令 | 转移条件 | 含义 | 英文表述 |
JA/JNBE DEST | CF=0 AND ZF=0 | 无符号数A>B | JMP above (not below or equal) |
JAE/JNB DEST | CF=0 | 无符号数A≥B | JMP above or equal (not below ) |
JB/JNAE DEST | CF=1 |
无符号数A<B | JMP blow (not above or equal) |
JBE/JNA DEST | CF=1 OR ZF=1 | 无符号数A≤B | JMP blow or equal (not above) |
以上是关于汇编学习笔记的主要内容,如果未能解决你的问题,请参考以下文章