不知道你指的是哪一類單片機,最常用的89C51系列單片機匯編語言共有111條指令,可分為5類:
[1].數據傳送類指令(共29條)
[2].算數運算類指令(共24條)
[3].邏輯運算及移位類指令(共24條)
[4].控制轉移類指令(共17條)
[5].布爾變數操作類指令(共17條)
jz 指令屬於第4類"控制轉移類"里的條件轉移指令,具體格式和作用是:
JZ rel ; A=0,(PC)+ 2 + rel→(PC),累加器中的內容為0,
則轉移到偏移量所指向的地址,否則程序往下執行。
jb 是屬於第5類"布爾變數操作類"指令,其格式和作用如下:
JB bit, rel ; 位狀態為1轉移。
㈡ JZ是什麼意思
jz是ZF匯編語言中的PSW標志寄存器中的一位,而JZ則是根據ZF決定是否跳轉。若ZF=1(表示本次運算結果為0,不為0則ZF=0),則跳轉,否則,不跳轉ZF的狀態根據其他指令的執行結果設置。
jz=jump if zero,即零標志為1就跳轉,一般與cmp連用,用以判斷兩數是否相等j,z的另一種寫法就是je,je=jump if equal,jz和je的作用是完全一樣的。
JZ是累加器A判零條件轉移指令,JZ rel,若A=0,則PC+2+rel--->PC,否則,PC+2--->PC(rel : 以補碼形式表示的8位地址偏移量,其值為-128~+127)。
程序狀態字用來指示處理器狀態、控制指令的執行順序並且保留和指示與運行程序有關的各種信息,其主要作用是方便地實現程序狀態的保護和恢復。
每個正在執行的程序都有一個與其執行相關的PSW,而每個處理器都設置一個程序狀態字寄存器。一個程序佔有處理器執行,它的PSW將佔有程序狀態字寄存器。
程序基本狀態包括:程序計數器:指明下一條執行的指令地址;條件碼:表示指令執行的結果狀態:處理器狀態位:指明當前的處理器狀態,如目態或管態、運行或等待。
㈢ 說明MCS-51單片機的下列各條指令中源操作數的定址方式
(1). ORL A, 20H (直接定址)
(2). ADD A, #20H (立即定址)
(3). JZ rel (相對定址)
(4). INC C (位定址)
(5), DA A (寄存器定址)
㈣ 單片機指令JNB字母各代表什麼意思
JNB就是後邊的位操作碼為0則跳轉到指定的行地址。
這是匯編指令,應該是JNB SWLOOP, NEXT
是JNB就應該有逗號,而且逗號後還有標號,而SWLOOP是引腳,指令意思為:SWLOOP腳為低電平則轉到標號NEXT處,否則繼續向下執行。
如果SWLOOP是標號,那應該是JNC SWLOOP
這指令意思就不同了,是不進位(Cy=0)則轉到SWLOOP處,否則向下執行。
(4)單片機中jzrel是什麼意思擴展閱讀:
模型為:JNB bit,rel,其中bit為直接定址位,rel為要轉移到的地方,通常是一個標號;它的意思是若bit為0,則轉移到rel表示的標號處,否則不轉移繼續往下執行。
JNB是根據某一位的狀態判斷轉移的,當檢測位不是1(NB),即為0時就轉移,通常用於判斷引腳。例如:JNB P1.0, TEST;
功能:當引腳P1.0為0時,就跳轉到TEST。
㈤ 請問單片機jz指令是不是只能用於 累加器a
樓主說的沒錯,JZ和JNZ兩條指令只針對累加器A。
㈥ MCS-51單片機指令JZ rel中源操作數的定址方式是什麼
這是一個條件跳轉指令,是找要執行的指令。屬於相對定址方式,在原來的PC值+rel的值就是要去的的指令地址。注意操作數的含義,不能認為操作數僅僅是指令操作對象,也包括指令本身。
㈦ 單片機中jc指令表示什麼有什麼用
JC是判斷C進位標志是否為1,為1則跳轉到指定位置。
JC指令判斷有借位則轉移,也就是說兩數相減為負轉移。JBC指令判斷該位為1則轉移,同時將該位置0。
條件轉移指令只能轉移到離本指令-128~+127位元組范圍內,是一種相對轉移形式,當要往較遠單元地址條件轉移時,可以在本指令-128~+127位元組范圍內安排一條無條件轉移指令作為中轉指令即可。在使用簡單條件跳轉指令時,必須明確相應標志位的變化。
(7)單片機中jzrel是什麼意思擴展閱讀:
簡單條件跳轉指令:
1、JC 目的地址 進位標志位CF=1,轉移
2、JNC 目的地址 進位標志位CF=0,轉移
3、JZ 目的地址 零標志位ZF=1,轉移
4、JNZ 目的地址 零標志位ZF=0,轉移
5、JS 目的地址 符號標志SF=1,轉移
5、JNS 目的地址 符號標志SF=0,轉移
6、JO 目的地址 溢出標志OF=1,轉移
7、JNO 目的地址 溢出標志OF=0,轉移
8、JP 目的地址 奇偶標志PF=1,轉移
9、JNP 目的地址 奇偶標志PF=0,轉移
10、JCXZ 目的地址 CX=0,轉移
㈧ 在單片機原理中,rel具體是什麼意思怎麼用
rel 是偏移量,就是相對一條指令來說的相對地址 每條指令都是要佔用地址的不過寫匯編時直接寫絕對地址就行 想跳轉到哪裡就在那裡做個標記 象 xx:這樣djnz r7,xx;就在滿足要求的時候就能跳轉到地址為xx:的地方了,編譯時匯編程序會自動將絕對地址換算成偏移量 在寫跳轉時候 不用管rel什麼的例如:SJMP rel ;中跳到PC+2+rel 中PC表示 sjmp這條指令的地址 每條指令都有他的地址(都有它的PC指針地址的)其中中2是這整條語句的長度 這整體的意思就是 要跳到 這整條語句開始的地址 加上被它這條地址占據的2個地址 再加rel偏移量在實際編程中只要在一個地方標記xx:語句;當運行到sjmp xx;的時候就會跳到標記地址為xx的地方了 其中xx可以使任何標記
㈨ 單片機中rel什麼作用
單片機中rel代表一個偏移量。
計算機匯編語言中的偏移量是把存儲單元的實際地址與其所在段的段地址之間的距離稱為段內偏移,也稱為「有效地址或偏移量」。
段地址左移四位,與有效地址相加,就構成了邏輯地址。一般而言,段地址是cpu自己獨立編制的,但是偏移量是程序員編寫的。偏移量就是程序的邏輯地址與段首的差值。
(9)單片機中jzrel是什麼意思擴展閱讀
在實模式中,內存比保護模式中的結構更令人困惑。內存被分割成段,並且,操作內存時,需要指定段和偏移量。
段-寄存器這種格局是早期硬體電路限制留下的一個傷疤。地址匯流排在當時有20-bit。然而20-bit的地址不能放到16-bit的寄存器里,這意味著有4-bit必須放到別的地方。因此,為了訪問所有的內存,必須使用兩個16-bit寄存器。
這一設計上的折衷方案導致了偏移量格局。最初的設計中,其中一個寄存器只有4-bit有效,然而為了簡化程序,兩個寄存器都是16-bit有效,並在執行時求出加權和來標識20-bit地址。
參考資料來源:網路-偏移量
㈩ 單片機原理中,rel具體是什麼意思如何使用
rel
是偏移量,不過寫匯編時直接寫絕對地址就行
想跳轉到哪裡就在那裡做個標記
象xx:這樣djnz
r7,xx;就能跳轉了,編譯時匯編程序會自動將絕對地址換算成偏移量
在寫跳轉時候
不用管rel什麼的