日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]條件轉(zhuǎn)移指令是指在滿足一定條件時(shí)進(jìn)行相對轉(zhuǎn)移。判A內(nèi)容是否為0轉(zhuǎn)移指令JZ relJNZ rel第一指令的功能是:如果(A)=0,則轉(zhuǎn)移,否則順序執(zhí)行(執(zhí)行本指令的下一條指令)。轉(zhuǎn)移到什么地方去呢?如果按照傳統(tǒng)的方法,就要算

條件轉(zhuǎn)移指令是指在滿足一定條件時(shí)進(jìn)行相對轉(zhuǎn)移。

判A內(nèi)容是否為0轉(zhuǎn)移指令

JZ rel

JNZ rel

第一指令的功能是:如果(A)=0,則轉(zhuǎn)移,否則順序執(zhí)行(執(zhí)行本指令的下一條指令)。轉(zhuǎn)移到什么地方去呢?如果按照傳統(tǒng)的方法,就要算偏移量,很麻煩,好在現(xiàn)在我們可以借助于機(jī)器匯編了。因此這第指令我們可以這樣理解:JZ 標(biāo)號。即轉(zhuǎn)移到標(biāo)號處。下面舉一例說明:

MOV A,R0

JZ L1

MOV R1,#00H

AJMP L2

L1: MOV R1,#0FFH

L2: SJMP L2

END

在執(zhí)行上面這段程序前如果R0中的值是0的話,就轉(zhuǎn)移到L1執(zhí)行,因此最終的執(zhí)行結(jié)果是R1中的值為0FFH。而如果R0中的值不等于0,則順序執(zhí)行,也就是執(zhí)行 MOV R1,#00H指令。最終的執(zhí)行結(jié)果是R1中的值等于0。

第一條指令的功能清楚了,第二條當(dāng)然就好理解了,如果A中的值不等于0,就轉(zhuǎn)移。把上面的那個(gè)例子中的JZ改成JNZ試試吧,看看程序執(zhí)行的結(jié)果是什么?

比較轉(zhuǎn)移指令

CJNE A,#data,rel

CJNE A,direct,rel

CJNE Rn,#data,rel

CJNE @Ri,#data,rel

第一條指令的功能是將A中的值和立即數(shù)data比較,如果兩者相等,就順序執(zhí)行(執(zhí)行本指令的下一條指令),如果不相等,就轉(zhuǎn)移,同樣地,我們可以將rel理解成標(biāo)號,即:CJNE A,#data,標(biāo)號。這樣利用這條指令,我們就可以判斷兩數(shù)是否相等,這在很多場合是非常有用的。但有時(shí)還想得知兩數(shù)比較之后哪個(gè)大,哪個(gè)小,本條指令也具有這樣的功能,如果兩數(shù)不相等,則CPU還會(huì)反映出哪個(gè)數(shù)大,哪個(gè)數(shù)小,這是用CY(進(jìn)位位)來實(shí)現(xiàn)的。如果前面的數(shù)(A中的)大,則CY=0,否則CY=1,因此在程序轉(zhuǎn)移后再次利用CY就可判斷出A中的數(shù)比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

上面的程序中有一條指令我們還沒學(xué)過,即JC,這條指令的原型是JC rel,作用和上面的JZ類似,但是它是判CY是0,還是1進(jìn)行轉(zhuǎn)移,如果CY=1,則轉(zhuǎn)移到JC后面的標(biāo)號處執(zhí)行,如果CY=0則順序執(zhí)行(執(zhí)行它的下面一條指令)。

分析一下上面的程序,如果(A)=10H,則順序執(zhí)行,即R1=0。如果(A)不等于10H,則轉(zhuǎn)到L1處繼續(xù)執(zhí)行,在L1處,再次進(jìn)行判斷,如果(A)>10H,則CY=1,將順序執(zhí)行,即執(zhí)行MOV R1,#0AAH指令,而如果(A)<10H,則將轉(zhuǎn)移到L2處指行,即執(zhí)行MOV R1,#0FFH指令。因此最終結(jié)果是:本程序執(zhí)行前,如果(R0)=10H,則(R1)=00H,如果(R0)>10H,則(R1)=0AAH,如果(R0)<10H,則(R1)=0FFH。

