版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 本章介紹本章介紹mcs-51單片機(jī)的指令格式、尋單片機(jī)的指令格式、尋址方式址方式(包括立即尋址、直接尋址、寄存器尋址包括立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、基址加變址寄存器間接尋、寄存器間接尋址、基址加變址寄存器間接尋址、相對(duì)尋址、隱含尋址等七種方式址、相對(duì)尋址、隱含尋址等七種方式)、指令系、指令系統(tǒng)統(tǒng)(包括數(shù)據(jù)傳送類、算術(shù)運(yùn)算類、邏輯運(yùn)算類包括數(shù)據(jù)傳送類、算術(shù)運(yùn)算類、邏輯運(yùn)算類、位操作類、控制轉(zhuǎn)移類等五大類指令、位操作類、控制轉(zhuǎn)移類等五大類指令)。通過。通過本章的學(xué)習(xí),要求學(xué)生能夠熟練掌握本章的學(xué)習(xí),要求學(xué)生能夠熟練掌握mcs-51單單片機(jī)的指令功能和應(yīng)用。片機(jī)的指令功能和應(yīng)用
2、。http:/ 指令的表示方法稱之為指令格式,其內(nèi)容包括指指令的表示方法稱之為指令格式,其內(nèi)容包括指令的長度和指令內(nèi)部信息的安排等。令的長度和指令內(nèi)部信息的安排等。 一條指令通常由操作碼和操作數(shù)兩部分組一條指令通常由操作碼和操作數(shù)兩部分組成。成。操作碼規(guī)定指令所完成的操作,操作數(shù)表示操作碼規(guī)定指令所完成的操作,操作數(shù)表示操作的對(duì)象。操作數(shù)可能是一個(gè)具體的數(shù)據(jù),也操作的對(duì)象。操作數(shù)可能是一個(gè)具體的數(shù)據(jù),也可能是指出取得數(shù)據(jù)的地址或符號(hào)??赡苁侵赋鋈〉脭?shù)據(jù)的地址或符號(hào)。http:/ http:/ 51指令系統(tǒng)專用于指令系統(tǒng)專用于51系列單片機(jī),是一個(gè)具有系列單片機(jī),是一個(gè)具有255種操作碼種操作碼
3、 (00h至至ffh,除,除a5h外外) 的集合。的集合。用匯編語言表達(dá)操作代碼時(shí),用匯編語言表達(dá)操作代碼時(shí),42種助記符代種助記符代表了表了33種功能,有的功能如數(shù)據(jù)傳送,可以有幾種功能,有的功能如數(shù)據(jù)傳送,可以有幾種助記符,如種助記符,如mov、movc、movx。指令功能助記符與操作數(shù)各種尋址方式的結(jié)指令功能助記符與操作數(shù)各種尋址方式的結(jié)合,共構(gòu)造出合,共構(gòu)造出111種指令,同一種指令所對(duì)應(yīng)的操種指令,同一種指令所對(duì)應(yīng)的操作碼可以多至作碼可以多至8種種 (如指令中如指令中rn對(duì)應(yīng)寄存器對(duì)應(yīng)寄存器r0r7) 。尋址方式尋址方式 http:/ 執(zhí)行任何一條指令都需要使用操作數(shù)。執(zhí)行任何一條指
4、令都需要使用操作數(shù)。 89s5l指令系統(tǒng)中共有指令系統(tǒng)中共有7種尋址方式。種尋址方式。http:/ 立即尋址立即尋址在指令中直接給出操作數(shù),出現(xiàn)在指令中的在指令中直接給出操作數(shù),出現(xiàn)在指令中的操作數(shù)稱為立即數(shù)。操作數(shù)稱為立即數(shù)。在立即數(shù)前面必需加上前綴在立即數(shù)前面必需加上前綴“”。 例如:指令例如:指令 mov dptr,1234h指令功能:把指令功能:把16位立即數(shù)位立即數(shù)1234h送入數(shù)據(jù)指送入數(shù)據(jù)指針針dptr中。中。http:/ 在指令中直接給出操作數(shù)單元的地址。在指令中直接給出操作數(shù)單元的地址。 例如:指令例如:指令 mov a,3ah功能:把片內(nèi)功能:把片內(nèi)ram中中3ah單元內(nèi)的
5、數(shù)據(jù)傳送給累加器單元內(nèi)的數(shù)據(jù)傳送給累加器a,如,如圖圖所示。所示。直接尋址方式只能給出直接尋址方式只能給出8位地址,限于片內(nèi)位地址,限于片內(nèi)ram: 低低128單元,在指令中直接以單元地址形式給出。單元,在指令中直接以單元地址形式給出。 特殊功能寄存器,可以單元地址形式給出外,還可特殊功能寄存器,可以單元地址形式給出外,還可以寄存器符號(hào)形式給出。直接尋址是訪問特殊功能寄存器以寄存器符號(hào)形式給出。直接尋址是訪問特殊功能寄存器的唯一方法。的唯一方法。 http:/ 3寄存器尋址寄存器尋址 在指令中將指定寄存器的內(nèi)容作為操作數(shù)。在指令中將指定寄存器的內(nèi)容作為操作數(shù)。 寄存器尋址方式中,用符號(hào)名稱來表
6、示寄存寄存器尋址方式中,用符號(hào)名稱來表示寄存器。器。 例如:指令例如:指令inc r0功能:把寄存器功能:把寄存器r0的內(nèi)容加的內(nèi)容加1,再送回,再送回r0中。中。由于操作數(shù)在由于操作數(shù)在r0中,指定了中,指定了r0,也就得到了操作,也就得到了操作數(shù),如數(shù),如圖圖所示。所示。http:/ 寄存器尋址方式的尋址范圍包括:寄存器尋址方式的尋址范圍包括: (1)4個(gè)寄存器組共個(gè)寄存器組共32個(gè)通用寄存器。個(gè)通用寄存器。 指令中只能使用當(dāng)前寄存器組。通過指定指令中只能使用當(dāng)前寄存器組。通過指定psw中中的的rs1、rs0,以選擇使用的當(dāng)前寄存器組。,以選擇使用的當(dāng)前寄存器組。 (2)部分特殊功能寄存器
7、。)部分特殊功能寄存器。 例如累加器例如累加器a、ab寄存器對(duì)以及數(shù)據(jù)指針寄存器對(duì)以及數(shù)據(jù)指針dptr。 http:/ 在指令中給出的寄存器內(nèi)容是操作數(shù)的地址,從該地在指令中給出的寄存器內(nèi)容是操作數(shù)的地址,從該地址中取出的才是操作數(shù)。址中取出的才是操作數(shù)。 寄存器間接尋址也需以寄存器符號(hào)名稱的形式表示。寄存器間接尋址也需以寄存器符號(hào)名稱的形式表示。 在寄存器間接尋址中,在寄存器的名稱前面加前綴在寄存器間接尋址中,在寄存器的名稱前面加前綴“”。例如:指令例如:指令anl a,r1 假定假定r1寄存器的內(nèi)容是寄存器的內(nèi)容是 60h,指令的功能是以,指令的功能是以 r1寄寄存器的內(nèi)容存器的內(nèi)容 60
8、h為地址,將為地址,將60h地址單元的內(nèi)容與累加器地址單元的內(nèi)容與累加器a中的數(shù)相中的數(shù)相“與與” ,其結(jié)果仍存放在,其結(jié)果仍存放在a中、其功能示意請(qǐng)中、其功能示意請(qǐng)參見參見圖圖。http:/ 寄存器間接尋址的尋址范圍:寄存器間接尋址的尋址范圍: 片內(nèi)片內(nèi)ram的低的低128單元,只能采用單元,只能采用r0或或r1為間址寄存器。其形式為為間址寄存器。其形式為ri(i0,1)。)。 片外片外ram 的的64 kb單元,使用單元,使用dptr作為作為間址寄存器。例如:間址寄存器。例如:movx a,dptr。 片外片外ram低低256單元,使用單元,使用r0或或r1作間址作間址寄存器。寄存器。 例
9、如:例如:movx a,r0。 堆棧區(qū):堆棧操作指令堆棧區(qū):堆棧操作指令push和和pop,以,以sp作間址寄存器的間接尋址方式。作間址寄存器的間接尋址方式。http:/ 相對(duì)尋址相對(duì)尋址在指令中給出的操作數(shù)為程序轉(zhuǎn)移的偏移量。在指令中給出的操作數(shù)為程序轉(zhuǎn)移的偏移量。在相對(duì)轉(zhuǎn)移指令中,給出地址偏移量(以在相對(duì)轉(zhuǎn)移指令中,給出地址偏移量(以“rel”表表示),把示),把pc的當(dāng)前值加上偏移量就構(gòu)成了程序轉(zhuǎn)移的目的當(dāng)前值加上偏移量就構(gòu)成了程序轉(zhuǎn)移的目的地址。的地址。 轉(zhuǎn)移的目的地址可用如下公式表示:轉(zhuǎn)移的目的地址可用如下公式表示: 目的地址目的地址(轉(zhuǎn)移指令所在地址轉(zhuǎn)移指令字節(jié)數(shù)轉(zhuǎn)移指令所在地址轉(zhuǎn)
10、移指令字節(jié)數(shù))rel在在51的指令系統(tǒng)中,有許多條相對(duì)轉(zhuǎn)移指令,這些指的指令系統(tǒng)中,有許多條相對(duì)轉(zhuǎn)移指令,這些指令多數(shù)均為兩字節(jié)指令只有個(gè)別的是三字節(jié)的指令。令多數(shù)均為兩字節(jié)指令只有個(gè)別的是三字節(jié)的指令。偏移量偏移量rel是一個(gè)帶符號(hào)的是一個(gè)帶符號(hào)的8位二進(jìn)制補(bǔ)碼數(shù),所能表位二進(jìn)制補(bǔ)碼數(shù),所能表示的數(shù)的范圍是一示的數(shù)的范圍是一128127。因此,以相對(duì)轉(zhuǎn)移指令。因此,以相對(duì)轉(zhuǎn)移指令的所在地址為基點(diǎn),向前最大可轉(zhuǎn)移(的所在地址為基點(diǎn),向前最大可轉(zhuǎn)移(127十轉(zhuǎn)移指令字十轉(zhuǎn)移指令字節(jié)數(shù))個(gè)單元地址,向后最大可轉(zhuǎn)移(節(jié)數(shù))個(gè)單元地址,向后最大可轉(zhuǎn)移(128一轉(zhuǎn)移指令字一轉(zhuǎn)移指令字節(jié)數(shù))個(gè)單元地址。節(jié)
11、數(shù))個(gè)單元地址。http:/ 例如:指令例如:指令jc 80h 若進(jìn)位位若進(jìn)位位c為為0,則程序計(jì)數(shù)器,則程序計(jì)數(shù)器pc中的內(nèi)容中的內(nèi)容加加2,即順序往下;,即順序往下; 若進(jìn)位位若進(jìn)位位c為為1,則以程序計(jì)數(shù)器,則以程序計(jì)數(shù)器pc中當(dāng)前值中當(dāng)前值為基地址,加上偏移量為基地址,加上偏移量80h后所得結(jié)果作為該轉(zhuǎn)后所得結(jié)果作為該轉(zhuǎn)移指令的目的地址,其執(zhí)行示意圖如移指令的目的地址,其執(zhí)行示意圖如圖圖所示。所示。指令的操作碼存在指令的操作碼存在 1000h單元,偏移量存在單元,偏移量存在 1001h單元。執(zhí)行該指令后,程序計(jì)數(shù)器單元。執(zhí)行該指令后,程序計(jì)數(shù)器pc 指指向向1002 h(即當(dāng)前值)。這
12、里(即當(dāng)前值)。這里80h即即128,故,故1002h與與128 ( 80h )相加(補(bǔ)碼運(yùn)算)后得)相加(補(bǔ)碼運(yùn)算)后得到轉(zhuǎn)移地址到轉(zhuǎn)移地址 0f82h。http:/ movc a,adptr功能:把功能:把dptr和和a的內(nèi)容相加所得到的程序的內(nèi)容相加所得到的程序存儲(chǔ)器地址單元的內(nèi)容送存儲(chǔ)器地址單元的內(nèi)容送a。http:/ 假定指令執(zhí)行前:假定指令執(zhí)行前: (a)54h,(,(dptr)1256h 該指令的操作示意參見該指令的操作示意參見圖圖。 變址尋址形成的操作數(shù)地址為變址尋址形成的操作數(shù)地址為1256h54h12aah,若,若12aah單元的內(nèi)容為單元的內(nèi)容為00h,則該指,則該指令執(zhí)
13、行的結(jié)果是令執(zhí)行的結(jié)果是a的內(nèi)容為的內(nèi)容為00h 。http:/ 89s51指令系統(tǒng)中的變址尋址指令有如下特點(diǎn):指令系統(tǒng)中的變址尋址指令有如下特點(diǎn): 變址尋址方式只能對(duì)程序存儲(chǔ)器進(jìn)行尋址變址尋址方式只能對(duì)程序存儲(chǔ)器進(jìn)行尋址 。 變址尋址指令只有變址尋址指令只有3條條 movc a,adptr movc a,apc jmp adptr 這這3條指令都是單字節(jié)指令。條指令都是單字節(jié)指令。 變址尋址方式用于查表操作。變址尋址方式用于查表操作。http:/ 位尋址的尋址范圍:位尋址的尋址范圍:(1)片內(nèi))片內(nèi)ram中的位尋址區(qū)。中的位尋址區(qū)。 片內(nèi)片內(nèi)ram中的單元地址中的單元地址20h2fh,共,共
14、16個(gè)個(gè)單元單元128位,為位尋址區(qū),位地址是位,為位尋址區(qū),位地址是00h7fh。 例如例如 mov c,2bh指令的功能是把位尋址區(qū)指令的功能是把位尋址區(qū)的的2bh位狀態(tài)送累加位位狀態(tài)送累加位c。 (2) 可位尋址的特殊功能寄存器位??晌粚ぶ返奶厥夤δ芗拇嫫魑?。 可供位尋址的特殊功能寄存器共有可供位尋址的特殊功能寄存器共有11個(gè),有個(gè),有尋址位尋址位83位位http:/ 尋址位在指令中有以下尋址位在指令中有以下4種表示方法:種表示方法: 直接使用位地址表示。直接使用位地址表示。 單元地址加位。例如單元地址加位。例如 88h單元的位單元的位5,則表示,則表示為為88h.5。 特殊功能寄存器符
15、號(hào)加位、例如特殊功能寄存器符號(hào)加位、例如 psw寄存器寄存器的位的位5,可表示為:為,可表示為:為 psw .5。 位名稱表示方法,特殊功能寄存器中的一些尋位名稱表示方法,特殊功能寄存器中的一些尋址位是有名稱的,例如址位是有名稱的,例如 psw寄存器位寄存器位5為為f0標(biāo)志標(biāo)志位,則可使用位,則可使用f0表示該位。表示該位。http:/ 對(duì)于指令中的操作數(shù),因?yàn)橹噶畈僮鞒0橛袕挠覍?duì)于指令中的操作數(shù),因?yàn)橹噶畈僮鞒0橛袕挠蚁蜃髠魉蛿?shù)據(jù)的內(nèi)容,所以常把左邊操作數(shù)稱為向左傳送數(shù)據(jù)的內(nèi)容,所以常把左邊操作數(shù)稱為目的操作數(shù),而右邊操作數(shù)稱為源操作數(shù)。目的操作數(shù),而右邊操作數(shù)稱為源操作數(shù)。 89s51指令
16、系統(tǒng)的指令系統(tǒng)的7種尋址方式概括起來如種尋址方式概括起來如表表31所列。所列。http:/ 隱含尋址 操作數(shù)的地址隱含在操作碼中,不需要指明,這種方式稱為隱含尋址。 不是明顯的給出操作數(shù)地址,而是在指令中隱含著操作數(shù)的地址, 即要尋找的地址包含在操作碼中。例如在單地址指令格式中,就是不明顯的給出第二操作數(shù)的地址,而是以隱含的方式規(guī)定累加器作為第二操作數(shù)的地址。 http:/ 單字節(jié)指令單字節(jié)指令 指令只有一個(gè)字節(jié),操作碼和操作數(shù)同在一個(gè)指令只有一個(gè)字節(jié),操作碼和操作數(shù)同在一個(gè)字節(jié)中。字節(jié)中。如如 mov a,rn 指令機(jī)器碼為單字節(jié)指令機(jī)器碼為單字節(jié)11001rrr,其中其中rrr可表示為可表
17、示為000111,分別代表,分別代表r0r7 http:/ 雙字節(jié)指令:其中一個(gè)字節(jié)為操作碼,另一個(gè)雙字節(jié)指令:其中一個(gè)字節(jié)為操作碼,另一個(gè)字節(jié)是操作數(shù)。字節(jié)是操作數(shù)。如如mov a,#data 8位立即數(shù)位立即數(shù)data需占一個(gè)字節(jié),需占一個(gè)字節(jié),操作碼也需一個(gè)字節(jié)。操作碼也需一個(gè)字節(jié)。 三字節(jié)指令:操作碼占一個(gè)字節(jié),操作數(shù)占兩個(gè)三字節(jié)指令:操作碼占一個(gè)字節(jié),操作數(shù)占兩個(gè)字節(jié)。其中操作數(shù)既可能是數(shù)據(jù),也可能是地址。字節(jié)。其中操作數(shù)既可能是數(shù)據(jù),也可能是地址。http:/ 如如anl direct ,#data 指令需指令需3個(gè)字節(jié),第個(gè)字節(jié),第1字字節(jié)為操作碼,第節(jié)為操作碼,第2字節(jié)為字節(jié)為
18、8位直接地址位直接地址direct,第,第3字節(jié)為字節(jié)為8位立即數(shù)位立即數(shù)data。從指令執(zhí)行時(shí)間來看,單機(jī)器周期指令有從指令執(zhí)行時(shí)間來看,單機(jī)器周期指令有64種,雙機(jī)器周期指令有種,雙機(jī)器周期指令有45種,只有乘法、除法指種,只有乘法、除法指令的執(zhí)行時(shí)間為令的執(zhí)行時(shí)間為4個(gè)機(jī)器周期。在個(gè)機(jī)器周期。在12mhz晶振條晶振條件下,件下,89s51的指令執(zhí)行時(shí)間分別為的指令執(zhí)行時(shí)間分別為1s、2s、4s。http:/ 89s51的指令系統(tǒng),共有的指令系統(tǒng),共有111條指令,按其功能可條指令,按其功能可分為分為5大類:大類: 數(shù)據(jù)傳送類指令(數(shù)據(jù)傳送類指令(28條);條); 算術(shù)運(yùn)算類指令(算術(shù)運(yùn)算
19、類指令(24條);條); 邏輯運(yùn)算類指令(邏輯運(yùn)算類指令(25條);條); 控制轉(zhuǎn)移類指令控制轉(zhuǎn)移類指令(17 條條); 布爾操作(位)類指令(布爾操作(位)類指令(17條)。條)。http:/ rn n07,表示當(dāng)前寄存器組的,表示當(dāng)前寄存器組的8個(gè)通用寄個(gè)通用寄存器存器r0r7 中的一個(gè)。中的一個(gè)。 ri i0,l,可用作間接尋址的寄存器,只,可用作間接尋址的寄存器,只能是能是r0、r1 兩個(gè)寄存器中的一個(gè)。兩個(gè)寄存器中的一個(gè)。 direct 內(nèi)部的內(nèi)部的8位地址,既可以指片內(nèi)位地址,既可以指片內(nèi)ram的低的低128個(gè)單元地址,也可以指特殊功能寄個(gè)單元地址,也可以指特殊功能寄存器的地址或符
20、號(hào)名稱,因此,存器的地址或符號(hào)名稱,因此,direct表示直接表示直接尋址方式。尋址方式。#data指令中所含的指令中所含的8位立即數(shù)。位立即數(shù)。#data16 指令中所含的指令中所含的16位立即數(shù)。位立即數(shù)。http:/ addr16 16位目的地址位目的地址,只限于在只限于在lcall和和ljmp指令中指令中 使用。使用。 addr11 11位目的地址,只限于在位目的地址,只限于在acall和和ajmp指令指令中使用。中使用。 rel 相對(duì)轉(zhuǎn)移指令中的偏移量,為相對(duì)轉(zhuǎn)移指令中的偏移量,為8位帶符號(hào)數(shù)。位帶符號(hào)數(shù)。為為 sjmp和所有條件轉(zhuǎn)移指令所用。轉(zhuǎn)移范圍為和所有條件轉(zhuǎn)移指令所用。轉(zhuǎn)移范
21、圍為相相 對(duì)于下一條指令笫一字節(jié)地址的對(duì)于下一條指令笫一字節(jié)地址的-128127。 dptr 數(shù)據(jù)指針。數(shù)據(jù)指針。 bit 片內(nèi)片內(nèi) ram (包括部分特殊功能寄存器)(包括部分特殊功能寄存器)中的中的直接尋址位。直接尋址位。http:/ a累加器。累加器。 b b寄存器。寄存器。 c 進(jìn)位標(biāo)志位,是布爾處理機(jī)中的累加器,進(jìn)位標(biāo)志位,是布爾處理機(jī)中的累加器,稱之為稱之為累加位。累加位。 間址寄存器的前綴標(biāo)志。間址寄存器的前綴標(biāo)志。 / 位地址的前綴標(biāo)志,表示對(duì)該位操作數(shù)取反。位地址的前綴標(biāo)志,表示對(duì)該位操作數(shù)取反。 ( ) 某寄存器或某單元的內(nèi)容。某寄存器或某單元的內(nèi)容。 ()由)由尋址的單元
22、中的內(nèi)容。尋址的單元中的內(nèi)容。 箭頭左邊的內(nèi)容被箭頭右邊的內(nèi)容所取箭頭左邊的內(nèi)容被箭頭右邊的內(nèi)容所取代。代。http:/ (2)(2)操作碼:該字段必不可少,表示指令進(jìn)操作碼:該字段必不可少,表示指令進(jìn)行何種操作,即操作性質(zhì)。行何種操作,即操作性質(zhì)。(3)(3)操作數(shù):該字段可能有,可能沒有。操作數(shù):該字段可能有,可能沒有。(4)(4)注釋:該字段不是匯編語言的功能部分注釋:該字段不是匯編語言的功能部分,只增加程序的可讀性。注釋前要加,只增加程序的可讀性。注釋前要加“;”;”http:/ (1)以累加器a為目的地址的指令 指令 操作 mov a, rn (a)(rn) mov a, direc
23、t (a)(direct) mov a, ri (a)(ri) mov a, #data (a)data 這組指令的功能是將源操作數(shù)送入累加器a中。源操作數(shù)的尋址方式分別為寄存器尋址、直接尋址、寄存器間接尋址和立即尋址方式 http:/ 指令 操作 mov rn, a (rn)(a) mov rn, direct (rn)(direct) mov rn, #data (rn)data 這組指令的功能是將源操作數(shù)送入當(dāng)前工作寄存器區(qū)r0r7中的某一寄存器中。源操作數(shù)的尋址方式分別為隱含尋址、直接尋址和立即尋址方式。http:/ 指令指令 操作操作 mov direct,a (direct)(a)
24、 mov direct,rn (direct)(rn) mov direct,ri (direct)(ri) mov direct1,direct2 (direct1)(direct2) mov direct,#data (direct) data 這組指令的功能是將源操作數(shù)送入由直這組指令的功能是將源操作數(shù)送入由直接地址指出的存儲(chǔ)單元中。源操作數(shù)的尋址接地址指出的存儲(chǔ)單元中。源操作數(shù)的尋址方式分別為隱含尋址、寄存器尋址、寄存器方式分別為隱含尋址、寄存器尋址、寄存器間接尋址、直接尋址和立即尋址方式。間接尋址、直接尋址和立即尋址方式。http:/ mov ri,a (ri)(a) mov ri,
25、direct (ri)(direct) mov ri,# data (ri) data 這組指令的功能是將源操作數(shù)送入這組指令的功能是將源操作數(shù)送入r0或或r1間址的片內(nèi)間址的片內(nèi)ram存儲(chǔ)單元中。源操作存儲(chǔ)單元中。源操作數(shù)的尋址方式分別為隱含尋址、直接尋址數(shù)的尋址方式分別為隱含尋址、直接尋址和立即尋址方式。和立即尋址方式。http:/ 外部數(shù)據(jù)傳送指令 (1) 16位數(shù)據(jù)傳送指令 指令 操作 mov dptr, #data16 (dptr) data16 (2)外部ram數(shù)據(jù)傳送指令movx 功能:實(shí)現(xiàn)片外數(shù)據(jù)存儲(chǔ)器(或擴(kuò)展i/o口)與累加器a之間的數(shù)據(jù)傳送。http:/ 指令 操作 mov
26、x a,dptr (a)(dptr) movx a,ri (a)(ri) movx dptr,a (dptr)(a) movx ri,a (ri)(a) (3)外部rom數(shù)據(jù)傳送指令movcmovc a, apc ;(a)(a)(pc) movc a, adptr;(a)(a)(dptr) http:/ 數(shù)據(jù)交換指令數(shù)據(jù)交換指令(1)字節(jié)交換指令xch 指令 操作 xch a, rn (a) (rn) xch a, direct (a) (direct) xch a, ri (a) (ri) (2)半字節(jié)交換指令xchd 指令 操作 xchd a,ri(a) 低4位(ri)低4位 http:/
27、 指令 操作 push direct (sp)(sp)1 (sp)(direct)(2)出棧指令pop 指令 操作 pop direct (direct)(sp) (sp)(sp)14. 堆棧操作指令堆棧操作指令http:/ mcs-51單片機(jī)算術(shù)運(yùn)算指令包括: 加法指令帶進(jìn)位加法指令帶進(jìn)位減法指令加1指令減1指令十進(jìn)制調(diào)整指令乘法和除法指令共24條 http:/ 指令 操作 add a, rn (a)(a)+(rn) add a, direct (a)(a)+(direct) add a, ri (a)(a)+(ri) add a, #data (a)(a)+ data 這組加法指令的功能是
28、將源操作數(shù)和累加器a的內(nèi)容相加,結(jié)果存放在a中。源操作數(shù)分別為寄存器尋址、直接尋址、寄存器間接尋址和立即尋址方式。 http:/ 指令 操作 addc a, rn (a)(a)+(rn)+cy addc a, direct (a)(a)+(direct)+cy addc a, ri (a)(a)+(ri)+cy addc a, #data (a)(a)+ data +cy 這組指令的功能是將源操作數(shù)、進(jìn)位標(biāo)志 cy和累加器a的內(nèi)容相加,結(jié)果存放在a中。addc指令對(duì)標(biāo)志位的影響與add指令相同,這條指令多用于多字節(jié)加法運(yùn)算,使得在進(jìn)行高字節(jié)加法時(shí),考慮到低位字節(jié)向高位字節(jié)的進(jìn)位情況。 http
29、:/ 指令 操作 inc a (a)(a)+1 inc rn (rn)(rn)+1 inc direct (direct)(direct)+1 inc ri (ri)(ri)+1 inc dptr (dptr)(dptr)+1 這組指令的功能是將源操作數(shù)加1,結(jié)果仍送給源操作數(shù)(因此源操也是目操)。若原來為0ffh,則將溢出為00h。本組指令除指令inc a影響p標(biāo)志外,其余不影響任何標(biāo)志,操作數(shù)可采用寄存器尋址、直接尋址或寄存器間接尋址方式。 http:/ 指令 操作da a 對(duì)(a)進(jìn)行二十進(jìn)制調(diào)整bcd碼是指用4位二進(jìn)制編碼形式表示1位十進(jìn)制數(shù)09。如果一個(gè)字節(jié)存放兩位bcd碼數(shù),則稱為
30、壓縮bcd碼數(shù)。調(diào)整原則為:如果相加結(jié)果的低4位大于9(即出現(xiàn)字母),或ac=1,則進(jìn)行加06h調(diào)整;如果相加結(jié)果的高4位大于9(即出現(xiàn)字母),或cy=1,則進(jìn)行加60h調(diào)整。調(diào)整結(jié)果仍存放在a中。 http:/ 減法指令減法指令(1)帶進(jìn)位減法指令subb 指令 操作 subb a,rn (a)(a)(rn)cy subb a,direct (a)(a)(direct)cy subb a, ri (a)(a)(ri)cy subb a, #data (a)(a)datacy 這組指令的功能是將累加器a減去源操作數(shù)及進(jìn)位標(biāo)志cy,結(jié)果存放在a中。若需進(jìn)行不帶借位的減法運(yùn)算,則應(yīng)該先將cy清0,
31、然后再執(zhí)行subb指令。 http:/ 指令 操作 dec a (a)(a)1 dec rn (rn)(rn)1 dec direct (direct)(direct)1 dec ri (ri)(ri)1 這組指令的功能是將源操作數(shù)減1,結(jié)果仍送給源操作數(shù)(因此源操也是目操)。若原來為00h,減1后下溢為0ffh。本組指令除指令dec a影響p標(biāo)志外,其余均不影響任何標(biāo)志。 http:/ 乘法指令乘法指令 mul 指令 mul ab 這條指令是把累加器a和寄存器b中的8位無符號(hào)二進(jìn)制數(shù)相乘,16位乘積的低8位留在累加器a中,高8位存放在寄存器b中。 如果乘積大于0ffh,則ov=1,否則ov=
32、0。cy標(biāo)志總是被清0。設(shè)(a)50h,(b)0a0h,執(zhí)行指令:mul ab結(jié)果:(b)32h,(a)00h(即積為3200h),ov1,cy=0。 http:/ 除法指令除法指令div 指令 div ab 這條指令的功能是把累加器a中的8位無符號(hào)二進(jìn)制數(shù)除以寄存器b中的8位無符號(hào)二進(jìn)制數(shù),所得商的整數(shù)部分存放在累加器a中,余數(shù)部分存放在寄存器b中。 如果原來b的內(nèi)容為0,即除數(shù)為0,則結(jié)果a和b的內(nèi)容不定,且溢出標(biāo)志位ov=1。cy標(biāo)志總是被清0。設(shè)(a)=0fbh,(b)=12h,執(zhí)行指令:div ab結(jié)果為:(a)0dh,(b)11h,cy0,ov0。 http:/ 3.5mcs-51
33、單片機(jī)的邏輯運(yùn)算指令包括:累加器a的邏輯操作指令兩個(gè)操作數(shù)的邏輯與指令邏輯或指令及邏輯異或指令 共25條 http:/ 兩個(gè)操作數(shù)的邏輯操作指令 (1)邏輯與指令anl 指令 操作 anl a,rn (a)(a)(rn) anl a,direct (a)(a)(direct) anl a,ri (a)(a) (ri) anl a,#data (a)(a) data anl direct,a (direct)(direct)(a) anl direct,#data (direct)(direct) data http:/ 指令 操作 orl a,rn (a)(a)(rn) orl a,direc
34、t (a)(a)(direct) orl a,ri (a)(a) (ri) orl a,#data (a)(a) data orl direct,a (direct)(direct)(a) orl direct,#data (direct)(direct) data http:/ 指令 操作 xrl a,rn (a) (a) (rn) xrl a,direct (a) (a) (direct) xrl a,ri (a) (a) (ri) xrl a,#data (a) (a) data xrl direct,a (direct) (direct) (a) xrl direct,#data (d
35、irect) (direct) data http:/ 累加器a的邏輯操作指令 (1)清0指令 指令 操作 clr a (a)00h 這條指令的功能是將累加器a清0。只影響p標(biāo)志。(2)取反指令 指令 操作_ cpl a (a) 這條指令的功能是將累加器a的每一位邏輯取,不影響標(biāo)志。)a(http:/ 指令 操作 rl a 這條指令的功能是將累加器a的內(nèi)容向左循環(huán)移1位,acc.7移入acc.0。不影響標(biāo)志http:/ 指令 操作 rlc a 這條指令的功能是將累加器a的內(nèi)容和進(jìn)位標(biāo)志(cy)一起向左循環(huán)移1位,acc.7移入cy,cy移入acc.0。影響進(jìn)位標(biāo)志和奇偶標(biāo)志,不影響其它標(biāo)志。h
36、ttp:/ 指令 操作 rr a 累加器a的內(nèi)容向右循環(huán)移1位。acc.0移入acc.7。不影響標(biāo)志。(6)帶進(jìn)位右循環(huán)移位指令 指令 操作 rrc a 累加器a的內(nèi)容和進(jìn)位標(biāo)志cy的內(nèi)容一起向右循環(huán)移1位,acc.0移入cy,cy移入acc.7。影響進(jìn)位標(biāo)志和奇偶標(biāo)志,不影響其它標(biāo)志。http:/ 指令 操作 swap a (a)74(a)30 這條指令的功能是將累加器a的高4位與低4位互換,不影響標(biāo)志位。http:/ 3.61.位傳送指令位傳送指令 指令 操作 mov c,bit cbit mov bit,c bitc 這組指令的功能是在以bit表示的位和位累加器c之間進(jìn)行數(shù)據(jù)傳送。htt
37、p:/ 位修改指令位修改指令 指令 操作 clr c c0 clr bit bit0 cpl c c cpl bit bit setb c c1 setb bit bit1 這組指令的功能是將指定的位清0、取反或置1 http:/ 位邏輯操作指令位邏輯操作指令(1)位邏輯與指令 指令 操作 anl c,bit ccbit anl c, cc這組指令是將指定的位地址單元內(nèi)容(或取反后的內(nèi)容)與位累加器c的內(nèi)容進(jìn)行邏輯與操作,結(jié)果送入c中,源位地址單元內(nèi)容不變。 bitbithttp:/ 指令 操作 orl c,bit ccbit orl c, cc這組指令與anl指令類似,是將指定位地址單元中的內(nèi)容(或取反后的內(nèi)容)與位累加器c進(jìn)行邏輯或操作,結(jié)果送入c中。bitbithttp:/ 3.7控制轉(zhuǎn)移指令分:無條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令調(diào)用和返回指令 共有22條 http:/ 無條件轉(zhuǎn)移指令(1)絕對(duì)轉(zhuǎn)移指令 ajmp addr11 (2)相對(duì)轉(zhuǎn)移指令 sjmp rel (3)長轉(zhuǎn)移指令 ljmp addr16 ;(pc)addr16(4)基址寄存器加變址寄存器間接轉(zhuǎn)移指令(散轉(zhuǎn)指令) jmp a+dptr (pc)(a)+(dptr) http:/ 條件轉(zhuǎn)移指令(1)條件滿足轉(zhuǎn)移指令 指令指令 轉(zhuǎn)移條件轉(zhuǎn)移條件 jz rel (a)jz rel (a)0;0;若累加器若累加器a a內(nèi)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 采購合同明白模板
- 不解除合同上訴狀
- 邊坡塌方合同
- 報(bào)刊征訂合同范本
- 山東省棗莊市臺(tái)兒莊區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期中考試化學(xué)試題
- 遼寧省鞍山市海城市南臺(tái)鎮(zhèn)2024-2025學(xué)年六年級(jí)上學(xué)期期末英語試題(含答案)
- 河南省部分學(xué)校2024-2025學(xué)年高一上學(xué)期期中考試歷史試題
- 《棉堿溶性滌綸低彈絲包芯紗本色布》
- 甘肅省武威市涼州片區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期期中考試英語試題(含答案無聽力音頻及原文)
- 設(shè)計(jì)服務(wù)相關(guān)行業(yè)投資規(guī)劃報(bào)告
- 幕墻竣工驗(yàn)收自評(píng)報(bào)告7頁
- 機(jī)動(dòng)車維修企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化考評(píng)方法和考評(píng)實(shí)施細(xì)則(完整版)
- 外研版小學(xué)英語外研版(一起)五上Module 10《Unit 1 You should tidy your toys》ppt課件2
- 江西省職業(yè)培訓(xùn)補(bǔ)貼范圍及標(biāo)準(zhǔn)-江西省職業(yè)技能鑒定指導(dǎo)中心
- 七年級(jí)生物上冊(cè)(濟(jì)南版)知識(shí)點(diǎn)歸納
- 應(yīng)急聯(lián)防聯(lián)動(dòng)協(xié)議
- 財(cái)務(wù)會(huì)計(jì)職業(yè)生涯人物訪談報(bào)告
- (完整版)電渣壓力焊施工施工工藝
- D600變頻器說明書
- 上海英皇明星城初步設(shè)計(jì)(圖文)
- 隧道盾構(gòu)超限質(zhì)量事故報(bào)告(完整版)
評(píng)論
0/150
提交評(píng)論