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