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