弄懂了這條指令,其它的幾條就類似了,第二條是把A當(dāng)中的值和直接地址中的值比較,第三條則是將直接地址中的值和立即數(shù)比較,第四條是將間址尋址得到的數(shù)和立即數(shù)比較,這里就不詳談了,下面給出幾個(gè)相應(yīng)的例子。

CJNE A,10H ;把A中的值和10H中的值比較(注意和上題的區(qū)別)

CJNE 10H,#35H ;把10H中的值和35H中的值比較

CJNE @R0,#35H ;把R0中的值作為地址,從此地址中取數(shù)并和35H比較

循環(huán)轉(zhuǎn)移指令

DJNZ Rn,rel

DJNZ direct,rel

第一條指令在前面的例子中有詳細(xì)的分析,這里就不多談了。第二條指令,只是將Rn改成直接地址,其它一樣,也不多說了,給一個(gè)例子。

DJNZ 10H,LOOP

調(diào)用與返回指令

(1)主程序與子程序 在前面的燈的實(shí)驗(yàn)中,我們已用到過了子程序,只是我們并沒有明確地介紹。子程序是干什么用的,為什么要用子程序技術(shù)呢?舉個(gè)例子,我們數(shù)據(jù)老師布置了10道算術(shù)題,經(jīng)過觀察,每一道題中都包含一個(gè)(3*5+2)*3的運(yùn)算,我們可以有兩種選擇,第一種,每做一道題,都把這個(gè)算式算一遍,第二種選擇,我們可以先把這個(gè)結(jié)果算出來,也就是51,放在一邊,然后要用到這個(gè)算式時(shí)就將51代進(jìn)去。這兩種方法哪種更好呢?不必多言。設(shè)計(jì)程序時(shí)也是這樣,有時(shí)一個(gè)功能會(huì)在程序的不同地方反復(fù)使用,我們就可以把這個(gè)功能做成一段程序,每次需要用到這個(gè)功能時(shí)就“調(diào)用”一下。

(2)調(diào)用及回過程:主程序調(diào)用了子程序,子程序執(zhí)行完之后必須再回到主程序繼續(xù)執(zhí)行,不能“一去不回頭”,那么回到什么地方呢?是回到調(diào)用子程序的下面一條指令繼續(xù)執(zhí)行(當(dāng)然啦,要是還回到這條指令,不又要再調(diào)用子程序了嗎?那可就沒完沒了了……)。參考圖1

調(diào)用指令

LCALL addr16 ;長調(diào)用指令

ACALL addr11 ;短調(diào)用指令

上面兩條指令都是在主程序中調(diào)用子程序,兩者有一定的區(qū)別,但在初學(xué)時(shí),可以不加以區(qū)分,而且可以用LCALL 標(biāo)號,ACALL 標(biāo)號,來理解,即調(diào)用子程序。

(5)返回指令 則說了,子程序執(zhí)行完后必須回到主程序,如何返回呢?只要執(zhí)行一條返回指令就可以了,即執(zhí)行 ret指令

空操作指令

nop 空操作,就是什么事也不干,停一個(gè)周期,一般用作短時(shí)間的延時(shí)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀

杭州2026年3月27日 /美通社/ -- 在快運(yùn)行業(yè)步入存量博弈深水區(qū)的當(dāng)下,技術(shù)的領(lǐng)先性正成為決定企業(yè)護(hù)城河深度的關(guān)鍵。近期,百世集團(tuán)董事長兼CEO周韶寧在出席全國多區(qū)域百世快運(yùn)網(wǎng)絡(luò)大會(huì)時(shí)反復(fù)強(qiáng)調(diào),AI技術(shù)正成為重構(gòu)...

