




已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1 第4章匯編語言程序設(shè)計 2 主要內(nèi)容 匯編語言源程序的結(jié)構(gòu)匯編語言語句格式偽指令功能調(diào)用匯編語言程序設(shè)計 3 4 1匯編語言源程序 了解 匯編語言源程序的結(jié)構(gòu)匯編語言語句類型及格式 4 一 匯編語言源程序結(jié)構(gòu) 5 1 匯編語言源程序與匯編程序 匯編語言源程序匯編程序 用助記符編寫 匯編程序 匯編語言源程序 機器語言目標程序 源程序的編譯程序 6 2 匯編語言程序設(shè)計與執(zhí)行過程 輸入?yún)R編語言源程序 EDIT 匯編 MASM 鏈接 LINK 調(diào)試 TD 源文件 ASM 目標文件 OBJ 可執(zhí)行文件 EXE 最終程序 7 3 匯編語言源程序結(jié)構(gòu) 數(shù)據(jù)段名SEGMENT 數(shù)據(jù)段名ENDS附加段名SEGMENT 附加段名ENDS 堆棧段名SEGMENT 堆棧段名ENDS代碼段名SEGMENT 代碼段名ENDSEND 8 二 匯編語言語句類型及格式 9 1 匯編語言語句類型 指令性語句指示性語句 CPU執(zhí)行的語句 能夠生成目標代碼 CPU不執(zhí)行 而由匯編程序執(zhí)行的語句 不生成目標代碼 10 2 匯編語言語句格式 指令性語句 標號 前綴 助記符 操作數(shù) 操作數(shù) 注釋 指令的符號地址標號后要有冒號 操作碼 注釋前加分號 11 指示性語句格式 名字 偽指令助記符操作數(shù) 操作數(shù) 注釋 變量的符號地址其后不加冒號 指示性語句中至少有一個操作數(shù) 12 3 標號 名字 標號后有冒號 在指令性語句前 名字后不加冒號 在指示性語句前 英文字母 數(shù)字及專用字符組成 最大長度不能超過31個 且不能由數(shù)字打頭 不能用保留字 如寄存器名 指令助記符 偽指令 13 4 操作碼 指令碼偽指令助記符指示匯編程序要完成的操作 作用 定義變量分配存儲單元指示程序開始和結(jié)束等 命令CPU要完成的操作 14 5 注釋 用分號作為注釋的開始 用于說明程序或語句的功能 以便于閱讀和理解 15 6 操作數(shù) 寄存器存儲器單元常量變量或標號表達式 16 常量 數(shù)字常量字符串常量例 A MOVAL A 例 ABCD 匯編時被譯成對應(yīng)的ASCII碼41H 42H 43H 44H 用單引號引起的字符或字符串 17 變量 代表內(nèi)存中的數(shù)據(jù)區(qū) 程序中視為存儲器操作數(shù)變量的屬性 變量所在段的段地址變量單元地址與段首地址之間的位移量 字節(jié)型 字型和雙字型 段值 偏移量 類型 18 表達式 算術(shù)運算邏輯運算關(guān)系運算取值運算和屬性運算其它運算 19 算術(shù)運算和邏輯運算符 算術(shù)運算符 MOD邏輯運算符AND OR NOT XOR例 MOVAL 8AND4MOVAL 8 4 1 20 關(guān)系運算符 表示關(guān)系是否成立的運算符參與關(guān)系運算的必須是兩個數(shù)值關(guān)系成立 結(jié)果 FFFFH關(guān)系不成立 結(jié)果 0 運算符 EQ NE LT GT LE GE 例 MOVAL 3LT4 21 取值運算符 取得其后變量或標號的偏移地址取得其后變量或標號的段地址 TYPE取變量的類型LENGTH取所定義存儲區(qū)的長度SIZE取所定義存儲區(qū)的字節(jié)數(shù) 用于分析存儲器操作數(shù)的屬性 OFFSET SEG 22 取值運算符例 MOVAX SEGDATAMOVDS AXMOVBX OFFSETDATALEABX DATA 等價于 23 取值運算符例 若BUFFER存儲區(qū)用如下偽指令定義 BUFFERDW200DUP 0 則 TYPEBUFFER等于2LENGTHBUFFER等于200SIZEBUFFER等于400 24 屬性運算符 用于指定其后存儲器操作數(shù)的類型運算符 PTR例 MOVBYTRPTR BX 12H 25 其它運算符 方括號 段重設(shè)符段寄存器名 方括號中內(nèi)容為操作數(shù)的偏移地址 用于修改默認的段基地址 26 4 2偽指令 掌握 偽指令的格式及實現(xiàn)的操作偽指令的應(yīng)用 27 偽指令 由匯編程序執(zhí)行的 指令系統(tǒng) 作用 定義變量 分配存儲區(qū)定義邏輯段 指示程序開始和結(jié)束 定義過程等 28 常用偽指令 數(shù)據(jù)定義偽指令符號定義偽指令段定義偽指令結(jié)束偽指令過程定義偽指令宏命令偽指令 29 一 數(shù)據(jù)定義偽指令 用于定義數(shù)據(jù)區(qū)中變量的類型及大小格式 變量名 偽指令助記符操作數(shù) 注釋 表示符號地址 定義變量類型 定義變量值及區(qū)域大小 30 1 數(shù)據(jù)定義偽指令助記符 DB定義的變量為字節(jié)型DW定義的變量為字類型 雙字節(jié) DD定義的變量為雙字型 4字節(jié) DQ定義的變量為4字型 8字節(jié) DT定義的變量為10字節(jié)型 31 數(shù)據(jù)定義偽指令例 DATA1DB11H 22H 33H 44HDATA2DW11H 22H 3344HDATA3DD11H 2 22H 33445566H 以上變量在內(nèi)存中的存放形式 32 數(shù)據(jù)定義偽指令的幾點說明 偽指令的性質(zhì)決定所定義變量的屬性 定義字符串必須用DB偽指令例 DATA1DB ABCD 66H A B C D 41H 42H 43H 44H 66H 33 2 重復(fù)操作符 作用 為一個數(shù)據(jù)區(qū)的各單元設(shè)置相同的初值目的 常用于聲明一個數(shù)據(jù)區(qū)格式 變量名 偽指令助記符nDUP 初值 例 BW20DUP 0 34 3 的作用 表示隨機值 用于預(yù)留存儲空間MEM1DB34H A DW20DUP 預(yù)留40個字節(jié)單元 每單元為隨機值 隨機數(shù)占1個字節(jié)單元 35 數(shù)據(jù)定義偽指令例 M1DB Howareyou M2DW3DUP 11H 3344HDB4DUP M3DB3DUP 22H 11H 變量在內(nèi)存中的分區(qū) 36 數(shù)據(jù)定義偽指令例 M1 H o w a M2 11H 11H 00H 44H 33H r e y o u 11H 00H 00H 隨機數(shù) M3 11H 22H 11H 22H 11H 22H XX XX XX XX XX XX XX 37 二 符號定義偽指令 格式 符號名EQU表達式操作 用符號名取代后邊的表達式 不可重新定義例 CONSTANTEQU100VAREQU30H 99H EQU說明的表達式不占用內(nèi)存空間 38 三 段定義偽指令 說明邏輯段的起始和結(jié)束 說明不同程序模塊中同類邏輯段之間的聯(lián)系形態(tài) 39 段定義偽指令格式 段名SEGMENT 定位類型 組合類型 類別 段名ENDS 說明邏輯段的起點 說明不同模塊中同名段的組和連接方式 40 定位類型 PARA 段的起點從節(jié)邊界開始 16個字節(jié)為1節(jié) BYTE 段的起點從存儲器任何地址開始WORD 段的起點從偶地址開始PAGE 段的起點從頁邊界開始 256個字節(jié)為1頁 41 組合類型 與其它模塊中的同名段在滿足定位類型的前提下具有的組合方式 NONE 不組合PUBLIC 依次連接 順序由LINK程序確定 COMMON 覆蓋連接STACK 堆棧段的依次連接AT表達式 段定義在表達式值為段基的節(jié)邊界MEMORY 相應(yīng)段在同名段的最高地址處 42 類別 不同模塊連接時將相同類別的段放在連續(xù)的內(nèi)存區(qū)域中 43 段定義偽指令例 DATASEGMENTPUBLIC CODE MEM1DB11H 22HDATAENDS 44 四 設(shè)定段寄存器偽指令 說明所定義邏輯段的性質(zhì)格式 ASSUME段寄存器名 段名 段寄存器名 段名 45 五 結(jié)束偽指令 表示源程序結(jié)束格式 END 標號 46 一個完整源程序結(jié)構(gòu)例 DSEGSEGMENTDATA1DB1 2 DATA2DW1234HDSEGENDSESEGSEGMENTDB20DUP ESEGENDSSSEGSEGMENTSTACK STACK DB200DUP SSEGENDS 47 一個完整源程序結(jié)構(gòu)例 CSEGSEGMENTASSUMECS CSEG DS DSEG ES ESEG SS SSEGSTART MOVAX DSEGMOVDS AXMOVAX ESEGMOVES AXMOVAX SSEGMOVSS AX CSEGENDSENDSTART 源程序代碼 48 六 過程定義偽指令 用于定義一個過程體格式 過程名PROC NEAR FAR RET過程名ENDP P162例 過程入口的符號地址 49 七 宏命令偽指令 源程序中由匯編程序識別的具有獨立功能的一段程序代碼格式 宏命令名MACRO ENDM 宏體 P163例 宏 50 八 其它偽指令 段內(nèi)程序代碼或變量的起始偏移地址格式 ORG表達式例 ORG2000H 計算值為非負常數(shù) ORG 51 其它偽指令 NAME 為目標程序設(shè)定一個名字格式 NAME模塊名TITLE 為程序清單指定打印標題格式 TITLE標題名 可以缺省 52 4 3功能調(diào)用 DOS功能調(diào)用BIOS功能調(diào)用 53 DOS功能調(diào)用 包含多個子功能的功能包 用軟中斷指令調(diào)用 中斷類型碼固定為21H 各子功能采用功能號來區(qū)分 附錄D 54 DOS功能調(diào)用 設(shè)備管理目錄管理文件管理其它 55 DOS功能調(diào)用 調(diào)用格式 MOVAH 功能號INT21H 56 一 單字符輸入 調(diào)用方法 MOVAH 01INT21H輸入的字符在AL中 57 單字符輸入例 GET KEY MOVAH 1INT21HCMPAL Y JZYESCMPAL N JZNOJNZGET KEYYES NO 交互式應(yīng)答程序 58 二 字符串輸入 注意問題 調(diào)用格式字符輸入緩沖區(qū)的定義 59 1 調(diào)用格式 功能號OAH字符串在內(nèi)存中的存放地址INT21H AH DS DX 60 2 定義字符緩沖區(qū) 用戶自定義緩沖區(qū)格式 0DH N1 N2 整個緩沖區(qū) 最大可鍵入字符數(shù) 實際鍵入字符數(shù) 存放鍵入的字符 存放字符個數(shù) 65533 61 輸入字符串程序段 DAT1DB20 20DUP LEADX DAT1MOVAH 0AHINT21H 在數(shù)據(jù)段中定義 62 輸入緩沖區(qū) 14H 20個字節(jié) 定義后的輸入緩沖區(qū)初始狀態(tài) 63 三 單字符顯示輸出 功能號O2H待輸出字符INT21H AH DL 64 單字符顯示輸出例 MOVAH 02MOVDL 41HINT21H 執(zhí)行結(jié)果 屏幕顯示A 65 四 字符串輸出顯示 功能號O9H待輸出字符串的偏移地址INT21H AH DS DX 66 字符串輸出顯示 被顯示的字符串必須以 結(jié)束 且所顯示的內(nèi)容不應(yīng)出現(xiàn)非可見的ASCII碼 67 字符串輸出顯示例 DATASEGMENTMESS1DB InputString 0DH 0AH DATAENDSCODESEGMENT MOVAH 09MOVDX OFFSETMESS1INT21H 68 4 4匯編語言程序設(shè)計 設(shè)計步驟 根據(jù)實際問題抽象出數(shù)學(xué)模型確定算法畫程序流程圖
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 運動防護用具的環(huán)??沙掷m(xù)發(fā)展戰(zhàn)略考核試卷
- 文化藝術(shù)產(chǎn)業(yè)的國際競爭力分析考核試卷
- 珠寶首飾設(shè)計與消費者互動體驗考核試卷
- 計量技術(shù)在汽車行業(yè)的應(yīng)用考核試卷
- 橡膠板在防塵口罩密封材料中的應(yīng)用考核試卷
- 計量檢測在科研領(lǐng)域的應(yīng)用考試考核試卷
- 糕點店品牌故事與文化建設(shè)考核試卷
- 耳部微波治療技術(shù)解析
- 醫(yī)學(xué)檢驗畢業(yè)就業(yè)去向分析
- 影視作品音樂版權(quán)授權(quán)與版權(quán)保護及合作開發(fā)及廣告合作合同
- 紅金大氣商務(wù)風(fēng)領(lǐng)導(dǎo)歡迎會PPT通用模板
- 最新高考前20天勵志主題班會課件
- 《現(xiàn)代管理學(xué)》全套課件
- 地下水環(huán)境影響評價工作分級與技術(shù)要求
- DB64-T 1686-2020 風(fēng)電場專業(yè)氣象服務(wù)規(guī)程-(高清可復(fù)制)
- 動物生物技術(shù)(課件)
- 個人有關(guān)事項報告表(全)
- 南昌航空大學(xué)?;招?/a>
- 廣東省中山市2021-2022學(xué)年八年級下學(xué)期期末水平測試道德與法治試卷
- 飼料學(xué)第五章粗飼料課件
- 語文老師家長會PPT
評論
0/150
提交評論