第4章 匯編語言程序設計(I)_第1頁
第4章 匯編語言程序設計(I)_第2頁
第4章 匯編語言程序設計(I)_第3頁
第4章 匯編語言程序設計(I)_第4頁
第4章 匯編語言程序設計(I)_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、曹榮敏rongmin_rongmin_微機原理與接口技術微機原理與接口技術第4章 匯編語言程序設計(I)2022-2-52/36本章學習要求本章學習要求n了解匯編語言的特點了解匯編語言的特點n熟悉匯編語言源程序的格式熟悉匯編語言源程序的格式n掌握常用偽指令掌握常用偽指令n掌握匯編語言程序設計的基本方法掌握匯編語言程序設計的基本方法n熟悉熟悉DOS功能調用方法功能調用方法2022-2-53/36計算機語言計算機語言基本語句、程序格式基本語句、程序格式磚磚 沙沙 石石 木材木材程序設計方法程序設計方法建筑設計師建筑設計師 工人工人4-1 匯編語言概述匯編語言概述2022-2-54/36Assemb

2、le Languagen一種面向機器的程序設計語言,是一種用一種面向機器的程序設計語言,是一種用符號表示的低級程序設計語言符號表示的低級程序設計語言(機器語言(機器語言的符號化描述)的符號化描述),通常是為特定計算機或,通常是為特定計算機或計算機系列專門設計的。計算機系列專門設計的。n是與硬件緊密相關的,不同是與硬件緊密相關的,不同CPU的機器有的機器有不同的匯編語言。不同的匯編語言。2022-2-55/36Assemble Languagen用匯編語言編寫的程用匯編語言編寫的程序不能由機器直接執序不能由機器直接執行,而必須經匯編程行,而必須經匯編程序翻譯成機器語言程序翻譯成機器語言程序。匯編

3、語言指令與序。匯編語言指令與翻譯成的匯編過程示翻譯成的匯編過程示意:意:2022-2-56/36采用匯編語言進行程序設計的采用匯編語言進行程序設計的缺點缺點n編程效率低(與人們描述計算過程的需要編程效率低(與人們描述計算過程的需要差距大)差距大)n與機器硬件的具體結構聯系過于緊密與機器硬件的具體結構聯系過于緊密在一種結構的機器上開發的程序極難移在一種結構的機器上開發的程序極難移植到另一種不同結構的機器上去。植到另一種不同結構的機器上去。2022-2-57/36采用匯編語言進行程序設計的優點采用匯編語言進行程序設計的優點n可充分利用機器的硬件功能和結構特點,可充分利用機器的硬件功能和結構特點,加

