尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

选择语句的机器级表示

选择语句的机器级表示
📅 发布时间:2026/6/20 20:29:45

无条件转移指令--jmp

格式:

jmp <地址> #pc无条件跳转到<地址>

<地址>可以由常数直接给出:jmp 5

<地址>可以来自于寄存器:jmp eax

<地址>可以来自于主存 :jmp [999]

<地址>可以用“标号”锚定:jmp NEXT

100 mov eax,7
104 mov ebx,6
108 jmp 116
112 mov ecx,ebx
116 mov ecx,eax

如果用以上的方法直接jmp,如果地址不再从100开始,而是从200开始,就会导致程序报错

因此我们设置一个锚点 NEXT:

 mov eax,7mov ebx,6jmp NEXTmov ecx,ebxNEXT:  #如果再汇编语言里看到这个冒号,名字是可以自己取的mov ecx,eax

条件转移指令

功能 汇编指令 解释
相等时跳转 je <地址> Jump when equal 当a==b时跳转
不相等时跳转 jne <地址> Jump when not equal 当a !=b时跳转
当大于时跳转 jg <地址> jump when greater than
当大于等于时跳转 jge <地址> jump when greater than or equal to
当小于时跳转 jl <地址> jump when less than
当小于等于时跳转 jle <地址> jump when less than or equal to

使用上面任意一条指令之前,一般都会先使用cmp指令

功能 汇编指令 解释
比较a和b当大小 cmp a,b Compare

先对比这两个值,如果【】那么进行跳转

if (a>b)
{c=a;
}
else{c=b;
}
mov eax,7 #把数字7放入寄存器
mov ebx,6
cmp eax,ebx #比较7和6的大小
jg NEXT #如果7大于6 那么转到next
mov ecx,ebx #否则把b的值赋给c
jmp END #立刻无条件结束,防止走到next
NEXT:
mov ecx,eax #当7大于6的时候 让把a的值赋给c
END:

cmp指令的底层原理

硬件视角:通过cmp指令 比较a和b,实际上是用a-b

相减的结果会记录在程序状态字寄存器中(PSW) 标志寄存器

PSW有几个比特位记录上次的运算结果,

进位/借位标志CF,最高位有进位/错位时CF=1

零标志ZF,运算结果为0时,ZF=1

符号标志SF,运算结果为负,SF=1

溢出标志OF,运算结果有溢出,OF=1

功能 汇编指令 解释 标识
相等时跳转 je <地址> Jump when equal 当a==b时跳转 zf==1
不相等时跳转 jne <地址> Jump when not equal 当a !=b时跳转 zf==0
当大于时跳转 jg <地址> jump when greater than zf==0&&sf==of
当大于等于时跳转 jge <地址> jump when greater than or equal to sf==of
当小于时跳转 jl <地址> jump when less than sf!=of
当小于等于时跳转 jle <地址> jump when less than or equal to Sf!=of||zf==1

相关新闻

  • 深入解析:numpy学习笔记
  • Nginx auth_request 模块使用
  • Mac上的Markdown学习

最新新闻

  • 一站式游戏模组管理革命:XXMI启动器如何让你告别繁琐配置
  • Windows本地部署Qwen3-14B实战指南:Ollama+Open WebUI零Docker方案
  • DeepSeek-R1本地私有化部署全链路实战指南
  • 上海全域黄金回收门店测评 2026 年 6 月权威榜单 - 奢侈品交易观察员
  • 上海闲置黄金变现流程,正规回收平台实测测评 - 奢侈品交易观察员
  • DeepSeek V4国产大模型落地实战:从本地部署到生产就绪

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号