当前位置: 首页 > news >正文

用机器语言实现循环

一般情况下实现循环

int result=0;
for (int i=0;i<=100;i++){result +=1;
}
mov eax,0  #用eax保存result,初始值为0
mov edx,1 #用edx保存i,初始值为1
cmp edx,100 #比较i和100  if(i>100)如果大于一百就直接跳过
jg L2 #如果i>100跳转到L2  goto l2 
L1: #循环主体
add eax,edx  #result+=1
inc edx #i++
cmp edx,100 #比较i和100 if(i<=100)就回到循环,如果有大于100了,就跳出
jle L1 
L2:

更简单的用loop实现循环

for (int i=500;i>0;i--){做一些处理;
}
mov ecx,500
Looptop;
'''
do something
'''
loop Looptop 

这里的loop Looptop 等价于

dec ecx #ecx--
cmp ecx,0 #做对比
jne Looptop #如果不等于就跳到looptop

ecx作为循环计数器,不可用其他代替

补充:loopx指令--如loopnz,loopz

loopnz--当ecx!=0&&ZF==0的时候,继续循环

http://www.wxhsa.cn/company.asp?id=6393

相关文章:

  • 取证 - voasem
  • django对接drf-spectacular替代swagger
  • 可画
  • Symbol VBRK: Invalid data type u SAP 事务成功新号码获取到 但是提交后提示失败如何处理
  • Oracle 19c asm单机OPatch补丁报错checkSystemCommandAvailable failed.
  • three.js中怎么加载 .gltf/glb格式 文件
  • ollama如何安装使用
  • 【SPIE独立出版|连续多年EI稳定检索】第七届地球科学与遥感测绘国际学术会议(GRSM 2025)
  • 手把手教你实现C++高性能内存池,相比 malloc 性能提升7倍!
  • LDPC 码 BP 算法性能研究
  • 内外网文件传输方式有哪些:从传统方案到专业系统的全面解析!
  • 实用指南:DeerFlow 实践:华为IPD流程的评审智能体设计
  • py之补环境代理脚本
  • Python psutil模块
  • 跨网文件传输工具选择要点是什么?
  • 下半年业绩冲刺,12个效率工具帮你提速!
  • AUTOSAR的MPU内存保护
  • AI赋能CRM:纷享销客智能图像提升终端运营效率
  • 【linux命令】网卡命令 ①
  • 一款基于 .NET 开源美观、功能丰富的串口调试工具
  • 麒麟系统中docker常用命令
  • 2015年7月微软安全更新深度解析:SQL Server、IE及系统漏洞修复
  • 国产传输软件解决方案厂商优选指南
  • 安卓方程式计算器HiPER Calc PRO v11.2.7 高级版
  • .NET 10 是微软 AI 战略的技术承重墙
  • 在Oracle中,如何彻底停止expdp进程?
  • [SDR] 两种方法可视化打飞机:ADS-B 信号接收与航班追踪
  • P7072 [CSP-J2020] 直播获奖
  • 服务器文件同步工具大盘点
  • 基于Python+Vue开发的酒店客房预订管理系统源码+运行步骤