前面開始3行,就把 40H,50H,3FH,移到 R0,R1,R2 去了! R0,R1 作為指針使用,R2作為計(jì)數(shù)器使用.
MOV A,@R0 CLR C XRL A,@R1 這3行是把 R0 指向的存放單元內(nèi)容, 通過 XRL 異或指令,與 R1 指向單元進(jìn)行運(yùn)算,.
異或運(yùn)算遇到2個(gè)字節(jié)的內(nèi)容各位相同,就會(huì)讓 A = 0! 標(biāo)志位 Z =1 !
JNZ 指令就是判斷 Z 標(biāo)志位的, 如果Z=0,說明兩數(shù)不相等, 此時(shí), R0,R1 分別加1,各指向下一個(gè)數(shù)據(jù),繼續(xù)比較.------而R2是最大比較次數(shù),到達(dá)次數(shù)后,無論結(jié)果如何,都就會(huì)退出程序.
如果JNZ 指令判斷 Z 標(biāo)志位的結(jié)果=0,說明兩數(shù)相等, 程序走向 LOOP2 ,結(jié)束比較.
至于 C 標(biāo)志是程序退出后,方便比較而設(shè)置的,另外,如果需要, R2 也記錄了比較到多少次的數(shù)字,可以通過它查看判斷到.
匯編程序其實(shí)很仔細(xì),每一步都一清二楚,多練習(xí)熟練后就會(huì)容易看明白. ----- 僅供參考! |