微機原理 宋志平 第四章 課件.ppt_第1頁
微機原理 宋志平 第四章 課件.ppt_第2頁
微機原理 宋志平 第四章 課件.ppt_第3頁
微機原理 宋志平 第四章 課件.ppt_第4頁
微機原理 宋志平 第四章 課件.ppt_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第四章匯編語言程序設計 主要內(nèi)容 幾個基本概念匯編語言程序的組成元素MASM中的表達式常用偽指令功能調(diào)用匯編語言程序設計 幾個概念 匯編語言匯編語言源程序匯編匯編程序 4 1匯編語言程序的組成元素 1 匯編語言語句類型 指示性語句 標號 名字 標號后有冒號 在指令性語句前 名字后不加冒號 在指示性語句前 英文字母 數(shù)字及專用字符組成 最大長度不能超過31個 且不能由數(shù)字打頭 不能用保留字 如寄存器名 指令助記符 偽指令 2 匯編語言中的數(shù)據(jù)項 常數(shù) 確定的數(shù)據(jù) 無屬性 變量 存放在存儲單元中的值 有段值 偏移地址和類型三個屬性 標號 可執(zhí)行指令語句的地址的符號表示 有段值 偏移地址和類型 近 遠 三個屬性 4 2MASM中的表達式 匯編程序可以識別的能夠在指令和為指令中出現(xiàn)的運算對象及運算符 1 算術(shù)運算和邏輯運算符 算術(shù)運算符 MOD邏輯運算符AND OR NOT XOR例 MOVAL 8AND4MOVAL 8 4 1 2 關(guān)系運算符 參與關(guān)系運算的必須是兩個數(shù)值 關(guān)系不成立 結(jié)果為0 關(guān)系成立 結(jié)果為FFFFH EQNELTGTLEGE 3 數(shù)值返回運算符 取值運算符用于分析存儲器操作數(shù)的屬性 取值運算符例 MOVAX SEGDATAMOVDS AXMOVBX OFFSETDATALEABX DATA 等價于 取值運算符例 若BUFFER存儲區(qū)是用如下偽指令定義 BUFFERDW200DUP 0 則 TYPEBUFFER等于2LENGTHBUFFER等于200SIZEBUFFER等于400 4 屬性運算符 屬性運算符PTR用于指定其后存儲器操作數(shù)的類型例 MOVBYTEPTR BX 12H 5 其它運算符 等 6 運算符的優(yōu)先級次序 4 3常用偽指令 由匯編程序執(zhí)行的 指令系統(tǒng) 用于定義變量 分配存儲區(qū) 定義邏輯段 指示程序開始和結(jié)束等 常用偽指令 1 數(shù)據(jù)定義偽指令 用于定義數(shù)據(jù)區(qū)中變量的類型格式 變量名偽指令助記符操作數(shù) 注釋 某些情況下可省略 可選 數(shù)據(jù)定義偽指令助記符DB定義的變量為字節(jié)型DW定義的變量為字類型 雙字節(jié) DD定義的變量為雙字型 4字節(jié) DQ定義的變量為4字型 8字節(jié) DT定義的變量為10字節(jié)型 數(shù)據(jù)定義偽指令例 DATA1DB11H 22H 33H 44HDATA2DW11H 22H 3344HDATA3DD11H 2 22H 33445566H 重復操作符 為一個數(shù)據(jù)區(qū)的各單元設置相同的初值格式 變量名 偽指令助記符nDUP 初值 例 DW20DUP 0 DB3DUP 22H 11H 隨機數(shù) 用 預留存儲空間 MEM1DB34H A DW20DUP 預留40個字節(jié)單元 2 符號定義偽指令 格式 符號名EQU表達式操作 用符號名取代后邊的表達式 不可重新定義例 CONSTANTEQU100VAREQU30H 99H EQU說明的表達式不占用內(nèi)存空間 3 段定義偽指令 段定義語句格式 段名SEGMENT 定位類型 組合類型 類別 段名ENDS只需要掌握段名SEGMENT 段名ENDS 段定義偽指令例 DATASEGMENTMEM1DB11H 22HDATAENDS 段分配語句 格式 ASSUME段寄存器名 段名 段寄存器名 段名 4 結(jié)束偽指令 格式 END 標號 5 過程定義偽指令 6 其它偽指令 ORG 段內(nèi)程序代碼或變量的起始偏移地址格式 ORG表達式例 ORG2000H 計算值為非負常數(shù) 4 4功能調(diào)用 DOS功能調(diào)用高級調(diào)用 操作系統(tǒng)提供BIOS功能調(diào)用低級調(diào)用 DOS系統(tǒng)功能調(diào)用 包含多個子功能的功能包 用軟中斷指令調(diào)用 中斷類型碼固定為21H 各子功能采用功能號來區(qū)分 DOS系統(tǒng)功能調(diào)用主要功能 DOS系統(tǒng)功能調(diào)用步驟 1 MOVAH 功能號 2 3 INT21H 1 從鍵盤輸入單字符并顯示 調(diào)用方法 MOVAH 01INT21H輸入的字符在AL中 單字符輸入例 GET KEY MOVAH 1INT21HCMPAL Y JZYESCMPAL N JZNOJNZGET KEYYES NO 交互式應答程序 2 從鍵盤輸入字符串 AH功能號OAHDS DX字符串在內(nèi)存中的存放地址INT21H 定義字符緩沖區(qū) 輸入字符串程序段 DAT1DB20 20DUP LEADX DAT1MOVAH 0AHINT21H 在數(shù)據(jù)段中定義 輸入緩沖區(qū) 14H 20個字節(jié) 定義后的輸入緩沖區(qū)初始狀態(tài) 3 單字符顯示輸出 單字符顯示輸出例 MOVAH 02MOVDL 41HINT21H 執(zhí)行結(jié)果 屏幕顯示A 4 字符串輸出顯示 字符串輸出顯示 被顯示的字符串必須以 結(jié)束 且所顯示的內(nèi)容不應出現(xiàn)非可見的ASCII碼 字符串輸出顯示例 DATASEGMENTMESS1DB InputString 0DH 0AH DATAENDSCODESEGMENT MOVAH 09MOVDX OFFSETMESS1INT21H 4 5匯編語言程序設計 設計步驟 根

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論