鱼C论坛

 找回密码
 立即注册
查看: 1881|回复: 0

[技术交流] 运用简单指令构造循环

[复制链接]
发表于 2013-5-12 13:55:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我在在书上见到了两个构造循环的例子,比较经典,给大家看看,都是最基础的指令



mov dx,10h;外层循环次数,也就是2^4次
mov ax,0;这里是想运用“溢出”,来实现;内层循环,也就是2^16次,那么总共就是100000h次,即2^20次,16^5次
S: sub ax,0;这样会导致溢出,会产生借位,CF就会置为1

sbb dx,0;这里只是将dx减去1,也就实现外层循环
cmp ax,0
jne S

cmp dx,0

jne S


;还有就是在栈中构造循环,代码不记得了,思想主要就是:把要循环的部分在段内的偏移表示出来,我们知道一般调用子程序时,都会先将CS 和 IP压入栈中,我们可以在子程序中加入判断,想要循环时,就对栈中的IP加上偏移,那么就会跳到指定循环的地方了。

——————————感觉这两种方法真的比较好,如果不清楚再去看看书!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 18:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表