每次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事實上是:第一次遍歷先指向最後一個字元,然後向前遍歷;第二次遍歷指向倒數第二個字元,然後向前遍歷;。。。
每次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事實上是:第一次遍歷先指向最後一個字元,然後向前遍歷;第二次遍歷指向倒數第二個字元,然後向前遍歷;。。。