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

下載本文檔

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

文檔簡(jiǎn)介

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論