CJNE比較跳轉指令以及檢測P0口狀態(tài)程序舉例
功能:比較二個字節(jié)中的值,若不等,則轉移。
CINEA,#data,rel
CJNEA,direct,rel
CJNE@Ri,#data,rel
CJNERn,#data,rel
該類指令具有比較和判斷雙重功能,比較的本質是做減法運算,用第一操作數內容減去第二操作數內容,但差值不回存。
轉移目的地址=(PC)+ 3 + rel
若第一操作數內容小于第二操作數內容,則(C)= 1,否則(C)= 0。
該類指令可產生三分支程序:即,相等分支;大于分支;小于分支。
例、設P1口的P1.0 ~ P1.3為準備就緒信號輸入端,當該四位為全1時,說明各項工作已準備好,單片機可順序執(zhí)行,否則,循環(huán)等待。
答案:
MOVA,P1
ANLA,#0FH
CJNEA,#0FH,WAIT;P1.0 ~ P1.3不為全1時,返回WAIT
MOVA,R2