实现:汇编指令实现循环

思路:
1、清空寄存器中的值(大家默认都是在ecx中操作)
2、给ecx初始化为6
3、自减
4、判断是否为0,如果为0则P标志位为1,则不跳转,往下走,否则进行循环

第一种实现的方法:

xor ecx,ecx
mov ecx,6
dec ecx
test ecx,ecx
jnz 401007

第二种实现的方法:

xor ecx,ecx
mov ecx,6
dec ecx
cmp ecx,0x0
jnz 401007


第三种方法:loop指令,并且不受标志位影响

loop指令相当于

dec ecx
cmp ecx,0x0
jnz 401007

但是不懂的是为什么寄存器中的值到1的时候就直接结束了 继续往下走,shark恒老师说的我没听明白,先留着吧

posted @   zpchcbd  阅读(3190)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示