第3章MCS-51單片機的指令系統(tǒng).ppt
《第3章MCS-51單片機的指令系統(tǒng).ppt》由會員分享,可在線閱讀,更多相關《第3章MCS-51單片機的指令系統(tǒng).ppt(88頁珍藏版)》請在匯文網(wǎng)上搜索。
1、1,總體要求: 熟練掌握MCS-51單片機匯編語言的指令格式 熟練掌握MCS-51單片機指令的尋址方式 了解機器語言指令格式 掌握MCS-51指令系統(tǒng)的分類、符號約定和常用指令 能夠獨立完成本章作業(yè)學習重點: MCS-51單片機的指令格式和尋址方式 MCS-51指令系統(tǒng)中各條指令的助記符格式、 功能等特性,第3章 MCS-51單片機的指令系統(tǒng),3.1 指令格式和尋址方式3.2 指令系統(tǒng),2,3,3.1 指令格式和尋址方式3.1.1 指令格式 MCS-51單片機的指令和一般的微型計算機一樣,具有兩級形式:匯編語言級和機器語言級。對用戶而言,主要使用匯編語言來編寫程序,然后由匯編程序(機器匯編)或
2、手工匯編將匯編語言源程序翻譯成二進制代碼組成的機器語言程序。匯編語言的特點是對每一條指令都給出了助記符。由于助記符具有用英文單詞的縮寫來描述指令的特征,因此它不但便于記憶,也便于理解和分類。,4,1. 匯編語言指令格式 MCS-51單片機匯編語言指令格式為: 標號: 操作碼 操作數(shù) ;注釋 各字段之間用規(guī)定的符號隔開。方括號的部分為可選項。 例如:LOOP:MOV A,54H ;A54H 各字段的意義如下: 標號:標號給出了該指令位置的符號地址,即該指令機器代碼存儲單元的地址。它是以英文字母開始的由18個字母或數(shù)字組成的字符串,并以“:”結(jié)束。 操作碼:操作碼部分給出了指令所實現(xiàn)的操作功能。操
3、作碼用助記符的形式給出。,5,操作數(shù):操作數(shù)部分給出了指令中參與操作的對象。操作數(shù)一般分為目的操作數(shù)(上例中累加器A)和源操作數(shù)(上例中的54H),兩者之間用“,”分隔。任何指令的操作都是實現(xiàn)“從源操作數(shù)到目的操作數(shù)”,因此,目的操作數(shù)和源操作數(shù)的書寫順序不能顛倒。需要指出的是:也有些指令根據(jù)其功能只指明了一個操作數(shù)或不需要指明操作數(shù)。 注釋:注釋部分是用戶為方便閱讀而加的注釋。注釋以“;”為開始。注釋部分對匯編語言來講可有可無,它不參與計算機的操作,不影響指令的執(zhí)行。 例如: MOV A,00H ;將累加器清0,6,. 機器語言指令格式 機器語言指令是一種二進制碼,包括操作碼和操作數(shù)。操作碼
4、規(guī)定了該指令操作的性質(zhì),操作數(shù)則表明了操作的對象。MCS-51的指令系統(tǒng)有單字節(jié)、雙字節(jié)和三字節(jié)這三種形式的指令,分別占有13個存儲單元。 (1) 單字節(jié)指令:如 RETI對應的機器語言指令格式為: (2) 雙字節(jié)指令: 如 MOV A,54H對應的機器語言指令格式為:,7,(3) 三字節(jié)指令:如MOV 30H,54H對應的機器語言指令格式為:,單字節(jié)指令的操作碼本身就隱含了操作數(shù)的信息;一般情況下,雙字節(jié)指令的首字節(jié)為操作碼,第二字節(jié)為操作數(shù)或操作數(shù)的地址;三字節(jié)指令的首字節(jié)為操作碼,后面兩個字節(jié)為操作數(shù)或操作數(shù)的地址。指令字節(jié)越多,所占內(nèi)存單元越多,但執(zhí)行時間的長短只取決于執(zhí)行該指令需要多
5、少個機器周期。,8,3.1.2 尋址方式 在指令系統(tǒng)中,操作數(shù)是一個重要的組成部分,它指定了參加運算的數(shù)或數(shù)所在的地址單元。如何找到操作數(shù)地址的方式就稱為尋址方式。尋址方式就是在規(guī)定的地址范圍內(nèi)如何靈活地、方便地找到所需要的操作數(shù)地址。 MCS-51單片機指令操作數(shù)或操作數(shù)地址主要有以下7種尋址方式。,9,1. 立即尋址 立即尋址就是在指令中的操作數(shù)(8位或16位),這個操作數(shù)稱為立即數(shù)。用符號“”表示立即數(shù),以區(qū)別直接地址。 例如:MOV A,3AH ;A3AH 功能:把3AH這個數(shù)送入累加器A中。 例如:MOV DPTR,0123H ;DPTR0123H 功能:將數(shù)據(jù)指針DPTR傳送16位
6、的立即數(shù),立即數(shù)的高8位送入DPH中,低8位送入DPL中。此為三字節(jié)的指令,指令代碼為90H、01H、23H。立即尋址示意圖如圖3-1所示。,10,(a)MOV A,#3AH (b)MOV DPTR,#0123H 圖3-1 立即尋址示意圖,11,2. 直接尋址 直接尋址就是在指令中直接給出了操作數(shù)的地址。提供了訪問內(nèi)部數(shù)據(jù)存儲器3種地址空間的方法:可以訪問內(nèi)部RAM128個字節(jié)單元、221個位地址空間以及特殊功能寄存器SFR,且SFR和位地址空間只能用直接尋址的方式來訪問。 例如:MOV A,70H;A(70H) 功能:把片內(nèi)RAM 70H單元的內(nèi)容送入累加器A中,圖3-2示。,12,圖3-2
7、 直接尋址示意圖,3. 寄存器尋址 寄存器尋址是在指令中指定某一寄存器的內(nèi)容為操作數(shù)。對累加器A、通用寄存器B、數(shù)據(jù)指針寄存器DPTR和進位位CY,其尋址時具體的寄存器已隱含在其操作碼中,而對選定的8個工作寄存器R0R7則用操作碼的低三位指明所用的寄存器。用戶可用PSW中的RS1、RS0來選擇寄存器組 。 例如:MOV A,R5;AR5 功能:把R5中的內(nèi)容(設R561H)送入累加器A中。該指令執(zhí)行過程如圖3-3所示。,13,14,圖3-3 寄存器尋址示意圖,15,4. 寄存器間接尋址 寄存器間接尋址是把指令中指定的寄存器的內(nèi)容作為操作數(shù)的地址,把該地址單元的內(nèi)容作為操作數(shù)。這種尋址方式用于訪
8、問內(nèi)部RAM和外部RAM??捎脕黹g接尋址的寄存器有R0、R1、堆棧指針SP以及16位的數(shù)據(jù)指針DPTR,使用時前面加符號表示間接尋址。 例如:MOV A,R1 ;A(R1) 其指令代碼形式為11100111,十六進制為E7H,注意最低位為1,表示現(xiàn)在使用的寄存器為 R1。現(xiàn)假設工作寄存器為第0組,R1中存放的是75H。則執(zhí)行該指令過程如圖3-4所示。,16,圖3-4 寄存器間接尋址示意圖,5. 變址尋址變址尋址是以某個寄存器的內(nèi)容為基地址,然后在這個基地址的基礎上加上地址偏移量形成真正的操作數(shù)地址MCS-51單片機可由DPTR或PC作為基址寄存器,由累加器A作為偏移量寄存器。這種尋址方式常用于
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關 鍵 詞:
- 第3章 MCS-51單片機的指令系統(tǒng) MCS 51 單片機 指令系統(tǒng)