關(guān)鍵字: AI AI技術(shù) 指令 移動(dòng)

約73%受試者可以達(dá)到每四個(gè)月一次給藥;近60%的受試者具備延長至五個(gè)月一次給藥的潛力 美國舊金山和中國蘇州2026年3月24日 /美通社/ -- 信達(dá)生物制藥集團(tuán)(香港聯(lián)交所股票代碼:01801),一家致力...

關(guān)鍵字: AMD ST IO OV

上海2026年3月11日 /美通社/ -- 2026年3月4日至6日,2026年精準(zhǔn)醫(yī)療世界大會(huì)(Precision Medicine World Conference,PMWC)在美國硅谷舉行。作為全球公認(rèn)的精準(zhǔn)醫(yī)療領(lǐng)...

關(guān)鍵字: PEN OV AI 創(chuàng)始人

新加坡2026年2月25日 /美通社/ -- ENNOVI今日發(fā)布其《2024年可持續(xù)發(fā)展報(bào)告》。該報(bào)告凸顯了公司在可持續(xù)發(fā)展績效、透明度及治理方面獲得外部高度認(rèn)可的一年,進(jìn)一步強(qiáng)化了公司對負(fù)責(zé)任運(yùn)營、透明度及長期價(jià)值創(chuàng)...

關(guān)鍵字: 可持續(xù)發(fā)展 OV VI CD

銷售額:440.5億歐元,同比增長4.0%[1],合并增長1.3%。 又一年在逐步回暖的全球美妝市場中表現(xiàn)優(yōu)異。 各事業(yè)部均實(shí)現(xiàn)增長[1],其中專業(yè)美發(fā)產(chǎn)品部表現(xiàn)亮眼。 各區(qū)域均實(shí)現(xiàn)增長[1],下半年呈...

關(guān)鍵字: BSP AI OV CD

舊金山和中國蘇州2026年2月13日 /美通社/ -- 信達(dá)生物制藥集團(tuán)(香港聯(lián)交所股票代碼:01801),一家致力于研發(fā)、生產(chǎn)和銷售腫瘤、自身免疫、代謝、眼科等重大疾病領(lǐng)域創(chuàng)新藥物的生物制藥公司宣布,其自主研發(fā)的HER...

關(guān)鍵字: ADC EAST OV IO

保定2026年1月16日 /美通社/ -- 2026年1月13日,國際獨(dú)立第三方檢測、檢驗(yàn)和認(rèn)證機(jī)構(gòu)德國萊茵TÜV大中華區(qū)(簡稱"TÜV萊茵&q...

關(guān)鍵字: CE 測試 指令 中國制造

專為數(shù)字自主和人工智能(AI)工作負(fù)載打造,助力企業(yè)部署安全、合規(guī)、自動(dòng)化的技術(shù)環(huán)境。 北京2026年1月15日 /美通社/ -- 今天,IBM宣布將推出業(yè)界首個(gè) AI 就緒的數(shù)字自主軟件IBM Sovereign C...

關(guān)鍵字: IBM 軟件 OV CORE

杭州2026年1月14日 /美通社/ -- 日前,國際獨(dú)立第三方檢測、檢驗(yàn)和認(rèn)證機(jī)構(gòu)德國萊茵TÜV大中華區(qū)(簡稱"TÜV萊茵"...

關(guān)鍵字: CE 鋰電池 太陽能 指令

拉斯維加斯2026年1月12日 /美通社/ -- 1月6日,全球矚目的2026年國際消費(fèi)類電子產(chǎn)品展覽會(huì)(CES)在美國拉斯維加斯拉開帷幕。作為全球科技創(chuàng)新的重要風(fēng)向標(biāo),CE...

關(guān)鍵字: 掃地機(jī)器人 CE CK OV
關(guān)閉