freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

單片微型計算機原理與接口技術答案(第二版)高峰-資料下載頁

2025-05-31 06:49本頁面
  

【正文】 ,不影響程序的執(zhí)行,僅指明在匯編時執(zhí)行一些特殊的操作。例如.為程序指定一個存儲區(qū),將 一些數(shù)據(jù)、表格常數(shù)存放在指定的存儲單元,說明源程序開始或結束等.。不同的單片機開發(fā)裝置所定義的偽指令不全相同。 80C51單片機程序設計中主要有偽指令語句如下。 1.ORG(Origin)一匯編起始地址偽指令 , 指令格式為:ORG 表達式 ’ 其含義是向匯編程序說明,下述程序段的起始地址由表達式指明。表達式通常為十六進 制地址碼。 2.END(END 0f Assembly)一匯編結束偽指令 。 其含義是通知匯編程序,該程序段匯編至此結束。 3.EQU(EQUate)—賦值偽指令 。 指令格式為:標號 EQU 表達式 其含義是把表達式賦值于標號,這里的標號和表達式是必不可少的。用EQU語句給一 個標號賦值以后,在整個源程序中該標號的值是固定的,不能更改。 4.DL定義標號值偽指令 指令格式為:標號 DL 表達式 其含義也是說明標號等值于表達式。同樣,標號和表達式是必不可少的。用DL語句在 同一源程序中給同一標號賦予不同的值,即可更改已定義的標號值。 5.DB(Define Byte)—定義字節(jié)偽指令 指令格式為:標號DB 表達式或表達式表 其含義是將表達式或表達式表所表示的數(shù)據(jù)或數(shù)據(jù)串存入從標號開始的連續(xù)存儲單元 中。標號為可選項,它表示數(shù)據(jù)存儲單元地址。表達式或表達式表是指一個字節(jié)或用逗號分 開的字節(jié)數(shù)據(jù)。可以是用引號括起來的字符串,字符串中的字符按ASCII碼存于連續(xù)的 ROM中。 6.DW(Define Word)定義字偽指令 指令格式為:標號 DW 表達式或表達式表 其含義是把字或字串值存人由標號開始的連續(xù)存儲單元中,并且把字的高字節(jié)數(shù)存人低 地址單元,低字節(jié)數(shù)存入高地址單元。按順序連續(xù)存放。 7.DS(Define Stonage)—定義存儲區(qū)偽指令 指令格式為:標號DS 表達式 其含義是通知匯編程序,在目標代碼中,以標號為首地址保留表達式值的若干存儲單元以備源程序使用。匯編時,對這些單元不賦值。 注意:對于80C51單片機,DB、DW和DS等偽指令只能應用于程序存儲器,而不能應用于數(shù)據(jù)存儲器。 8.BIT—位定義偽指令用于給字符名稱賦予位地址。 命令格式為:字符名稱 BIT 位地址 其中,位地址可以是絕對地址,也可以是符號地址?!?—4】什么是結構化程序設計?它包含哪些基’本結構程序?【答】 程序設計有時可能是一件很復雜的工作,但往往有些程序結構是很典型的。采用結 構化程序編程時,規(guī)律性極強,簡單清晰,易讀/寫,具有調試方便、生成周期短、可靠性高等特點。 根據(jù)結構化程序設計的觀點,功能復雜的程序結構一般采用三種基本控制結構,即順序結構、分支結構和循環(huán)結構,再加上子程序結構及中斷服務子程序結構,共包含五種基本程序結構?!?—5】順序結構程序的特點是什么?試用順序結構編寫三字節(jié)無符號數(shù)的加法程序段,最高字節(jié)的進位存入用戶標志F0中。【答】順序結構是按照邏輯操作順序,從某一條指令開始逐條順序執(zhí)行,直至某一條指令為止。比如數(shù)據(jù)的傳送與交換、簡單的運算、查表等程序的設計。順序結構是所有程序設計中 最基本、最單純的程序結構形式,因而是一種最簡單、應用最普遍的程序結構。在順序結構程序中沒有分支,也沒有子程序,但它是組成復雜程序的基礎和主干。 例如:三字節(jié)無符號數(shù)的加法程序段,最高字節(jié)的進位存人用戶標志FO中。 假設加數(shù)存放在內存20H、21H和22H中,被加數(shù)存放在內存3OH、31H和32H中,和存放在內存40H、41H和42H中。數(shù)據(jù)存放次序為低字節(jié)在前。 MOV A,3 0H ;取被加數(shù)低字節(jié)數(shù) ADD A,20H ;求和 M07 40H,A ;和存入 MOV A,31H ADDC A,21H ;帶進位求和 MOV 41H,A MOV A,32H ADDC A,22H ;帶進位求和 MOV 42H.A , MOV F0,C ;最高字節(jié)的進位存入用戶標志F0中【4—6】80C51單片機有哪些查表指令?它們有何本質區(qū)別?請編寫按序號i 值查找Di(1 6位長度)的方法。設值i存放在R7中,將查找到的數(shù)據(jù)存放于片內RAM的30H、31H單元中。請畫出程序流程圖,編寫查表程序段,加上必要的偽指令,并對源程序加以注釋?!敬稹?0c51有兩種查表指令,即近程查表指令“MOVC A,@A+PC”和遠程查表指令 “MOVC A,@AA+ DPTR 這兩條指令的功能均是從程序存儲器中讀取數(shù)據(jù)(如表格、常數(shù)等),執(zhí)行過程相同,其差別是基址不同,因此,適用范圍也不同。 累加器A為變址寄存器,而PC、DPTR為基址寄存器。DPTR為基址寄存器時,允許數(shù)表存放在程序存儲器的任意單元,稱為“遠程查表”,編程比較直觀;而PC為基址寄存器時,數(shù)表只能放在該指令單元往下的256個單元中,稱為“近程查表”。編程時需要計算累加器A中的值與數(shù)表首址的偏移量。 例如,按序號i值查找Di(1 6位長度)的源程序如下所示: ORG XXXXH MOV DPTR,TABLE 指向表首址 MOV A,R7 ;取值i RL A ;Di為二個字節(jié) MOV R7,A ;i x 2 MOVC A,@A+DPTR ;查表獲得Di的高字節(jié) MOV 30H.A MOV A,R7 INC A 指向表的下一個地址 MOVC A,@A+DPTR ;{表獲得Di的低字節(jié) MOV 31H, A TABLE: Dw …… ;表(Dw為雙字節(jié),高字節(jié)在前) RET 查表程序流程圖如圖41所示?!?—7】根據(jù)運算結果給出的數(shù)據(jù)到指定的數(shù)據(jù)表中查找對應的數(shù)據(jù)字。運算結果給出的數(shù)據(jù)在片內RAM的40H單元中,給出的數(shù)據(jù)大小在00~0FH之間,數(shù)據(jù)表存放在20H開始的片內存儲器中。查表所得數(shù)據(jù)字為雙字節(jié)(高字節(jié)在后),高字節(jié)存于42H、低字節(jié)存于41H單元。其對應關系為:給出數(shù)據(jù): 00 H 0 1 H 0 2 H …0DH 0EH 0FH對應數(shù)據(jù):00 A0 H 7DC2 H FF09 H … 3456H 89ABH 5678 H請編制查表程序段,加上必要的偽指令,并加以注釋?!敬稹砍绦蛉缦拢? ORG 0000H AJMP MAIN , 0RG 0020H TAB:DB OAOH,OOH,0C2H,7DH,09H,OFFH,...,56H,34H,0.ABH,89H,DB 78H,56H; 數(shù)據(jù)字表 ORG 0050H MAIN: MOV A,40H ;運算結果給出的數(shù)據(jù)放在40H中 MOV DPTR,TAB ;指向數(shù)據(jù)字表首地址 RL A ;由于是雙字節(jié),所以A左移1位(乘2) MOV 40H,A ;結果放在40H ’ MOVC A,@A+DPTR ;查表,找出對應的值 MOV 41H,A ;查找出的數(shù)據(jù)值低字節(jié)放入41H MOV A.40H ADD A,01H ;查找數(shù)據(jù)的高位字節(jié) MOV DPTR,TAB MOVC A,@A+DPTR MOV 42H,A 。 ;查找出的數(shù)據(jù)值高字節(jié)放入42H SJMP$注意:數(shù)據(jù)表存放在20 H開始的片內存儲器中,該存儲器應為內部程序存儲器,因為查表指令MOVC的功能是從程序存儲器中讀數(shù)據(jù)?!?—8】什么是分支結構程序?8OC 1的哪些指令可用于分支結構程序編程?有哪些多分支轉移指令?由累加器A中的動態(tài)運行結果值進行選擇分支程序,分支轉移指令選用LJMP,請編寫散轉程序段和畫出程序流程圖,加上必要的偽指令,并加以注釋?!敬稹糠种ЫY構程序的主要特點是程序執(zhí)行流程中必然包含有條件判斷指令。符合條件要求和不符合條件要求的有不同的處理路徑。編程的主要方法和技術是合理選用具有邏輯判斷功能的指令。在程序設計時,往往借助程序框圖(判斷框)來指明程序的走向。 一般情況下,每個分支均需要單獨執(zhí)行一段程序,對分支程序的起始地址賦予一個地址標號,以便當條件滿足時轉向指定地址單元去執(zhí)行程序,條件不滿足時仍順序往下執(zhí)行程序。 80C51的條件判跳指令極其豐富,功能極強,特別是位處理判跳指令,對復雜問題的編程提供了極大方便。程序中每增加一條條件判跳指令,就應增加一條分支。 分支結構程序的形式有單分支結構和多分支結構兩種。 ①在80C51指令系統(tǒng)中可實現(xiàn)單分支程序轉移的指令有位條件轉移指令,如JC、JNC、 JB、JNB和JBC等,還有一些條件轉移指令,如JZ、JNZ和DJNZ等。 . ②80C51設有兩條多分支選擇指令。 (a)散轉指令:JMP @A+DPTR 散轉指令由數(shù)據(jù)指針DPTR決定多分支轉移程序的首地址,由累加器A中內容動態(tài)地選擇對應的分支程序。因此,可以從多達256個分支中選擇一個分支散轉。 (b)比較指令:CJNE A,direct,rel (共有4條) 比較兩個數(shù)的大小,必然存在大于、等于、小于三種情況,這時就需要從三個分支中選擇一 個分支執(zhí)行程序。 例如:由累加器A中的動態(tài)運行結果值進行選擇分支程序,分支轉移指令選用LJMP。 ORG XXXXH MOV DPTR,JPTAB ;分支轉移表首地址 CLR C MOV B, A RLC A JNC TAB INC DPTR TAB: ADD A,B ;(A)* 3 JNC TABLE INC DPTR TABLE: JMP@A+DPTR ;多分支轉移 JPTAB:LTMP LOOPl ;長轉移指令為3個字節(jié) LJMP LOOP2 注意:長轉移指令為3字節(jié),因此,A中內容應乘以3。若大于一個字節(jié),則DPH要加1。分支程序流程圖如圖42所示?!?9】循環(huán)結構程序有何特點?80C51的循環(huán)轉移指令有什么特點?何謂循環(huán)嵌套?編程時應注意什么?【答】循環(huán)是強制CPU重復多次地執(zhí)行一串指令的基本程序結構。從本質上看,循環(huán)程序結構只是分支程序中的一個特殊形式。循環(huán)程序由4個部分構成,即循環(huán)初始化、循環(huán)體、循環(huán)控制和結束部分。循環(huán)次數(shù)已知情況下,采用計數(shù)循環(huán)程序,其特點是必須在初始化部分設定計數(shù)的初值,循環(huán)控制部分依據(jù)計數(shù)器的值決定循環(huán)次數(shù)。 根據(jù)控制循環(huán)結束的條件,決定是否繼續(xù)循環(huán)程序的執(zhí)行。所謂的結束條件可以是搜索 到某個關鍵字(比如回車符CR),也可以是發(fā)生的某種變化(如故障引起電路電平變化)等,什 么時候結束循環(huán)是不可預知的。 80C5 1設有功能強的循環(huán)轉移指令: DJNZ Rn,rel. . ;以工作寄存器作為控制計數(shù)器 DJNZ direct,rel. ;以直接尋址單元作為控制計數(shù)器 CJNE A,direct,rel ;比較不相等轉移 這幾條基本指令可派生出很多條不同控制計數(shù)器的循環(huán)轉移指令,大大擴充了應用范圍 和多重循環(huán)層次。 循環(huán)嵌套就是在循環(huán)內套用循環(huán)的結構形式,也稱“多重循環(huán)”。 循環(huán)的執(zhí)行過程是從內向外逐層展開的。內層執(zhí)行完全部循環(huán)后,外層則完成一次循環(huán), 逐次類推。層次必須分明,層次之間不能有交叉,否則將產(chǎn)生錯誤。編程時要注意循環(huán)的正確退出,要防止出現(xiàn)“死循環(huán)”?!?10】什么是子程序?它的結構特點是什么?什么是子程序嵌套?【答】在編制應用程序時,往往將需要多次應用但完成的運算或操作相同的程序段,編制 成一個子程序,并盡量使其標準化,存放于某存儲區(qū)域。調用子程序的程序稱為“主程序”或 “調用程序”。 子程序是由專門的子程序調用指令CALL調用,而以子程序返回指令RET結束的程序 段。子程序的第一條指令地址,通常稱為“子程序首地址”或“人口地址”,往往采用標號(可用助記符)加以表示,調用(轉子)指令的下一條指令地址,通常稱為“返回地址”或“斷點”。 在子程序中調用子程序的現(xiàn)象通常稱為子程序嵌套?!?11】手工匯編下列程序: KEY EQU 2 0H ORG 2000H MOV RO,30H ;數(shù)據(jù)區(qū)首址 MOV Rl,1 6 ;數(shù)據(jù)區(qū)長度 MOV 20H,KEY ;關鍵字送20H單元 CLR F0 ;清用戶標志位 MOV 21H,0l ;序號置l LP: MOV A,@R0 ;取數(shù) CJNE A,20H,LP1. SJMP HERE ;找到關鍵字,結束. LPI: INC 21H
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1