每次REPET开始,CX是需要检测的字符数,SI是需要检测字符系列一端地址
如对字符系列检测时:abcdefaceda
首次进入,CX=11,SI指向第一个字符
PUSH CX在堆栈保存CX,
循环利用CX,结合LOOP COMP实现整个字符系列遍历检测(所谓的内循环)
取出CX赋予DX,--DX,检测是否为零,即是否还有字符需要检测
【事实上push,pop这些 *** 作你只需当它是参数传递与保存即可】事实上
第二行与第三行push cx,pop dx完全没意义,可以去掉
事实上,在NEXT1子指令系列中
可以不用DX,直接使用 POP CX, 掉DEC DX与MOV CX,DX,将JNZ REPET 改为LOOP REPET
顺便说一句,事实上该程序的SI事实上是:第一次遍历先指向最后一个字符,然后向前遍历;第二次遍历指向倒数第二个字符,然后向前遍历;。。。
以上就是关于关于汇编语言中的PUSH问题。全部的内容,包括:关于汇编语言中的PUSH问题。、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)