汇编教程4--学会解决问题
最近真的有点忙,又是c#,又是java,robocode,又是win32asm,
忙得不可开交了,不过教程不能耽误了,毕竟第一次写,有大家给我鼓励,
很知足了。
不知道上一片你们看得怎么样?看不懂也没关系,慢慢体会,我最开始的时候就看的是一大堆的寄存器,标志位,什么都不懂,如们还花了很多时间的。
正题。
一、循环结构:
1 循环指令。
格式:loop 指令标号
功能:将寄存器cx的值减去1。然后判断:如果cx<>0,这转移指令到标号处。否则继续执行后续指令。相当于以下两条指令:
dec cx
jnz 指令标号
所以要在循环前先确定循环次数,置入cx中。
注意:在循环体中不要对cx改写,至于原因我想我不必多说了吧。
来一段程序:
设变量var中有10个数据,12,0,-6,44,-54,0,3,51,98,69 统计其中0的个数。
现在我们学习重在分析了,不像以前重点理解语句。
10个数据,每个占用一个字节就可以了,那我们怎么样实现数据统计呢?应该用循环。有几个问题:
怎样逐个读入数据?从一个变量中。
比较后怎么样统计0的个数?
会不会重复统计?
解决了这几个问题这个程序也就出来了。