一张表搞懂 x86 汇编常用指令
2024-12-24 18:50:1376浏览
通俗易懂的解释 x86 汇编的常用指令

指令 --- 含义 --- 解释

  1. MOV --- 将数据从源操作数移动到目标操作数 --- 把一个东西从一个地方搬到另一个地方。
  2. ADD --- 将两个操作数相加,结果存储到目标操作数 --- 做加法运算,比如把两个数字相加并存起来。
  3. SUB --- 将目标操作数减去源操作数的值 --- 做减法运算,比如从一个数字中减去另一个数字。
  4. MUL --- 无符号乘法运算 --- 把两个数相乘,结果保存到特殊寄存器里。
  5. DIV --- 无符号除法运算 --- 把一个数除以另一个数,得到商和余数。
  6. INC --- 将操作数加 1 --- 数字加 1,相当于自增操作。
  7. DEC --- 将操作数减 1 --- 数字减 1,相当于自减操作。
  8. CMP --- 比较两个操作数 --- 比较两个值的大小,相当于看它们是相等、大于还是小于。
  9. JMP --- 无条件跳转到指定地址 --- 不管条件如何,直接跳到某个代码位置继续执行。
  10. JE --- 如果相等,则跳转 --- 如果比较结果是相等,就跳到指定位置执行代码。
  11. JNE --- 如果不相等,则跳转 --- 如果比较结果是不相等,就跳到指定位置执行代码。
  12. JL --- 如果小于,则跳转 --- 如果前面的值比后面的值小,就跳到指定位置执行代码。
  13. JG --- 如果大于,则跳转 --- 如果前面的值比后面的值大,就跳到指定位置执行代码。
  14. PUSH --- 将数据压入栈 --- 把一个东西压到栈里,相当于存放到盒子里等待以后用。
  15. POP --- 将数据从栈中弹出 --- 从栈里取出之前存放的东西。
  16. CALL --- 调用子程序 --- 跳到某个子程序执行任务,执行完后返回原位置继续执行。
  17. RET --- 从子程序返回 --- 从子程序返回到调用它的位置继续执行。
  18. NOP --- 空操作,不执行任何动作 --- 什么也不干,只是占位用。
  19. LEA --- 计算内存地址并加载到寄存器 --- 计算内存地址并保存起来,适合指针计算和数组操作。
  20. INT --- 触发一个中断 --- 通知处理器暂停当前工作,执行特殊任务(比如输入/输出操作)。
  21. AND --- 按位与运算 --- 两个数按位比较,只有两个都是1时结果才是1,类似布尔运算中的“与”。
  22. OR --- 按位或运算 --- 两个数按位比较,只要有一个是1结果就是1,类似布尔运算中的“或”。
  23. XOR --- 按位异或运算 --- 两个数按位比较,相同为0,不同为1,经常用来清零或反转特定位。
  24. SHL --- 左移位操作 --- 把二进制位整体往左移动,相当于乘以2的倍数。
  25. SHR --- 右移位操作 --- 把二进制位整体往右移动,相当于除以2的倍数。
  26. TEST --- 按位与测试 --- 检查某些位是否为1,但不存储结果,只影响标志位,用于条件判断。
  27. LOOP --- 循环指令,重复执行指定次数 --- 重复执行某段代码,直到计数器变为0时停止。
  28. XCHG --- 交换两个操作数的值 --- 交换两个变量的值,相当于变量互换操作。
  29. IN --- 从端口读取数据 --- 从外部设备或端口获取数据,比如读取键盘输入或传感器信息。
  30. OUT --- 向端口写入数据 --- 向外部设备或端口发送数据,比如输出到显示器或控制电机。
友情链接: