




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1微機(jī)原理與接口技術(shù)微機(jī)原理與接口技術(shù)大家好大家好!v目錄v第第1 1章章 微型計算機(jī)基礎(chǔ)概論微型計算機(jī)基礎(chǔ)概論v第第2 2章微處理器與總線章微處理器與總線v第第3 3章指令系統(tǒng)章指令系統(tǒng)v第第4 4章匯編語言程序設(shè)計章匯編語言程序設(shè)計v第第5 5章章 存儲器存儲器系統(tǒng)系統(tǒng)v第第6 6章章輸入輸出輸入輸出v第第7 7章章基本輸入/輸出方法(DMA)v第第8 8章章中斷技術(shù)中斷技術(shù)v第第9 9章章模擬量的輸入輸出(模擬量的輸入輸出(D/AD/A轉(zhuǎn)換)轉(zhuǎn)換)v第第10 10章模章模/ /數(shù)(數(shù)(A/DA/D)轉(zhuǎn)換器)轉(zhuǎn)換器3第第4 4章章匯編語言程序設(shè)計4主要內(nèi)容n匯編語言源程序的結(jié)構(gòu)匯編語言源程
2、序的結(jié)構(gòu)n匯編語言語句格式匯編語言語句格式n偽指令偽指令n功能調(diào)用功能調(diào)用n匯編語言程序設(shè)計匯編語言程序設(shè)計54.1 匯編語言源程序了解:了解:n匯編語言源程序的結(jié)構(gòu)匯編語言源程序的結(jié)構(gòu)n匯編語言語句類型及格式匯編語言語句類型及格式6一、匯編語言源程序結(jié)構(gòu)71. 匯編語言源程序與匯編程序n匯編語言源程序匯編語言源程序n匯編程序匯編程序用助記符編寫用助記符編寫匯編程序匯編程序匯編語言匯編語言源程序源程序機(jī)器語言機(jī)器語言目標(biāo)程序目標(biāo)程序源程序的編譯程序源程序的編譯程序82. 匯編語言程序設(shè)計與執(zhí)行過程n輸入?yún)R編語言源程序(輸入?yún)R編語言源程序(EDIT)n匯編(匯編(MASM)n鏈接(鏈接(LINK
3、)n調(diào)試(調(diào)試(TD)源文件源文件 . ASM目標(biāo)文件目標(biāo)文件 .OBJ可執(zhí)行文件可執(zhí)行文件.EXE最終程序最終程序9二、匯編語言語句類型及格式二、匯編語言語句類型及格式101. 匯編語言語句類型指令性語句指令性語句指示性語句指示性語句CPU執(zhí)行的語句,能執(zhí)行的語句,能夠生成目標(biāo)代碼夠生成目標(biāo)代碼CPU不執(zhí)行,而由匯編不執(zhí)行,而由匯編程序執(zhí)行的語句,不生程序執(zhí)行的語句,不生成目標(biāo)代碼成目標(biāo)代碼112. 匯編語言語句格式 指令性語句:指令性語句: 標(biāo)號:標(biāo)號: 前綴前綴 助記符助記符 操作數(shù)操作數(shù),操作數(shù)操作數(shù) ;注釋;注釋指令的符號地址指令的符號地址標(biāo)號后要有冒號標(biāo)號后要有冒號操作碼操作碼注釋
4、前加分號注釋前加分號12指示性語句格式名字名字 偽指令助記符偽指令助記符 操作數(shù)操作數(shù) ,操作數(shù),操作數(shù), ;注釋;注釋變量的符號地址變量的符號地址其后不加冒號其后不加冒號指示性語句中至指示性語句中至少有一個操作數(shù)少有一個操作數(shù)133. 標(biāo)號、名字n標(biāo)號后有冒號,在指令性語句前;名字后不加標(biāo)號后有冒號,在指令性語句前;名字后不加冒號,在指示性語句前。冒號,在指示性語句前。n英文字母、數(shù)字及專用字符組成英文字母、數(shù)字及專用字符組成, ,最大長度不最大長度不能超過能超過3131個個, ,且不能由數(shù)字打頭且不能由數(shù)字打頭, ,不能用保留字不能用保留字( (如寄存器名如寄存器名, ,指令助記符指令助記
5、符, ,偽指令偽指令) )。 144. 操作數(shù)寄存器寄存器存儲器單元存儲器單元常量常量變量或標(biāo)號變量或標(biāo)號表達(dá)式表達(dá)式15常 量n數(shù)字常量數(shù)字常量n字符串常量字符串常量n例:例:A nMOV AL,An例:例:ABCD匯編時被譯成對應(yīng)的匯編時被譯成對應(yīng)的ASCII碼碼用單引號引起的字符或字符串用單引號引起的字符或字符串16變 量n代表內(nèi)存中的數(shù)據(jù)區(qū),程序中視為存儲器代表內(nèi)存中的數(shù)據(jù)區(qū),程序中視為存儲器操作數(shù)操作數(shù)n變量的屬性:變量的屬性: 變量所在段的段地址變量所在段的段地址 變量單元地址與段首地址之變量單元地址與段首地址之 間的位移量。間的位移量。 字節(jié)型、字型和雙字型字節(jié)型、字型和雙字型段
6、段 值值偏移量偏移量類類 型型17表達(dá)式算術(shù)運算算術(shù)運算邏輯運算邏輯運算*關(guān)系運算關(guān)系運算取值運算和屬性運算取值運算和屬性運算其它運算其它運算18算術(shù)運算和邏輯運算符n算術(shù)運算符算術(shù)運算符n+,-,*,/,MODn邏輯運算符邏輯運算符nAND,OR,NOT,XORn例:例:nMOV AL,8 AND 4nMOV AL,8+4-119取值運算符取得其后變量或標(biāo)號的偏移地址取得其后變量或標(biāo)號的偏移地址取得其后變量或標(biāo)號的段地址取得其后變量或標(biāo)號的段地址TYPE 取取LENGTH 取所定義存儲區(qū)的長度取所定義存儲區(qū)的長度SIZE 取所定義存儲區(qū)的字節(jié)數(shù)取所定義存儲區(qū)的字節(jié)數(shù)n用于分析存儲器操作數(shù)的屬
7、性用于分析存儲器操作數(shù)的屬性n獲取變量的屬性值獲取變量的屬性值OFFSETSEG20取值運算符例 MOV AX,SEG DATA MOV DS,AX MOV BX,OFFSET DATA LEA BX,DATA等價于等價于21取值運算符例n若若BUFFER存儲區(qū)用如下偽指令定義:存儲區(qū)用如下偽指令定義: BUFFER DW 200 DUP(0)BUFFER DW 200 DUP(0) 則:則: TYPETYPE BUFFER BUFFER 等于等于2 2 LENGTH BUFFERLENGTH BUFFER等于等于200200 SIZE BUFFERSIZE BUFFER等于等于4004002
8、2屬性運算符n 用于指定其后存儲器操作數(shù)的類型用于指定其后存儲器操作數(shù)的類型n 運算符:運算符:PTRn 例:例: MOV BYTR PTRBX,12H23其它運算符n方括號:方括號: n段重設(shè)符段重設(shè)符 段寄存器名:段寄存器名: 方括號中內(nèi)容為操作數(shù)的偏移地址方括號中內(nèi)容為操作數(shù)的偏移地址用于修改默認(rèn)的段基地址用于修改默認(rèn)的段基地址244.2 偽指令掌握:掌握:n偽指令的格式及實現(xiàn)的操作偽指令的格式及實現(xiàn)的操作n偽指令的應(yīng)用偽指令的應(yīng)用25偽指令n由匯編程序執(zhí)行的由匯編程序執(zhí)行的“指令系統(tǒng)指令系統(tǒng)”n作用:作用:n定義變量;定義變量;n分配存儲區(qū)分配存儲區(qū)n定義邏輯段;定義邏輯段;n指示程序
9、開始和結(jié)束;指示程序開始和結(jié)束;n定義過程等。定義過程等。26常用偽指令數(shù)據(jù)定義偽指令數(shù)據(jù)定義偽指令符號定義偽指令符號定義偽指令段定義偽指令段定義偽指令結(jié)束偽指令結(jié)束偽指令過程定義偽指令過程定義偽指令宏命令偽指令宏命令偽指令27一、數(shù)據(jù)定義偽指令n用于定義數(shù)據(jù)區(qū)中變量的類型及大小用于定義數(shù)據(jù)區(qū)中變量的類型及大小n格式:格式: 變量名變量名 偽指令助記符偽指令助記符 操作數(shù),操作數(shù), ;注釋注釋符號地址符號地址定義變量類型定義變量類型定義變量值定義變量值及區(qū)域大小及區(qū)域大小281. 數(shù)據(jù)定義偽指令助記符nDB 定義的變量為字節(jié)型定義的變量為字節(jié)型nDW 定義的變量為字類型(雙字節(jié))定義的變量為字
10、類型(雙字節(jié))nDD 定義的變量為雙字型(定義的變量為雙字型(4字節(jié))字節(jié))nDQ 定義的變量為定義的變量為4字型(字型(8字節(jié)字節(jié))nDT 定義的變量為定義的變量為10字節(jié)型字節(jié)型29數(shù)據(jù)定義偽指令例nDATA1 DB 11H,22H,33H,44HnDATA2 DW 11H,22H,3344HnDATA3 DD 11H*2,22H,33445566H以上變量在內(nèi)存以上變量在內(nèi)存中的存放形式中的存放形式30數(shù)據(jù)定義偽指令例_變量在內(nèi)存中的分變量在內(nèi)存中的分布布DATA111223344DATA2224411000033DATA32200220000XX6655443331數(shù)據(jù)定義偽指令的幾點
11、說明n偽指令的性質(zhì)決定所定義變量的類型;偽指令的性質(zhì)決定所定義變量的類型;n定義字符串必須用定義字符串必須用DB偽指令偽指令n例:例: DATA1 DB ABCD,66HABCD41H42H43H44H66H322. 重復(fù)操作符n作用:作用:n為一個數(shù)據(jù)區(qū)的各單元設(shè)置相同的初值為一個數(shù)據(jù)區(qū)的各單元設(shè)置相同的初值n目的:目的:n常用于聲明一個數(shù)據(jù)區(qū)常用于聲明一個數(shù)據(jù)區(qū)n格式:格式: 變量名變量名 偽指令助記符偽指令助記符 n DUP(初值,初值,)n例:例: BW 20 DUP(0)M1 DB 10 DUP(0)333. “?”的作用n表示隨機(jī)值,用于預(yù)留存儲空間表示隨機(jī)值,用于預(yù)留存儲空間nM
12、EM1 DB 34H,A,?,? DW 20 DUP(?)(?)預(yù)留預(yù)留40個字節(jié)單元,每單元為隨機(jī)值個字節(jié)單元,每單元為隨機(jī)值隨機(jī)數(shù)隨機(jī)數(shù)占占1個字節(jié)單元個字節(jié)單元34數(shù)據(jù)定義偽指令例nM1 DB How are you?nM2 DW 3 DUP(11H),3344Hn DB 4 DUP(?)(?)nM3 DB 3 DUP(22H,11H,?),?)變量在內(nèi)存中的分區(qū)變量在內(nèi)存中的分區(qū)35數(shù)據(jù)定義偽指令例M1How aM211H11H00H44H33H r e you?11H00H00H隨機(jī)數(shù)隨機(jī)數(shù)M311H22H11H22H11H22HXXXXXXXXXXXXXX36二、符號定義偽指令n格
13、式:格式: 符號名符號名 EQUEQU 表達(dá)式表達(dá)式n操作:操作: 用符號名取代后邊的表達(dá)式,不可重新定義用符號名取代后邊的表達(dá)式,不可重新定義n例:例: CONSTANTCONSTANTEQUEQU100100 VAR EQU 30H+99HVAR EQU 30H+99HEQU說明的表達(dá)式不占用內(nèi)存空間說明的表達(dá)式不占用內(nèi)存空間37三、段定義偽指令n說明邏輯段的起始和結(jié)束;說明邏輯段的起始和結(jié)束;n說明不同程序模塊中同類邏輯段之間的聯(lián)系形說明不同程序模塊中同類邏輯段之間的聯(lián)系形 態(tài)態(tài)38段定義偽指令格式段名段名 SEGMENT SEGMENT 定位類型定位類型 組合類型組合類型 類別類別 段
14、名段名 ENDSENDS說明邏輯說明邏輯段的起點段的起點說明不同模塊中同名說明不同模塊中同名段的組和連接方式段的組和連接方式39定位類型nPARA: 段的起點從節(jié)邊界開始段的起點從節(jié)邊界開始 (16個字節(jié)為個字節(jié)為1節(jié))節(jié))nBYTE: 段的起點從存儲器任何地址開始段的起點從存儲器任何地址開始nWORD:段的起點從偶地址開始段的起點從偶地址開始nPAGE: 段的起點從頁邊界開始段的起點從頁邊界開始 (256個字節(jié)為個字節(jié)為1頁)頁)40組合類型n與其它模塊中的同名段在滿足定位類型的前提與其它模塊中的同名段在滿足定位類型的前提 下具有的組合方式:下具有的組合方式:nNONE: 不組合不組合nPU
15、BLIC: 依次連接(順序由依次連接(順序由LINK程序確定)程序確定)nCOMMON: 覆蓋連接覆蓋連接nSTACK: 堆棧段的依次連接堆棧段的依次連接nAT 表達(dá)式:段定義在表達(dá)式值為段基的節(jié)邊界表達(dá)式:段定義在表達(dá)式值為段基的節(jié)邊界nMEMORY: 相應(yīng)段在同名段的最高地址處。相應(yīng)段在同名段的最高地址處。41類別n不同模塊連接時將相同類別的段放在連不同模塊連接時將相同類別的段放在連續(xù)的內(nèi)存區(qū)域中續(xù)的內(nèi)存區(qū)域中42段定義偽指令例DATA SEGMENT MEM1 DB 11H,22H MEM2 DB Hello! MEM3 DW 2 DUP(?)(?)DATA ENDS變量在邏輯段變量在邏
16、輯段中的位置就代中的位置就代表了它的偏移表了它的偏移地址地址表示變量所在表示變量所在邏輯段的段地邏輯段的段地址址表示變量的類表示變量的類型型43四、設(shè)定段寄存器偽指令n說明所定義邏輯段的性質(zhì)說明所定義邏輯段的性質(zhì)n格式:格式: ASSUME 段寄存器名段寄存器名:段名段名,段寄存器名,段寄存器名:段名,段名,44五、結(jié)束偽指令n表示源程序結(jié)束表示源程序結(jié)束n格式:格式: END 標(biāo)號標(biāo)號45匯編語言源程序結(jié)構(gòu)數(shù)據(jù)段名數(shù)據(jù)段名 SEGMENT 數(shù)據(jù)段名數(shù)據(jù)段名 ENDS附加段名附加段名 SEGMENT 附加段名附加段名 ENDS堆棧段名堆棧段名 SEGMENT 堆棧段名堆棧段名 ENDS代碼段名
17、代碼段名 SEGMENT 代碼段名代碼段名 ENDS END 46一個完整源程序結(jié)構(gòu)例DSEG SEGMENT DATA1 DB 1,2, 3 DUP(?)(?) DATA2 DW 1234HDSEG ENDSESEG SEGMENT DB 20 DUP(?)(?)ESEG ENDSSSEG SEGMENT STACK STACK DB 200 DUP(?)(?)SSEG ENDS47一個完整源程序結(jié)構(gòu)例 CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG, ES:ESEG,SS:SSEG START:MOV AX,DSEG MOV DS,AX MOV AX,ESEG MO
18、V ES,AX MOV AX,SSEG MOV SS,AX CSEG ENDS END START源程序源程序 代碼代碼段寄存器初始化段寄存器初始化將段地址送將段地址送相應(yīng)的段寄存器相應(yīng)的段寄存器48六、過程定義偽指令n用于定義一個過程體用于定義一個過程體n格式:格式: 過程名過程名 PROC NEAR / FAR RET 過程名過程名 ENDPP157例例過程入口的過程入口的符號地址符號地址過程定義及調(diào)用例n定義延時子程序定義延時子程序 nDELAY PROCn PUSH BXn PUSH CXn MOV BL,2nNEXT: MOV CX,4167nW10M: LOOP W10Mn DEC
19、 BLn JNZ NEXTn POP CXn POP BXn RETnDELAY ENDP49n調(diào)用延時子程序:調(diào)用延時子程序: nCALL DELAY 50七、宏命令偽指令n 源程序中由匯編程序識別的具有獨源程序中由匯編程序識別的具有獨 立功能的一段程序代碼立功能的一段程序代碼n格式:格式: 宏命令名宏命令名 MACRO ENDM宏體宏體宏宏51八、其它偽指令 段內(nèi)程序代碼或變量的起始偏移地址段內(nèi)程序代碼或變量的起始偏移地址n格式:格式: ORG 表達(dá)式表達(dá)式n例:例: ORG 2000H計算值為計算值為非負(fù)常數(shù)非負(fù)常數(shù)ORG52其它偽指令nNAME-為目標(biāo)程序設(shè)定一個名字為目標(biāo)程序設(shè)定一個
20、名字n格式:格式: NAME 模塊名模塊名nTITLE-為程序清單指定打印標(biāo)題為程序清單指定打印標(biāo)題n格式:格式: TITLE 標(biāo)題名標(biāo)題名534.3 功能調(diào)用DOS 功能調(diào)用功能調(diào)用 BIOS功能調(diào)用功能調(diào)用54DOS 功能調(diào)用n包含多個子功能的功能包;包含多個子功能的功能包;n用軟中斷指令調(diào)用,中斷類型碼固定為用軟中斷指令調(diào)用,中斷類型碼固定為21H;n各子功能采用功能號來區(qū)分。各子功能采用功能號來區(qū)分。55DOS 功能調(diào)用設(shè)備設(shè)備管理管理56DOS 功能調(diào)用n調(diào)用格式:調(diào)用格式: MOV AH,功能號功能號 INT 21H57一、單字符輸入n調(diào)用方法:調(diào)用方法: MOV AH,01 IN
21、T 21Hn輸入的字符在輸入的字符在AL中中58單字符輸入例GET_KEY:GET_KEY: MOVMOVAH,1AH,1 INTINT21H21H CMPCMPAL,AL,Y Y JZ JZ YESYES CMP CMPAL,AL,N N JZ JZ NONO JMP JMPGET_KEYGET_KEY YES: YES: NO: NO: 交互式應(yīng)交互式應(yīng) 答程序答程序59二、字符串輸入n注意問題:注意問題:n調(diào)用格式調(diào)用格式n字符輸入緩沖區(qū)的定義字符輸入緩沖區(qū)的定義601. 調(diào)用格式 功能號功能號OAH 字符串在內(nèi)存中的存放地址字符串在內(nèi)存中的存放地址nINT 21Hn AHn DS:DX
22、612. 定義字符緩沖區(qū)n用戶自定義緩沖區(qū)格式:用戶自定義緩沖區(qū)格式:0DHN1N2整個緩沖區(qū)整個緩沖區(qū)最大可鍵入字符數(shù)最大可鍵入字符數(shù)實際鍵入字符數(shù)實際鍵入字符數(shù)存放鍵入的字符存放鍵入的字符存放字符個數(shù):存放字符個數(shù):25562輸入字符串程序段n DAT1 DB 20,?,?,20 DUP(?)(?) n LEA DX,DAT1 MOV AH,0AH INT 21H在數(shù)據(jù)段在數(shù)據(jù)段中定義中定義63輸入緩沖區(qū)14H ?20個字節(jié)個字節(jié)定義后的輸入緩沖定義后的輸入緩沖區(qū)初始狀態(tài):區(qū)初始狀態(tài):64三、單字符顯示輸出 功能號功能號O2H 待輸出字符待輸出字符nINT 21Hn AHn DL65單字符顯示輸出例nMOV
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 明確職業(yè)目標(biāo)的成長路徑計劃
- 生活與事業(yè)雙豐收的秘籍計劃
- 2025年發(fā)動機(jī)基本件:飛輪項目發(fā)展計劃
- 2025年血液凈化產(chǎn)品項目建議書
- 2025年工藝品及其他制造產(chǎn)品項目發(fā)展計劃
- 2025年包裝材料加工機(jī)械項目建議書
- 2025年運動捕捉軟件合作協(xié)議書
- 2025年包裝印刷機(jī)械項目合作計劃書
- 2025年工業(yè)清洗清理設(shè)備:工業(yè)吸塵設(shè)備項目發(fā)展計劃
- 跨區(qū)域業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)換協(xié)調(diào)機(jī)制
- 初二上冊好的數(shù)學(xué)試卷
- 廣東省潮州市2024-2025學(xué)年九年級上學(xué)期期末道德與法治試卷(含答案)
- 2025年職業(yè)衛(wèi)生工作計劃
- 突發(fā)公共衛(wèi)生事件衛(wèi)生應(yīng)急
- 做賬實操-農(nóng)貿(mào)市場的賬務(wù)處理示例
- 余華《活著》解讀課件
- 部編版2024-2025學(xué)年三年級上冊語文期末測試卷(含答案)
- 護(hù)理帶教老師述職報告
- 《中國居民膳食指南》課件
- 門窗安裝施工安全管理方案
- 婦科手術(shù)麻醉
評論
0/150
提交評論