




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第四章 8086匯編語言程序設(shè)計幾個概念8086匯編語言的語句8086匯編中的偽指令8086匯編中的運算符匯編語言程序設(shè)計宏定義與宏調(diào)用系統(tǒng)調(diào)用幾個概念匯編語言匯編語言源程序匯編匯編程序41 8086匯編語言的語句 匯編語言由指令性語句和指令性語句組成一、指令性語句格式 標號: 操作碼 操作數(shù)1, 操作數(shù)2 ;注釋二、指示性語句格式標識符(名字) 指示符(偽指令) 表達式 三、有關(guān)屬性 存儲器操作數(shù)的屬性有三種:段值、段內(nèi)偏移量和類型。42 8086匯編中的偽指令一、 符號定義語句 1、等值語句 格式:符號名 EQU 表達式例: PORT EQU 1234 BUFF EQU PORT58 ME
2、M EQU DS:BP20H COUNT EQU CX ABC EQU AAA2、等號語句 格式: NUM34 NUM341二、變量定義語句 格式: 符號名 DB/DW/DD 表達式1、定義一組數(shù)據(jù) 例1: BUFF DW 1234H, 0ABCDH, 8EH DW 79DH, 7B6AH2、定義一串字符例2: STR DB Welcome !3、定義保留存儲單元 例3: SUM DW ? ,?4、復制操作復制操作符DUP(Duplication)可預置重復的數(shù)值例4: ALL_ZERO DB 0,0,0,0,0用復制操作可改為:ALL_ZERO DB 5 DUP(0)5、將已定義的地址存入內(nèi)
3、存單元 例5: LIT DD CYC CYC: MOV AX , BX三、段定義語句1、 段定義語句格式: 段名 SEGMENT 定位類型 組合類型 類別 段名 ENDS只需要掌握 段名 SEGMENT 段名 ENDS2、段假設(shè)語句ASSUME 段寄存器名:段名,3、ORG偽指令、地址計數(shù)器 $ORG偽指令格式: ORG 4、END 表示源代碼結(jié)束 格式為: END 常數(shù)或表達式. 四、過程定義語句 過程名 PROC NEAR/FAR RET 過程名 ENDP43 8086匯編中的運算符 一、常用運算符1、算術(shù)運算符 (加)、(減)、*(乘)、/(除)、MOD(求余)。2、邏輯運算符 AND、
4、OR、XOR、NOT 3、關(guān)系運算符 EQ(相等)、NE(不等、) LT(小于)、GT(大于)、 LE(小于等于)、GE(大于等于)。 關(guān)系成立,全1關(guān)系不成立,全0 例: MOV DL , 10H LT 16 MOV DL,0 例: AND AX , 555 GT 222 AND AX,0FFFFH 二、 常用的操作符4、分析操作符1)SEG操作符例: MOV AX , SEG BUFF2)OFFSET操作符 例:MOV BX , OFFSET BUFF3)TYPE操作符 對于變量有3種: 1 字節(jié)型; 2 字型; 4 雙字型; 對于標號有2種:1 NEAR(段內(nèi)), 2 FAR(段間)。例
5、: BUFF DB 20H MOV BX ,TYPE BUFF MOV BX,014)LENGTH操作符5)SIZE操作符 SIZETYPELENGTH 例:BUFF DB 10DIP(?) MOV CX,LENGTH BUF MOV CX,10 MOV CX,SIZE BUF MOV CX,205、綜合運算符(合成操作符)功能:1、由已有的操作數(shù)建立新的操作數(shù);2、新操作數(shù)和已有的操作數(shù)類型不一樣1)PTR運算符格式: 類型 PTR 表達式例:INC WORD PTR BX wxdw 1234hmov al, byte ptr wxmov ah, byte ptr wx+12)THIS操作符
6、格式: THIS 類型(或?qū)傩?例:FIRST EQU THIS BYTE SECOND DW 100 DUP (?) 44匯編語言程序設(shè)計 常用的匯編語言程序框架: DATA SEGMENT;定義數(shù)據(jù)段VAL1 DB 12H , 8EH ;定義變量 DATA ENDS ;數(shù)據(jù)段結(jié)束 CODE SEGMENT;定義代碼段 ASSUME DS:DATA , CS: CODE;段屬性說明 START: MOV AX , DATA;初始化DS MOV DS , AX MOV AX , 4C00H;返回DOS INT 21H CODE ENDS ;代碼段結(jié)束 END START ;源程序結(jié)束特點程序分
7、段語句由指令性和指示性語句組成兩種程序框架框架一: DATA SEGMENT;定義數(shù)據(jù)段VAL1 DB 12H , 8EH ;定義變量 DATA ENDS ;數(shù)據(jù)段結(jié)束 CODE SEGMENT;定義代碼段 ASSUME DS:DATA , CS: CODE;段屬性說明 START: MOV AX , DATA;初始化DS MOV DS , AX ; 填寫代碼 MOV AX , 4C00H;返回DOS INT 21H CODE ENDS ;代碼段結(jié)束 END START ;源程序結(jié)束框架二: DATA SEGMENT;定義數(shù)據(jù)段VAL1 DB 12H , 8EH ;定義變量 DATA ENDS
8、 ;數(shù)據(jù)段結(jié)束 CODE SEGMENT;定義代碼段MAIN PROC FAR ASSUME DS:DATA , CS: CODE;段屬性說明 START: PUSH DS MOV AX , 0 PUSH AX MOV AX,DATA MOV DS,AX ;填寫代碼 RETMAIN ENDP CODE ENDS ;代碼段結(jié)束 END START ;源程序結(jié)束一、匯編語言程序設(shè)計基本步驟 分析問題,確定模型 確定算法 繪制流程圖 編寫程序 檢查和調(diào)試 二、匯編語言程序的基本結(jié)構(gòu)1、順序結(jié)構(gòu)舉例把al內(nèi)容除2,并四舍五入 完成x1*x2x3 x1:byte x2:word x3 34bit2、分支
9、結(jié)構(gòu) 舉例實現(xiàn)用查表法確定分支a、對8種產(chǎn)品進行編號0,1,7 b、每一個編號對應(yīng)一個入口地址 proc0,proc1,proc7 步驟: a、把入口地址放在Table開始的內(nèi)存單元; b、根據(jù)key內(nèi)容進行查表實現(xiàn)分支轉(zhuǎn)移3、循環(huán)結(jié)構(gòu) 舉例例1、計算y0241998 ydxax查找數(shù)組中是否由關(guān)鍵字,有:變量dd11;dd2關(guān)鍵字偏移量 無:變量dd10方法一、用loop指令方法二、用loopnz(loopne)指令Call proc1ret實現(xiàn)方法主程序有調(diào)用指令call子程序有返回指令ret特點Call指令與ret缺一不可現(xiàn)場保護入口出口參數(shù)設(shè)置舉例編寫AX*10AX子程序子程序編寫1、
10、子程序組成使用說明a、子程序功能b、使用寄存器情況c、入口出口參數(shù)程序體入口出口參數(shù)傳遞現(xiàn)場保護功能程序段;這是一個乘10子程序;使用寄存器AX;入口:AX,出口:AXmul10proc farpush bx ;保護現(xiàn)場pushfadd ax,ax;2axmov bx,ax;2axbxadd ax,ax;4axadd ax,ax;8axadd ax,bx;10axpopf;恢復現(xiàn)場pop bxretmul10endp功能程序段2、現(xiàn)場保護和入口出口參數(shù)傳遞(1)、現(xiàn)場保護方案一:在子程序中保護靈活,不方便方案二:在主程序中保護方便,不靈活(2)、參數(shù)傳遞寄存器傳遞變量傳遞堆棧傳遞舉例1、數(shù)組元
11、素求和2、計算 N?。?)如果AL0,則結(jié)果為1;(2)如果AL!0,在堆棧中形成n,n1,n2,1;(3)從堆棧中推出1,2,n1,n2,計算n!4.4 系統(tǒng)調(diào)用一、PCDOS執(zhí)行流程BIOSIBMBIOIBMDOS鍵盤命令命令處理程序文件管理基本輸入/輸出BIOS用戶程序用戶程序ROMIBMBIOIBMDOS二、DOS系統(tǒng)子程序功能1、磁盤管理2、內(nèi)存管理3、系統(tǒng)輸入/輸出共87個子程序三、系統(tǒng)功能調(diào)用對87個子程序進行編號,根據(jù)編號進行相關(guān)處理格式1、入口參數(shù)2、編號ah3、INT 21H編號ahINT 21ah=11號調(diào)用ah=22號調(diào)用常用的系統(tǒng)調(diào)用1、1號調(diào)用鍵盤輸入2、8號調(diào)用鍵盤輸入3、6號調(diào)用顯示及輸入4、9號調(diào)用輸出字
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)植保員應(yīng)具備的基本素養(yǎng)試題及答案
- 裁判員面臨的道德挑戰(zhàn)試題及答案
- 2024年籃球裁判員評估方法試題及答案
- 農(nóng)作物繁育員考試常見試題及答案
- 職業(yè)規(guī)劃 2024年體育經(jīng)紀人資格考試后的職業(yè)發(fā)展路徑探討試題及答案
- 足球裁判員溝通障礙根治試題及答案
- 2024年足球裁判員的職責解讀與試題與答案
- 工具與資源助力體育經(jīng)紀人職業(yè)生涯試題及答案
- 2023屆河北省邢臺市五校聯(lián)考高三上學期期中英語試題及答案
- 存放檔案協(xié)議書(2篇)
- 發(fā)熱病人中醫(yī)護理
- 捕鼠公司合同協(xié)議
- 工程審計面試題及答案
- 鋰電行業(yè)異物管控
- 2025年全民國家安全教育日(4.15)知識測試競賽題庫(含答案)
- 2025春季學期國開電大本科《人文英語3》一平臺在線形考綜合測試(形考任務(wù))試題及答案
- 提高四級手術(shù)術(shù)前多學科討論完成率實施方案
- 2024年共青團團??荚嚾雸F考試題庫及答案
- 中國食物成分表2018年(標準版)第6版
- 刑事案件模擬法庭劇本
- 2023年《移動式壓力容器充裝質(zhì)量管理手冊》
評論
0/150
提交評論