4、快程序的執行速度,減少目標程序所占加快程序的執行速度,減少目標程序所占用的存儲空間用的存儲空間n常用來編寫常用來編寫實時控制程序、實時通信程序實時控制程序、實時通信程序,有時也用來編制某些系統軟件程序。有時也用來編制某些系統軟件程序。2022-2-58/36匯編語言程序的建立及匯編過程匯編語言程序的建立及匯編過程編輯程序Prog.asm文件匯編程序Prog.obj文件連接程序Prog.exe文件Edit.exeMasm.exeLink.exe2022-2-59/36匯編程序匯編程序n匯編程序分兩種:匯編程序分兩種:n一種是基本匯編(一種是基本匯編(ASM.EXE),),n一種是宏匯編(一種是宏

5、匯編(MASM.EXE),宏匯編功),宏匯編功能比較強,支持對宏的匯編。能比較強,支持對宏的匯編。2022-2-510/361.檢查源程序;檢查源程序;2.測出源程序中的語法錯誤,并給出出錯信息;測出源程序中的語法錯誤,并給出出錯信息;3.產生產生目標文件(目標文件(.OBJ),并可給出并可給出列表文件列表文件(同時列出匯編語言源程序(同時列出匯編語言源程序和機器語言目標程序的文件,稱之為和機器語言目標程序的文件,稱之為.LST文件文件)和)和交叉索引文件交叉索引文件(列出(列出程序中使用的符號、變量和標號以及引用情況,稱之為程序中使用的符號、變量和標號以及引用情況,稱之為.CRF文件文件)。

6、)。4.展開宏指令。展開宏指令。匯編程序匯編程序調用 MASM.EXE.ASM匯編.OBJ.LST.CRF可選2022-2-511/36連接程序連接程序n匯編之后生成的匯編之后生成的OBJ文件必須經過文件必須經過鏈接過程鏈接過程,才能成為擴展名,才能成為擴展名.EXE的可執行文件。的可執行文件。n鏈接的過程就是調用鏈接的過程就是調用連接程序(連接程序(LINK.EXE),對,對OBJ文件進行文件進行定位、定位、鏈接鏈接,最后生成擴展名為,最后生成擴展名為EXE的可執行文件。如果需要,也可生成的可執行文件。如果需要,也可生成MAP文件和文件和LIB文件文件。調用LINK.EXE.OBJ.OBJ.

7、LIB連接.EXE.MAP.LIB可選2022-2-512/36匯編語言程序設計匯編語言程序設計程序框架程序框架微機原理與應用微機原理與應用2022-2-513/364-2 匯編語言程序格式匯編語言程序格式n指令性語句指令性語句與機器指令相對應,匯編程序可與機器指令相對應,匯編程序可將它翻譯成目標代碼(機器指令代碼)。將它翻譯成目標代碼(機器指令代碼)。n偽指令語句偽指令語句沒有對應的機器指令,匯編程序沒有對應的機器指令,匯編程序匯編源程序時對微指令進行處理,它可完成匯編源程序時對微指令進行處理,它可完成數據定義、存儲區分配、段定義、段分配、數據定義、存儲區分配、段定義、段分配、只是程序結束等

8、功能。只是程序結束等功能。2022-2-514/36一一 指令性語句和偽指令性語句指令性語句和偽指令性語句標號:標號:指令助記符指令助記符操作數,操作數操作數,操作數;注釋;注釋n標號表示本指令語句的符號地址,標號后面標號表示本指令語句的符號地址,標號后面必須緊跟必須緊跟冒號冒號“:”n指令助記符是該語句的指令名稱的代表符號,它指出指令的操作類型,指令助記符是該語句的指令名稱的代表符號,它指出指令的操作類型,匯編程序將其翻譯成機器指令。不可省略。匯編程序將其翻譯成機器指令。不可省略。n操作數表示參加本指令運算的數據,操作數可以是常數、變量、標號、操作數表示參加本指令運算的數據,操作數可以是常數

9、、變量、標號、寄存器名或表達式。寄存器名或表達式。n注釋用來說明指令或程序的功能。注釋前須加上分號注釋用來說明指令或程序的功能。注釋前須加上分號“;”。名字名字偽指令助記符偽指令助記符操作數,操作數操作數,操作數;注釋;注釋n名字是給偽指令取的名稱,名字后面名字是給偽指令取的名稱,名字后面不允許帶不允許帶冒號冒號“:”,通常是變量,通常是變量名、段名、過程名、符號名等。名、段名、過程名、符號名等。n偽指令助記符是匯編程序偽指令助記符是匯編程序MASM規定的符號,常用的有變量定義語句規定的符號,常用的有變量定義語句(DB、DW),段定義語句、段分配語句等。),段定義語句、段分配語句等。n操作數是

10、由偽指令具體要求定的,操作數可以是常數、變量、標號、操作數是由偽指令具體要求定的,操作數可以是常數、變量、標號、寄存器名或表達式。寄存器名或表達式。2022-2-515/36二二 數據項數據項n常數常數n常數必須是固定值,沒有屬性,為確定數據。常數必須是固定值,沒有屬性,為確定數據。n不同進制數的表示,結尾字母不同不同進制數的表示,結尾字母不同nB二進制二進制D(或省略)(或省略) 十進制十進制nQ(O)八進制八進制H十六進制十六進制n十六進制字母開頭的數,前面必須加十六進制字母開頭的數,前面必須加 0n用字符串表示時,用單引號用字符串表示時,用單引號 括起來括起來,機內機內存放的是存放的是A

11、SCII碼。碼。ABC 12*56 $2022-2-516/36二二 數據項數據項n變量變量通常指存放在存儲單元中的值,在程序運行中通常指存放在存儲單元中的值,在程序運行中是可以修改的。三個主要屬性和兩個輔助屬性:是可以修改的。三個主要屬性和兩個輔助屬性:1.段值(段值(SEGMENT):指變量所在的段的地址指變量所在的段的地址2.段內偏移地址(段內偏移地址(OFFSET):指變量所在地址與所在段):指變量所在地址與所在段首址之間的地址偏移字節數。首址之間的地址偏移字節數。3.類型(類型(TYPE):變量的類型屬性指變量中每個元素所):變量的類型屬性指變量中每個元素所包含的字節數,如包含的字節

12、數,如 字節變量(字節變量(BYTE),字變量),字變量(WORD),雙字變量(),雙字變量(DWORD)等。)等。4.長度(長度(LENGTH):變量中含有):變量中含有DUP時,返回該變量時,返回該變量所包含的單元數,否則返回所包含的單元數,否則返回15.大小(大小(SIZE):返回該變量包含的總字節數):返回該變量包含的總字節數,為為LENGTHTYPE(P130)2022-2-517/36二二 數據項數據項n標號標號是可執行指令語句的地址的符號表示,他可作為轉移是可執行指令語句的地址的符號表示,他可作為轉移指令和調用指令指令和調用指令CALL的目的操作數,以確定程序轉向的目的目的操作數

13、,以確定程序轉向的目標地址。標地址。n標號可使用的字符為標號可使用的字符為 字母、數字、某些特殊字符(字母、數字、某些特殊字符(!?)n屬性:屬性:n段值(段值(SEGMENT):標號所在的段的段基址):標號所在的段的段基址n段內偏移地址(段內偏移地址(OFFSET):標號所在地址與所在段):標號所在地址與所在段的段首址之間的偏移地址字節數。的段首址之間的偏移地址字節數。n類型(類型(TYPE):在轉移指令中標號可轉移的距離,):在轉移指令中標號可轉移的距離,也稱距離屬性。也稱距離屬性。nNEAR近標號,只能實現本代碼段內轉移或調用nFAR遠標號,可實現段間轉移或調用2022-2-518/36

14、4-3 MASM中的表達式中的表達式微機原理與應用微機原理與應用2022-2-519/36Exercisesn寫出下列程序段中每個符號所對應的值寫出下列程序段中每個符號所對應的值MAXEQU0FFFH)VAL1EQUMAX MOD 10H(模除,結果是余模除,結果是余數數VAL2EQUVAL1*2A1DB20H, 30HMOVAH, TYPE A1MOVCL, LENGTH A1MOVAL, SIZE A1MOVBL, 8CH AND 73HMOVCH, 8CH XOR 73H2022-2-520/36AnswersMAXEQU0FFFH (4095 VAL1EQUMAX MOD 10HVAL

15、2EQUVAL1*2(30)A1DB20H, 30HMOVAH, TYPE A1MOVCL, LENGTH A1MOVAL, SIZE A1MOVBL, 8CH AND 73HMOVCH, 8CH XOR 73H0FFFH000FH001EH11TYPE*LENGTH=100FFH2022-2-521/364-4 4-4 偽指令語句偽指令語句微機原理與應用微機原理與應用2022-2-522/364-4 4-4 偽指令語句偽指令語句n偽指令語句沒有對應的機器代碼,是由偽指令語句沒有對應的機器代碼,是由MASM匯編程序對源程序匯編期間進行處理的。匯編程序對源程序匯編期間進行處理的。n數據定義語句數

16、據定義語句DB,DW,DD,DQ,DTn標號賦值語句標號賦值語句EQU,=n段定義語句段定義語句SEGMETNENDn段分配語句段分配語句ASSUMEn過程定義語句過程定義語句PROCENDPn程序開始結束語句程序開始結束語句ORG, END, NAMEn2022-2-523/364-4 4-4 偽指令語句偽指令語句n數據定義語句數據定義語句格式一格式一:變量名:變量名 助記符助記符 操作數,操作數操作數,操作數 ;注釋注釋格式二格式二:變量名:變量名 助記符助記符 n DUP(操作數,操作數);注釋(操作數,操作數);注釋功能:將操作數存入變量名指定的存儲單元中,或只分配存儲空間功能:將操作

17、數存入變量名指定的存儲單元中,或只分配存儲空間不存入數據。不存入數據。n助記符有助記符有DBDWDDDQDTn操作數可為常數,字符串,變量,標號,表達式等。操作數可為常數,字符串,變量,標號,表達式等。n格式二中,格式二中,n為正整數。為正整數。注意:用注意:用DW定義字符串時,只允許包括兩個字符,多于兩個字符定義字符串時,只允許包括兩個字符,多于兩個字符時,只能用時,只能用DB定義。定義。2022-2-524/364-4 4-4 偽指令語句偽指令語句n閱讀教材閱讀教材P135-137 ,例,例4-204-23回答問回答問題:題:nQuestion1:字和字節的在存儲器里面存儲的地址順序:字和

18、字節的在存儲器里面存儲的地址順序有什么不同之處有什么不同之處D1DW1122HD2DB11H,22HnQuestion2:如何用數據定義語句定義一個字符串:如何用數據定義語句定義一個字符串如定義如定義 Str1為為 Hello World! nQuestion3:?用來表示不確定值的變量,如何確定用來表示不確定值的變量,如何確定保留的存儲空間大小保留的存儲空間大小M1 DB ?M2 DW 0D55H,?2022-2-525/364-5 4-5 DOSDOS系統功能調用系統功能調用和和BIOSBIOS中斷調用中斷調用微機原理與應用微機原理與應用2022-2-526/36n微型計算機的硬件環境必須

19、在操作系統的管理下,微型計算機的硬件環境必須在操作系統的管理下,才能進行工作。才能進行工作。nDOS是用戶和是用戶和PC機之間的接口,負責機之間的接口,負責I/O設備管設備管理,磁盤文件管理等,理,磁盤文件管理等,DOS的大部分命令以及用的大部分命令以及用戶的應用程序都將通過軟件中斷進行調用。戶的應用程序都將通過軟件中斷進行調用。n學習一種方法,培養一種能力學習一種方法,培養一種能力nDOS操作系統管理和應用外設的方法,建立接口的觀念操作系統管理和應用外設的方法,建立接口的觀念n加深理解查詢方式和中斷方式加深理解查詢方式和中斷方式n會看懂命令列表,能舉一反三會看懂命令列表,能舉一反三nDOS常用的軟中斷命令見教材常用的軟中斷命令見教材 P154 表表4-64-5 DOS4-5 DOS系統功能調用和系統功能調用和BIOSBIOS中斷調用中斷調用2022-2-527/364-5 DOS4-5 DOS系統功能調用和系統功能調用和BIOSBIOS中斷調用中斷調用n駐留在駐留在ROM中的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論