關於微控制器中的jc指令,關於微控制器中的JC指令

2021-03-03 22:03:25 字數 2044 閱讀 3650

1樓:

閣下首先搞清楚cjne a,#25,***1的含義,它的含義有三點:

1.當a等於25時,執行下一句;

2.當a不等版於25時,跳轉到權ne1語句執行;

3.要注意當a不等於25時,a必定大於25或者小於25,如果a小於25,則不僅要跳轉到ne1執行,還要給cy標誌位置一,如果a大於25,則僅僅要跳轉到ne1執行,不會給cy標誌位置一。

jc be的意思是若cy為0,則執行下一句,否則,跳轉到be。

因此:執行 cjne a,#25,ne1 後,若a不等於25,則跳轉到ne1: jc be

若a大於25,c為0,則jc判斷後執行下一句,p0就是#0e6h ,若a小於25,則跳轉到be,此時p0就是#09fh。

jc 在組合語言中什麼意思

2樓:胖大海君

jc 在組合語言 是一個

條件轉移指令的操作碼 後面應該再加上一個位元組的偏移量 即要轉移到地址(為運算元)

例如 jc llla ;其中 jc 為操作碼 表示指令要執行的功能

j 表示轉移 c表示轉移到條件 (當進位標誌c=1 即有進位時 轉移 否則不轉移)

llla 是運算元 表示要轉移到地址

3樓:戰雨

上一條cmp語句,左側數小於等於右側數則跳轉

下面兩個回答,答非所問或者答錯了

微控制器組合語言中比較指令

4樓:

剛好也有這麼個困惑,已經解決了,拿出來分享下

比較轉移指令 cjnz

cjne a,#data,rel

cjne a,direct,rel

cjne rn,#data,rel

cjne @ri,#data,rel

第一條指令的功能是將a中的值和立即數data比較,如果兩者相等,就次序執行(執行本

指令的下一條指令),如果不相等,就轉移,同樣地,我們能將rel理解成標號,即:cjnea,

#data,標號。這樣利用這條指令,我們就能判斷兩數是否相等,這在很多場合是非常有用的。

但有時還想得知兩數比較之後哪個大,哪個小,本條指令也具有這樣的功能,如果兩數不相等,則cpu還會反映出哪個數大,哪個數小,這是用cy(進位位)來實現的。如果前面的

數(a中的)大,則cy=0,不然cy=1,因此在程式轉移後再次利用cy就可判斷出a中的數

比data大還是小了。

例: mov a,r0

cjne a,#10h,l1

mov r1,#0ffh

ajmp l3

l1: jc l2

mov r1,#0aah

ajmp l3

l2: mov r1,#0ffh

l3: sjmp l3

jc是判cy是0,還是1進行轉移,如果cy=1,則轉移到jc後面的標號處

執行,如果cy=0則次序執行(執行它的下面一條指令)。

分析一下上面的程式,如果(a)=10h,則次序執行,即r1=0。如果(a)不等於10h,則轉

到l1處繼續執行,在l1處,再次進行判斷,如果(a)>10h,則cy=1,將次序執行,即執

行mov r1,#0aah指令,而如果(a)<10h,則將轉移到l2處指行,即執行mov r1,#0ffh

指令。因此最終結果是:本程式執行前,如果(r0)=10h,則(r1)=00h,如果(r0)>10h,

則(r1)=0aah,如果(r0)<10h,則(r1)=0ffh。

弄懂了這條指令,其它的幾條就類似了,第二條是把a當中的值和直接地址中的值比較,第

三條則是將直接地址中的值和立即數比較,第四條是將間址定址得到的數和立即數比較,這

裡就不詳談了,下面給出幾個對應的例程。

cjne a,10h ;把a中的值和10h中的值比較(注意和上題的區別)

cjne 10h,#35h ;把10h中的值和35h中的值比較

cjne @r0,#35h ;把r0中的值作為地址,從此地址中取數並和35h比較

關於微控制器,關於微控制器的

對呀,這個問題確實不好解釋.不過我以mcs 51系列的微控制器為例為你解答吧 mov 就是內部儲存器間的傳送指令 例如 mov a ro movx 就是外部儲存器向內部傳送的指令 例如 movx a 2001h movc 就是程式儲存器間傳送指令 還有 add加法指令 dec減一指令 muc乘法指令...

關於微控制器裡相對轉移指令中rel的問題

sjmp是短轉移指令,用相對地址,相對地址是有符號數,所以用的都是補碼,89是一回個負數,答因為第一位是1,所以他如果變成雙位元組就要填ff,如果是正數才填00。補碼你應該懂得把,負數的補碼就是反碼 1,實際這個語句是向前跳轉,是一個減法,加上一個數的補碼就是相當於執行了減法,89h不是原碼他更不代...

關於微控制器考研

大類應該是自動化 計算機 電子類。建議報考嵌入式技術研究方向,研究生對應控制理論與控制工程。考研需要的專業課應該包括模電 數電 電力電子 控制理論 嵌入式技術等。研究生只是對於知識方面的拓展 以及方便參與導師課題等方面,對於本人的能力的提升還是依靠自己。微控制器在研究生階段的學習程度有限,可以關注日...