![2023學年完整公開課版單片機03_第1頁](http://file4.renrendoc.com/view/2a735a34a44e730332abd5ecd7ecd210/2a735a34a44e730332abd5ecd7ecd2101.gif)
![2023學年完整公開課版單片機03_第2頁](http://file4.renrendoc.com/view/2a735a34a44e730332abd5ecd7ecd210/2a735a34a44e730332abd5ecd7ecd2102.gif)
![2023學年完整公開課版單片機03_第3頁](http://file4.renrendoc.com/view/2a735a34a44e730332abd5ecd7ecd210/2a735a34a44e730332abd5ecd7ecd2103.gif)
![2023學年完整公開課版單片機03_第4頁](http://file4.renrendoc.com/view/2a735a34a44e730332abd5ecd7ecd210/2a735a34a44e730332abd5ecd7ecd2104.gif)
![2023學年完整公開課版單片機03_第5頁](http://file4.renrendoc.com/view/2a735a34a44e730332abd5ecd7ecd210/2a735a34a44e730332abd5ecd7ecd2105.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第3章
MCS-51單片機指令系統(tǒng)
3.1指令概述
3.2尋址方式
3.3
MCS-51系列單片機的指令系統(tǒng)
3.1指令概述
3.1.1指令的定義
3.1.2指令的組成
3.1.3指令的表示方法
返回子目錄
3.1.1指令的定義
返回1、指令:是人們向計算機發(fā)的一種命令;一條指令對應著一種操作。2、指令系統(tǒng):CPU所能執(zhí)行的全部指令的集合。
CPU能夠執(zhí)行多少條指令是由CPU的內(nèi)部結(jié)構(gòu)決定的。不同的CPU,其指令系統(tǒng)不同。
3.1.2
指令的組成
指令由操作碼和操作數(shù)組成。操作碼決定CPU執(zhí)行何種操作。操作數(shù)是指參與運算的數(shù)。操作數(shù)及操作對象可以是一個數(shù),也可以是數(shù)所在的地方。REG或MEM返回
3.1.3指令的表示方法
用助記符(指令功能的英文縮寫)書寫。操作數(shù)用規(guī)定的符號書寫。
指令在機器中必須以機器碼(二進制碼)的形式出現(xiàn)。人們在書寫指令時,可以有二種方法:1、在計算機發(fā)展的初期,人們用機器碼書寫指令,這一階段成為機器語言階段。優(yōu)點:用機器碼書寫的程序,計算機可以直接識別和運行。缺點:書寫時容易,不容易記憶。2、為了克服機器語言的缺點,人們用符號書寫指令:
指令由操作碼和操作數(shù)組成。
這一階段成為匯編語言階段.
優(yōu)點:容易理解和記憶。缺點:計算機不能直接識別和運行。匯編語言程序必須轉(zhuǎn)換成機器語言程序,轉(zhuǎn)換方法有二種:
手工轉(zhuǎn)換:
查表符號指令---機器碼指令---Mem
匯編程序:
符號指令----機器----機器碼指令---Mem返回3.2尋址方式
3.2.1
尋址方式的定義
3.2.2MCS51單片機的尋址方式
返回子目錄習題
3.2.1尋址方式的定義
指令由操作碼和操作數(shù)組成。指出操作數(shù)所在地方的方式就是尋址方式。操作碼決定CPU執(zhí)行何中操作。操作數(shù)就是操作對象。無論何種指令其操作的對象都是數(shù)據(jù)。數(shù)據(jù)在指令中有2種表示方法:1、數(shù)本身2、數(shù)所在的地方(REG,MEM中)。返回
3.2.2MCS51單片機的尋址方式
返回
每一種計算機都具有多種尋址方式。尋址方式的多少是反映指令系統(tǒng)優(yōu)劣的主要指標之一。
MCS51單片機有7種尋址方式。
1、立即尋址
2、直接尋址
3、REG間址
4、REG尋址
5、變址尋址
6、相對尋址
7、位尋址FFH
3.2.2MCS51單片機的尋址方式每一種計算機都具有多種尋址方式。尋址方式的多少是反映指令系統(tǒng)優(yōu)劣的主要指標之一。
MCS51單片機有7種尋址方式。
1、立即尋址
2、直接尋址
3、REG間址
4、變址尋址
5、REG尋址
6、相對尋址
7、位尋址1、操作數(shù)包含在指令字節(jié)中。緊跟在操作碼后面,存放于ROM中。例:MOVA,#05H
;(74H05H)2、跟在指令操作碼后面的數(shù)就是參加運算的數(shù),稱該操作數(shù)為立即數(shù)。ROM74H05HSFRFFH05HA返回
3.2.2MCS51單片機的尋址方式每一種計算機都具有多種尋址方式。尋址方式的多少是反映指令系統(tǒng)優(yōu)劣的主要指標之一。
MCS51單片機有7種尋址方式。
1、立即尋址
2、直接尋址
3、REG間址
4、變址尋址
5、REG尋址
6、相對尋址
7、位尋址1、在指令中直接給出操作數(shù)的地址,這種尋址方式就屬于直接尋址方式。在這種方式中,指令的操作數(shù)部分直接是操作數(shù)的地址。例:MOVA,32H;(E5H,32H)2、在MCS-51單片機指令系統(tǒng)中,直接尋址方式中可以訪問2種存儲器空間:(1)RAM的低128個字節(jié)單元(00H~7FH)。(2)特殊功能寄存器。特殊功能寄存器只能用直接尋址方式進行訪問。FAHRAMFFH06HSFRFFHAROME5H32H06H32H返回
3.2.2MCS51單片機的尋址方式每一種計算機都具有多種尋址方式。尋址方式的多少是反映指令系統(tǒng)優(yōu)劣的主要指標之一。
MCS51單片機有7種尋址方式。
1、立即尋址
2、直接尋址
3、REG間址
4、變址尋址
5、REG尋址
6、相對尋址
7、位尋址1、在這種尋址方式中,寄存器的內(nèi)容為操作數(shù)的地址。例:MOVA,@R0;(E6H)2、寄存器間接尋址只能使用寄存器R0、R1作為地址指針,尋址內(nèi)部RAM區(qū)的數(shù)據(jù);當訪問外部RAM時,可使用R0、R1及DPTR作為地址指針。
寄存器間接尋址符號為“@”。FAHRAMFFH22HSFRFFHAROME6H40H40H22HR0返回
3.2.2MCS51單片機的尋址方式每一種計算機都具有多種尋址方式。尋址方式的多少是反映指令系統(tǒng)優(yōu)劣的主要指標之一。
MCS51單片機有7種尋址方式。
1、立即尋址
2、直接尋址
3、REG間址
4、REG尋址
5、變址尋址
6、相對尋址
7、位尋址1、在該尋址方式中,參加操作的數(shù)存放在寄存器里。例:MOVA,R7;(EFH)2、寄存器包括8個工作寄存器R0~R7,累加器A,寄存器B、數(shù)據(jù)指針DPTR。FAHRAMFFH22HSFRFFHAROMEFH40HR740H返回
3.2.2MCS51單片機的尋址方式每一種計算機都具有多種尋址方式。尋址方式的多少是反映指令系統(tǒng)優(yōu)劣的主要指標之一。
MCS51單片機有7種尋址方式。
1、立即尋址
2、直接尋址
3、REG間址
4、REG尋址
5、變址尋址
6、相對尋址
7、位尋址
這種尋址方式用于訪問程序存儲器中的數(shù)據(jù)表格,它以基址寄存器DPTR或PC的內(nèi)容為基本地址,加上變址寄存器A的內(nèi)容作為操作數(shù)的地。例:MOVCA,@DPTR+AMOVCA,@PC+A返回
3.2.2MCS51單片機的尋址方式每一種計算機都具有多種尋址方式。尋址方式的多少是反映指令系統(tǒng)優(yōu)劣的主要指標之一。
MCS51單片機有7種尋址方式。
1、立即尋址
2、直接尋址
3、REG間址
4、REG尋址
5、變址尋址
6、相對尋址
7、位尋址在MCS-51指令系統(tǒng)中設(shè)有轉(zhuǎn)移指令,分為直接轉(zhuǎn)移和相對轉(zhuǎn)移指令,在相對轉(zhuǎn)移指令中采用相對尋址方式。這種尋址方式是以PC的內(nèi)容為基本地址,加上指令中給定的偏移量作為轉(zhuǎn)移地址。指令中給出的偏移量是一個8位帶符號的常數(shù),可正可負,其范圍為-128~+127。例:JNBACC.7,UP返回0001100
3.2.2MCS51單片機的尋址方式每一種計算機都具有多種尋址方式。尋址方式的多少是反映指令系統(tǒng)優(yōu)劣的主要指標之一。
MCS51單片機有7種尋址方式。
1、立即尋址
2、直接尋址
3、REG間址
4、REG尋址
5、變址尋址
6、相對尋址
7、位尋址1、該種尋址方式中,操作數(shù)是內(nèi)部RAM單元中某一位的信息。例:MOVC,02H;(92H,20H)2、僅出現(xiàn)在對位進行操作的指令中。3、位所在地址的表示方法:①直接用8位二進制數(shù)表示②單元地址.位數(shù)RAMFFHSFRFFHPSWROM92H20H40H02H11001110201000101100返回習題與思考:1、什么是尋址方式?8051有幾種尋址方式?是哪幾種?對特殊功能寄存器應該使用什么尋址方式?對128B的RAM可以使用哪幾種尋址方式?2、下列各條指令其源操作數(shù)的尋址方式是什么?(1)MOV A,#48H (2)ADD A,60H(3)ANL A,@R0(4)XCHD A,@R0(5)MOVX A,@DPTR(6)MOV A,R0(7)MOVC A,@A+DPTR返回3.3MCS-51系列單片機的指令系統(tǒng)MCS-51系列單片機的指令系統(tǒng)有111條指令,分成5大類。要求掌握:指令的書寫格式;指令的功能;指令對標志位的影響。
3.3.1數(shù)據(jù)傳送類
3.3.2算術(shù)運算類
3.3.3邏輯運算及移位類
3.3.4位操作類
3.3.5控制轉(zhuǎn)移類
返回子目錄3.3.1數(shù)據(jù)傳送類
數(shù)據(jù)傳送類指令可以實現(xiàn)片內(nèi)RAM之間;A與片外RAM及ROM之間的數(shù)據(jù)傳送,不影響標志位。7FH
00HFFH80HFFFFH0000HFFFFH0000HAXXXXXXXXXXXX真正RAM外RAMROMSFR和3.3.1數(shù)據(jù)傳送類
1、片內(nèi)RAM之間的數(shù)據(jù)傳送
2、A與外RAM和ROM之間的數(shù)據(jù)傳送
3、堆棧操作
4、交換
5、16位操作指令返回習題
1、片內(nèi)RAM之間的數(shù)據(jù)傳送
1)MOVA\Rn\direct\@Ri,#data8
2)MOVdirect,A\Rn\direct\@Ri
3)MOVA\Rn\direct\@Ri,direct
4)MOVA,Rn\@Ri
5)MOVRn\@Ri,A
返回
1、片內(nèi)RAM之間的數(shù)據(jù)傳送
1)MOVA\Rn\direct\@Ri,#data8
2)MOVdirect,A\Rn\direct\@Ri
3)MOVA\Rn\direct\@Ri,direct
4)MOVA,Rn\@Ri
5)MOVRn\@Ri,A
返回
MOVA,#data8
MOVRn,#data8
MOVdirect,#data8
MOV@Ri,#data8
1、片內(nèi)RAM之間的數(shù)據(jù)傳送
1)MOVA\Rn\direct\@Ri,#data8
2)MOVdirect,A\Rn\direct\@Ri
3)MOVA\Rn\direct\@Ri,direct
4)MOVA,Rn\@Ri
5)MOVRn\@Ri,A
MOVdirect,A
MOVdirect,Rn
MOVdirect,direct
MOVdirect,@Ri返回
1、片內(nèi)RAM之間的數(shù)據(jù)傳送
1)MOVA\Rn\direct\@Ri,#data8
2)MOVdirect,A\Rn\direct\@Ri
3)MOVA\Rn\direct\@Ri,direct
4)MOVA,Rn\@Ri
5)MOVRn\@Ri,A
MOVA,direct
MOVRn
,direct
MOVdirect,direct
MOV@Ri,
direct返回
1、片內(nèi)RAM之間的數(shù)據(jù)傳送
1)MOVA\Rn\direct\@Ri,#data8
2)MOVdirect,A\Rn\direct\@Ri
3)MOVA\Rn\direct\@Ri,direct
4)MOVA,Rn\@Ri
5)MOVRn\@Ri,A
MOVA,Rn
MOVA,@Ri
返回
1、片內(nèi)RAM之間的數(shù)據(jù)傳送
1)MOVA\Rn\direct\@Ri,#data8
2)MOVdirect,A\Rn\direct\@Ri
3)MOVA\Rn\direct\@Ri,direct
4)MOVA,Rn\@Ri
5)MOVRn\@Ri,A
MOVRn,A
MOV@Ri,A返回
2、
A與外RAM和ROM之間的數(shù)據(jù)傳送
1)ROM的數(shù)據(jù)送AMOVCA,@A+PC
MOVCA,@A+DPTR2)A與外RAM之間的數(shù)據(jù)傳送
MOVXA,@DPTRMOVXA,@Ri
MOVX@DPTR,AMOVX@Ri,A返回
3、堆棧操作
1)PUSHdirect2)POPdirect返回
4、交換
1)、XCHA,Rn\direct\@Ri
XCHA,Rn
XCHA,direct
XCHA,@Ri2)XCHDA,@Ri
SWAPA返回5、16位數(shù)據(jù)傳送
MOVDPTR,#data16
43H44H40HROM87H45H06HROM90H12HSFRR1DPLDPH例MOVDPTR,#1206H12H06H返回3.3.2算術(shù)運算類
對操作數(shù)運行+、-、×、÷運算;絕大多數(shù)指令影響標志位。參與運算的一個數(shù)一定在A中,運算結(jié)果也存于A中。
1、加法運算
2、減法運算
3、乘法運算
4、除法運算
5、BCD碼調(diào)整指令返回習題1、加法運算1)ADDA,#data8\direct\@Ri\Rn
2)
ADDCA,#data8\direct\@Ri\Rn
3)
INCA\direct\@Ri\Rn\DPTR
不影響標志位返回2、減法運算1)SUBBA,#data8\direct\@Ri\Rn
2)
DECA\direct\@Ri\Rn
不影響標志位返回3、乘法運算
MULAB
1、將累加器A的內(nèi)容與寄存器B的內(nèi)容相乘,乘積的低8位存放在累加器A中,高8位存放于寄存器B中。2、對標志位的影響:
Cy=0P由A中1的個數(shù)決定如果乘積超過0FFH,則溢出標志OV置“1”,否則清“0”。(若B=0,則OV=0;若B不等于0,則OV=1)返回4、除法運算
DIVAB
1、將累加器A中的內(nèi)容除以寄存器B中的8位無符號整數(shù),所得商的整數(shù)部分存放在累加器A中,余數(shù)部分存放在寄存器B中。
2、對標志位的影響:
Cy=0P由A中1的個數(shù)決定若原來B中的內(nèi)容為0,則執(zhí)行該指令后A與B中的內(nèi)容不定,并將溢出標志OV置“1”。(若B=0,則OV=0;若B不等于0,則OV=1)返回5、BCD碼調(diào)整指令
DAA
這條指令對累加器A參與的BCD碼加法運算所獲得的8位結(jié)果進行十進制調(diào)整,使累加器A中的內(nèi)容調(diào)整為二位壓縮型BCD碼的數(shù)。
使用時必須注意,它只能跟在加法指令之后,不能對減法指令的結(jié)果進行調(diào)整,且其結(jié)果不影響溢出標志位。執(zhí)行該指令時,判斷A中的低4位是否大于9和輔助進位標志AC是否為“1”,若兩者有一個條件滿足,則低4位加6操作;同樣,A中的高4位大于9或進位標志Cy為“1”兩者有一個條件滿足時,高4位加6操作。返回3.3.3邏輯運算與移位類
對操作數(shù)運行邏輯運算;絕大多數(shù)指令不影響標志位。
1、邏輯與運算
2、邏輯或運算
3、邏輯異或運算
4、邏輯非運算
5、移位返回習題1、邏輯與運算
1)ANLA,#data8\direct\@Ri\Rn
2)
ANLdirect,#data8\A2、邏輯或運算
1)ORLA,#data8\direct\@Ri\Rn
2)
ORLdirect,#data8\A3、邏輯異或運算
1)XRLA,#data8\direct\@Ri\Rn
2)
XRLdirect,#data8\A4、邏輯非運算
1)CPLA
2)
CLRA
返回
5、移位運算對累加器A的內(nèi)容進行移位操作。除了帶進位標志位的移位指令外,其它都不影響Cy,AC,OV等標志。
1)RLA2)RRA3)RLCA4)RRCA返回3.3.4位操作類1、在單片機中有的存儲單元只能按字節(jié)操作,有的既可以按字節(jié)操作,又可以按位操作。2、可以按位操作的區(qū)域是:20H--2FH單元,一些SFG,如A,PSW,B,P0,P1,P2,P3,IP,IE,TCON,SCON。3、每一位都有自己的位地址,位地址一的表示方法如下:
1)20H--2FH單元:
直接用8位二進制數(shù)表示由低到高,位地址依次為00H—7FH
單元地址.位碼
2)
A,P0,P1,P2,P3,B:
直接用8位二進制數(shù)表示由低到高,位地址依次為00H—7FH
單元地址.位碼
SFG名字.位碼
3)PSW,IP,IE,TCON,SCON:直接用8位二進制數(shù)表示由低到高,位地址依次為00H—7FH
單元地址.位碼
SFG名字.位碼位名
3.3.4位操作類
1、位傳送
MOVC,bit
MOVbit,C2、位置位/復位
CLRC
CLRbit
SETBbitSETBC3、位運算
ANLC,bit/bit取反
ORLC,bit/bit取反
CPLCCPLbit習題返回3.3.5控制轉(zhuǎn)移類功能:修改PC的值,實現(xiàn)程序的轉(zhuǎn)移。原因:1、程序是按著順序在RON中存放的。如:MOVA,#00HINCASJMP$2、CPU執(zhí)行程序時總是到PC所指示的
ROM單元去取指令并執(zhí)行之。3、PC具有自動加1功能,因此一般情況下CPU按順序執(zhí)行指令。4、實際編程時,會遇到如下情況:1)反復執(zhí)行某段程序2)根據(jù)條件決定執(zhí)行哪段程序此時就要修改PC的值,以實現(xiàn)程序的轉(zhuǎn)移。即用到轉(zhuǎn)移指令。
ROM74H00H04H80HFEH0000HPC3.3.5控制轉(zhuǎn)移類
1、轉(zhuǎn)移類
1)、無條件轉(zhuǎn)移指令
2)、條件轉(zhuǎn)移指令
2、調(diào)用/返回類
1)、調(diào)用指令
2)、返回指令返回習題1)MOVA\Rn\direct\@Ri,#data8MOVA,#data8MOVRn,#data8MOVdirect,#data8MOV@Ri,#data8
#data——指令中的8位常數(shù)。例:MOVA,#33H
(74H33H)FFHROM74H33HSFRFFH33HA返回45H40H1)MOVA\Rn\direct\@Ri,#data8MOVA,#data8MOVRn,#data8MOVdirect,#data8MOV@Ri,#data8
Rn——當前選定的寄存器區(qū)中的8個工作寄存器R0~R7,即n=0~7。例:MOVR5,#45H
(7DH45H)33HROM7DH45HSFRFFHARAMFFH22HR5返回1)MOVA\Rn\direct\@Ri,#data8MOVA,#data8MOVRn,#data8MOVdirect,#data8MOV@Ri,#data8
direct——用8位二進制數(shù)表示的內(nèi)部RAM單元的地址,它可以是一個內(nèi)部數(shù)據(jù)區(qū)RAM單元(00H~7FH)或特殊功能寄存器地址(I/O端口、控制寄存器、狀態(tài)寄存器80H~0FFH)。例:MOV40H,#05H(75H40H05H)
MOVSP,#60H(75H81H60H)22H05H40H33HROM75H40H05HSFRFFHSPRAMFFHR540H返回22H60H40H33HROM75H81H60HSFRFFHSPRAMFFHR540H33H22H1)MOVA\Rn\direct\@Ri,#data8MOVA,#data8MOVRn,#data8MOVdirect,#data8MOV@Ri,#data8
Ri——當前選定的寄存器區(qū)中的2個寄存器R0、R1,i=0、1。例:MOVA,@R0(E6H)22H60H40HROMFFHSFRFFHARAMFFHR040H返回27H40H33HROMF5H40HFFHSFRFFHARAMFFHR540H
2)、MOVdirect,A\Rn\direct\@RiMOVdirect,AMOVdirect,RnMOVdirect,directMOVdirect,@Ri
例:MOV40H,A;(F5H40H)
27H返回27H40H40H33HROM8EH50HFFHSFRFFHARAMFFHR650H
2)、MOVdirect,A\Rn\direct\@RiMOVdirect,AMOVdirect,RnMOVdirect,directMOVdirect,@Ri
例:MOV50H,R6;(8EH50H)
返回27H40H40H33HROM85H50H30HSFRFFHARAMFFH30H50H
2)、MOVdirect,A\Rn\direct\@RiMOVdirect,AMOVdirect,RnMOVdirect,directMOVdirect,@Ri
例:MOV50H,30H
(85H50H30H)
返回27H30H33HROM87H45HFFHFFH45HRAMFFHR130H
2)、MOVdirect,A\Rn\direct\@RiMOVdirect,AMOVdirect,RnMOVdirect,directMOVdirect,@Ri
例:MOV45H,@R1
(87H45H)
27H返回27H40H33HROME5H40HFFHSFRFFHARAMFFHR540H27H
3)、MOVA\Rn\direct\@Ri,direct
MOVA,direct
MOVRn
,directMOVdirect,directMOV@Ri,
direct
例:MOVA
,40H;(E5H40H)
返回27H40H40H33HROMACH50HFFHSFRFFHARAMFFHR450H
3)、MOVA\Rn\direct\@Ri,direct
MOVA,direct
MOVRn
,directMOVdirect,directMOV@Ri,
direct
例:MOVR4,50H;(ACH50H)
返回27H40H40H33HROM85H50H30HSFRFFHARAMFFH30H50H
3)、MOVA\Rn\direct\@Ri,direct
MOVA,direct
MOVRn
,directMOVdirect,directMOV@Ri,
direct
例:MOV50H,30H
(85H50H30H)
返回27H30H33HROMA7H45HFFHFFH45HRAMFFHR130H例:MOV@R1
,45H
(A7H45H)
33H
3)、MOVA\Rn\direct\@Ri,direct
MOVA,direct
MOVRn
,directMOVdirect,directMOV@Ri,
direct
返回27H40H33HROMEBHFFHFFHSFRFFHARAMFFHR0R327H
4)、
MOVA,RnMOVA,@Ri
MOVRn,AMOV@Ri,A例:MOVA
,R3;(EBH)
返回27H38H33HROME6HFFHFFHFFHASFRFFHR038H27H
4)、
MOVA,RnMOVA,@Ri
MOVRn,AMOV@Ri,A例:MOVA,@R0
(E6H)
RAM返回ROM87H45HFFH
5)、MOVRn,AMOV@Ri,A27H40H33HROMFAHFFHFFHSFRFFHARAMFFHR240H27H例:MOVR2,A;(FAH)
返回27H30H33HROMF7HFFHFFHFFHSFRARAMFFHR130H33H
5)、MOVRn,AMOV@Ri,A例:MOV@R1
,A
(F7H)
返回
2、
A與外RAM和ROM之間的數(shù)據(jù)傳送
1)ROM的數(shù)據(jù)送AMOVCA,@A+PC
MOVCA,@A+DPTR(93H)
2)A與外RAM之間的數(shù)據(jù)傳送
MOVXA,@DPTRMOVXA,@RiMOVX@DPTR,AMOVX@Ri,A以DPTR作為基址寄存器,累加器A的內(nèi)容作為無符號數(shù)與DPTR內(nèi)容相加,得到一個16位的地址,并把該地址指出的ROM單元中的內(nèi)容送到累加器A。
ROM93HFFH37HSFRDPH20HDPL33HA89HFFH206AH89H返回
2、
A與外RAM和ROM之間的數(shù)據(jù)傳送
1)ROM的數(shù)據(jù)送AMOVCA,@A+PCMOVCA,@A+DPTR2)A與外RAM之間的數(shù)據(jù)傳送
MOVXA,@DPTRMOVXA,@RiMOVX@DPTR,AMOVX@Ri,A把DPTR中的內(nèi)容作為地址,并把該地址指出的外RAM單元的內(nèi)容送到累加器A。
ROM93HFFH01HSFRDPH20HDPL33HA89HFFH2001H89H外RAM返回
2、
A與外RAM和ROM之間的數(shù)據(jù)傳送
1)ROM的數(shù)據(jù)送AMOVCA,@A+PCMOVCA,@A+DPTR2)A與外RAM之間的數(shù)據(jù)傳送
MOVXA,@DPTRMOVXA,@Ri
MOVX@DPTR,AMOVX@Ri,A把DPTR中的內(nèi)容作為地址,并把累加器A的內(nèi)容送到該地址指出的外RAM單元。
ROM93HFFH02HSFRDPH20HDPLABHA89HFFH2001HABH外RAM2002H返回40H33HROM87H45HFFH33HROMC0H40HFFHSFRFFHSPRAMFFH40H50H51H
3、堆棧操作
1)PUSHdirect2)POPdirect1、在MCS-51單片機的內(nèi)部RAM中,可以設(shè)定一個先進后出的區(qū)域,稱其為堆棧。2、在特殊功能寄存器中有一個堆棧指針SP,它指出棧頂?shù)奈恢谩?、進棧指令的功能是:首先將堆棧指針SP的內(nèi)容加1,然后將直接地址所指出的內(nèi)容送入SP指出的內(nèi)部RAM單元。例PUSH40H(C0H)51H50H返回33HFFH40HROM87H45HFFHFFHROMD0H40HFFHSFRFFHSPRAM40H50H51H
3、堆棧操作
1)PUSHdirect2)POPdirect出棧指令的功能是:將SP所指出的內(nèi)部RAM單元的內(nèi)容送入由直接地址所指出的字節(jié)單元,接著將堆棧指針SP的內(nèi)容減1。例POP40H(D0H)51H50H返回51H33H
4、交換
1)、XCHA,Rn\direct\@RiXCHA,RnXCHA,directXCHA,@Ri2)XCHDA,@Ri將累加器A的內(nèi)容和Rn中的內(nèi)容相互交換。例XCHA,R7
(CFH)FFH40HROM87H45HFFHFFHROMCFHFFHFFHSFRFFHARAMR750H51H返回51H33HF2HCDH
4、交換
1)、XCHA,Rn\direct\@RiXCHA,RnXCHA,directXCHA,@Ri2)XCHDA,@Ri將累加器A的內(nèi)容和direct所指示的單元中的內(nèi)容相互交換。例XCHA,32H
(C5H32H)FFH40HROM87H45HFFHFFHROMC5H32HFFHSFRFFHARAM32H50H51H返回CDHF2HB6HCDH
4、交換
1)、XCHA,Rn\direct\@RiXCHA,RnXCHA,directXCHA,@Ri2)XCHDA,@Ri將累加器A的內(nèi)容和RAM單元中的內(nèi)容相互交換。RAM單元的地址采用寄存器間接尋址方式給出。例XCHA,@R1;(C7H)44H40HROM87H45HFFHROMC7HFFHFFHSFRFFHARAMR144H45H返回CDHB6H4HCH
4、交換
1)、XCHA,Rn\direct\@RiXCHA,RnXCHA,directXCHA,@Ri2)XCHDA,@Ri將累加器A的內(nèi)容和RAM單元中的內(nèi)容相互交換。RAM單元的地址采用寄存器間接尋址方式給出。例XCHDA,@R1;(D7H)44H40HROM87H45HFFHROMD7HFFHFFHSFRFFHARAMR144H45HD2返回D2H
4、交換
1)、XCHA,Rn\direct\@RiXCHA,RnXCHA,directXCHA,@Ri2)XCHDA,@Ri
SWAPA將累加器A的高4位與低4位之間進行交換。ROM87H45HFFHROMC4HFFHFFHSFRFFHADC返回1、加法運算1)ADDA,#data8\direct\@Ri\Rn
ADDA,#30HADDA,30HADDA,@R0
ADDA,R5返回1、加法運算1)ADDA,#data8\direct\@Ri\Rn
ADDA,#30HCDHROM87HFFHROM24H30HFFHSFRFFHACDH+FDH30H返回1、加法運算1)ADDA,#data8\direct\@Ri\Rn
ADDA,30H2DHROM87HFFHROM24H30HFFHSFRFFHA2DH+F3H30HB6H44H40HRAMR130H31HB6H返回1、加法運算1)ADDA,#data8\direct\@Ri\Rn
ADDA,@R0
2DHROM87HFFHROM24H30HFFHSFRFFHA2DH+F3H30HB6H44H40HRAMR044H45HB6H返回1、加法運算1)ADDA,#data8\direct\@Ri\Rn
ADDA,R52DHROM87HFFHROM24H30HFFHSFRFFHA2DH+F3H30HB6H44H40HRAMR544H45HB6H返回1、加法運算1)ADDA,#data8\direct\@Ri\Rn2)ADDCA,#data8\direct\@Ri\Rn
ADDCA,#30HADDCA,35HADDCA,@R1
ADDCA,R4返回1、加法運算1)ADDA,#data8\direct\@Ri\Rn2)ADDCA,#data8\direct\@Ri\Rn
ADDCA,#30HCDHROM87HFFHROM34H30HFFHSFRFFHACDH+FDH30H0001100FFHPSW1+1FFHFEH0返回1、加法運算1)ADDA,#data8\direct\@Ri\Rn2)ADDCA,#data8\direct\@Ri\Rn
ADDCA,35HCDHROM87HFFHROM24H30HFFHSFRFFHACDH+FDH30H0001100FFHPSW1+1FFHFEH0B6H30HRAM34H35HB6H30H返回1、加法運算1)ADDA,#data8\direct\@Ri\Rn2)ADDCA,#data8\direct\@Ri\Rn
ADDCA,@R0CDHROM87H35HROM24H30HSFRFFHACDH+FDH30H0001100FFHPSW1+1FFHFEH0B6H30HRAM34H35HB6H30HR0返回1、加法運算1)ADDA,#data8\direct\@Ri\Rn2)ADDCA,#data8\direct\@Ri\Rn
ADDCA,R0CDHROM87H35HROM24H30HSFRFFHACDH+FDH30H0001100FFHPSW1+1FFHFEH0B6H30HRAM34H35HB6H30HR0返回1、加法運算1)ADDA,#data8\direct\@Ri\Rn2)ADDCA,#data8\direct\@Ri\Rn
3)
INCA\direct\@Ri\Rn\DPTRINCAINCdirectINC@RiINCRnINCDPTR返回1、加法運算1)ADDA,#data8\direct\@Ri\Rn2)ADDCA,#data8\direct\@Ri\Rn
3)
INCA\direct\@Ri\Rn\DPTRINCACDHROM87H35HROM04HSFRFFHACDH+1FFH0001100FFHPSW11FFHCEH0B6H30HRAM34H35HB6H30HR0返回B6H1、加法運算1)ADDA,#data8\direct\@Ri\Rn2)ADDCA,#data8\direct\@Ri\Rn
3)
INCA\direct\@Ri\Rn\DPTRINC34HCDHROM87H35HROM05HSFRFFHACDH+134H0001100FFHPSW11FFHB7H0B6H30HRAM34H35H30HR0B6H返回B6H1、加法運算1)ADDA,#data8\direct\@Ri\Rn2)ADDCA,#data8\direct\@Ri\Rn
3)
INCA\direct\@Ri\Rn\DPTRINC@R0CDHROM87H35HROM06HSFRFFHACDH+1FFH0001100FFHPSW11FFHB7H034HRAM34H35HR0B6H返回34HB6H1、加法運算1)ADDA,#data8\direct\@Ri\Rn2)ADDCA,#data8\direct\@Ri\Rn
3)
INCA\direct\@Ri\Rn\DPTRINCR0CDHROM87H35HROM08HSFRFFHACDH+1FFH0001100FFHPSW11FFH35H034HRAM34H35HR0B6H返回34HB6H1、加法運算1)ADDA,#data8\direct\@Ri\Rn2)ADDCA,#data8\direct\@Ri\Rn
3)
INCA\direct\@Ri\Rn\DPTRINCDPTRROM87H35HROM08H+1FFH35H34HSFRDPLDPHA35HB6HB7H返回2、減法運算1)SUBBA,#data8\direct\@Ri\Rn
SUBBA,#30HSUBBA,35HSUBBA,@R1
SUBBA,R4返回2、減法運算1)SUBBA,#data8\direct\@Ri\Rn
SUBBA,#30HCDHROM87HFFHROM34H30HFFHSFRFFHACDH-9DH30H0001100FFHPSW1-1FFH9CH0FFH返回2、減法運算1)SUBBA,#data8\direct\@Ri\Rn
SUBBA,35HCDHROM87HFFHROM34H30HFFHSFRFFHACDH-9DH30H0001100FFHPSW1-1FFH9CH0FFHB6H30HRAM34H35HB6H30H返回2、減法運算1)SUBBA,#data8\direct\@Ri\RnSUBBA,@R0CDHROM87H35HROM24H30HSFRFFHACDH-9DH30H0001100FFHPSW1-1FFH9CH0B6H30HRAM34H35HB6H30HR0返回2、減法運算1)SUBBA,#data8\direct\@Ri\RnSUBBA,R6CDHROM87H35HROM24H30HSFRFFHACDH-9DH30H0001100FFHPSW1-1FFH9CH0B6H30HRAM34H35HB6H30HR6返回2、減法運算1)SUBBA,#data8\direct\@Ri\Rn2)DECA\direct\@Ri\RnDECADECdirectDEC@RiDECRn返回2、減法運算1)SUBBA,#data8\direct\@Ri\Rn2)DECA\direct\@Ri\RnDECACDHROM87H35HROM04HSFRFFHACDH-1FFH0001100FFHPSW11FFHCCH0B6H30HRAM34H35HB6H30HR0返回B6H2、減法運算1)SUBBA,#data8\direct\@Ri\Rn2)DECA\direct\@Ri\RnINC34HCDHROM87H35HROM05HSFRFFHACDH-134H0001100FFHPSW11FFHB5H0B6H30HRAM34H35H30HR0B6H返回B6H2、減法運算1)SUBBA,#data8\direct\@Ri\Rn2)DECA\direct\@Ri\RnDEC@R0CDHROM87H35HROM06HSFRFFHACDH-1FFH0001100FFHPSW11FFHB5H034HRAM34H35HR0B6H返回34HB6H2、減法運算1)SUBBA,#data8\direct\@Ri\Rn2)DECA\direct\@Ri\RnINCR0CDHROM87H35HROM08HSFRFFHACDH-1FFH0001100FFHPSW11FFH33H034HRAM34H35HR0B6H返回02H3、乘法運算MULAB
ROM87HFFHROM24H30HFFH×00H30H06HFFH02HSFRAB06H0CH0CH00H0001100PSW01返回
1、邏輯與運算
1)ANLA,#data8\direct\@Ri\Rn
ANLA,#0FH01101011BROM87HROM54HSFRFFHA∩00001111BFFHFFH00001011B01101011B00001011B00001111B返回
1、邏輯與運算
1)ANLA,#data8\direct\@Ri\Rn
2)
ANLdirect,#data8\A
01101011BROM87HROM54HRAMFFH30H∩30HFFHFFH00001011BANL30H,#0FH01101011B00001011B00001111B00001111B00001111B返回
2、邏輯或運算
1)ORLA,#data8\direct\@Ri\Rn
ORLA,#0FH01101011BROM87HROM54HSFRFFHA∪00001111BFFHFFH01101111B01101011B01101111B00001111B返回
2、邏輯或運算
1)ORLA,#data8\direct\@Ri\Rn
2)
ORLdirect,#data8\A
01101011BROM87HROM54HRAMFFH30H∩30HFFHFFH01101111BORL30H,#0FH01101011B01101111B00001111B00001111B00001111B返回
3、邏輯異或運算
1)XRLA,#data8\direct\@Ri\Rn
XRLA,#0FH01101011BROM87HROM54HSFRFFHA⊙00001111BFFHFFH01100100B01101011B01100100B00001111B返回
3、邏輯或運算
1)XRLA,#data8\direct\@Ri\Rn
2)
XRLdirect,#data8\A
01101011BROM87HROM54HRAMFFH30H⊙30HFFHFFH01100100BXRL30H,#0FH01101011B01100100B00001111B00001111B00001111B返回
5、移位運算
1)RLA
ROM87HFFHROM24H30HFFH30HSFRA1101010011010100返回
5、移位運算
1)RLA2)RRA
ROM87HFFHROM24HSFRA1101010011010100返回00
5、移位運算
1)RLA2)RRA3)RLCA
ROM87HFFHROM24H30HFFH30HSF
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國隱形滲透性密封劑行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 山東省日照市高三上學期期末考試語文試卷(含答案)
- 2025會議 展覽合同
- 2025機動車買賣合同模板
- 運輸類合同范本
- 南寧房屋租賃服務合同模板
- 2025建筑施工物資租賃合同示范文本無擔保方
- 雞蛋供貨采購合同
- 借款用于投資合同
- 技能培訓中的表達技巧訓練
- 2024年資格考試-對外漢語教師資格證筆試參考題庫含答案
- 2024年4月自考02382管理信息系統(tǒng)答案及評分參考
- (蘇版)初三化學上冊:第2單元課題1空氣
- 2023年12月廣東珠海市軌道交通局公開招聘工作人員1人筆試近6年高頻考題難、易錯點薈萃答案帶詳解附后
- 腹腔鏡腎上腺腫瘤切除術(shù)查房護理課件
- 燃氣罩式爐應急預案
- 專題23平拋運動臨界問題相遇問題類平拋運和斜拋運動
- 超聲科醫(yī)德醫(yī)風制度內(nèi)容
- 高三開學收心班會課件
- 蒸汽換算計算表
- 四年級計算題大全(列豎式計算,可打印)
評論
0/150
提交評論