版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四章 8086匯編語(yǔ)言程序設(shè)計(jì)幾個(gè)概念8086匯編語(yǔ)言的語(yǔ)句8086匯編中的偽指令8086匯編中的運(yùn)算符匯編語(yǔ)言程序設(shè)計(jì)宏定義與宏調(diào)用系統(tǒng)調(diào)用幾個(gè)概念匯編語(yǔ)言匯編語(yǔ)言源程序匯編匯編程序41 8086匯編語(yǔ)言的語(yǔ)句 匯編語(yǔ)言由指令性語(yǔ)句和指令性語(yǔ)句組成一、指令性語(yǔ)句格式 標(biāo)號(hào): 操作碼 操作數(shù)1, 操作數(shù)2 ;注釋二、指示性語(yǔ)句格式標(biāo)識(shí)符(名字) 指示符(偽指令) 表達(dá)式 三、有關(guān)屬性 存儲(chǔ)器操作數(shù)的屬性有三種:段值、段內(nèi)偏移量和類(lèi)型。42 8086匯編中的偽指令一、 符號(hào)定義語(yǔ)句 1、等值語(yǔ)句 格式:符號(hào)名 EQU 表達(dá)式例: PORT EQU 1234 BUFF EQU PORT58 ME
2、M EQU DS:BP20H COUNT EQU CX ABC EQU AAA2、等號(hào)語(yǔ)句 格式: NUM34 NUM341二、變量定義語(yǔ)句 格式: 符號(hào)名 DB/DW/DD 表達(dá)式1、定義一組數(shù)據(jù) 例1: BUFF DW 1234H, 0ABCDH, 8EH DW 79DH, 7B6AH2、定義一串字符例2: STR DB Welcome !3、定義保留存儲(chǔ)單元 例3: SUM DW ? ,?4、復(fù)制操作復(fù)制操作符DUP(Duplication)可預(yù)置重復(fù)的數(shù)值例4: ALL_ZERO DB 0,0,0,0,0用復(fù)制操作可改為:ALL_ZERO DB 5 DUP(0)5、將已定義的地址存入內(nèi)
3、存單元 例5: LIT DD CYC CYC: MOV AX , BX三、段定義語(yǔ)句1、 段定義語(yǔ)句格式: 段名 SEGMENT 定位類(lèi)型 組合類(lèi)型 類(lèi)別 段名 ENDS只需要掌握 段名 SEGMENT 段名 ENDS2、段假設(shè)語(yǔ)句ASSUME 段寄存器名:段名,3、ORG偽指令、地址計(jì)數(shù)器 $ORG偽指令格式: ORG 4、END 表示源代碼結(jié)束 格式為: END 常數(shù)或表達(dá)式. 四、過(guò)程定義語(yǔ)句 過(guò)程名 PROC NEAR/FAR RET 過(guò)程名 ENDP43 8086匯編中的運(yùn)算符 一、常用運(yùn)算符1、算術(shù)運(yùn)算符 (加)、(減)、*(乘)、/(除)、MOD(求余)。2、邏輯運(yùn)算符 AND、
4、OR、XOR、NOT 3、關(guān)系運(yù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操作符 對(duì)于變量有3種: 1 字節(jié)型; 2 字型; 4 雙字型; 對(duì)于標(biāo)號(hào)有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、綜合運(yùn)算符(合成操作符)功能:1、由已有的操作數(shù)建立新的操作數(shù);2、新操作數(shù)和已有的操作數(shù)類(lèi)型不一樣1)PTR運(yùn)算符格式: 類(lèi)型 PTR 表達(dá)式例:INC WORD PTR BX wxdw 1234hmov al, byte ptr wxmov ah, byte ptr wx+12)THIS操作符
6、格式: THIS 類(lèi)型(或?qū)傩?例:FIRST EQU THIS BYTE SECOND DW 100 DUP (?) 44匯編語(yǔ)言程序設(shè)計(jì) 常用的匯編語(yǔ)言程序框架: DATA SEGMENT;定義數(shù)據(jù)段VAL1 DB 12H , 8EH ;定義變量 DATA ENDS ;數(shù)據(jù)段結(jié)束 CODE SEGMENT;定義代碼段 ASSUME DS:DATA , CS: CODE;段屬性說(shuō)明 START: MOV AX , DATA;初始化DS MOV DS , AX MOV AX , 4C00H;返回DOS INT 21H CODE ENDS ;代碼段結(jié)束 END START ;源程序結(jié)束特點(diǎn)程序分
7、段語(yǔ)句由指令性和指示性語(yǔ)句組成兩種程序框架框架一: DATA SEGMENT;定義數(shù)據(jù)段VAL1 DB 12H , 8EH ;定義變量 DATA ENDS ;數(shù)據(jù)段結(jié)束 CODE SEGMENT;定義代碼段 ASSUME DS:DATA , CS: CODE;段屬性說(shuō)明 START: MOV AX , DATA;初始化DS MOV DS , AX ; 填寫(xiě)代碼 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;段屬性說(shuō)明 START: PUSH DS MOV AX , 0 PUSH AX MOV AX,DATA MOV DS,AX ;填寫(xiě)代碼 RETMAIN ENDP CODE ENDS ;代碼段結(jié)束 END START ;源程序結(jié)束一、匯編語(yǔ)言程序設(shè)計(jì)基本步驟 分析問(wèn)題,確定模型 確定算法 繪制流程圖 編寫(xiě)程序 檢查和調(diào)試 二、匯編語(yǔ)言程序的基本結(jié)構(gòu)1、順序結(jié)構(gòu)舉例把a(bǔ)l內(nèi)容除2,并四舍五入 完成x1*x2x3 x1:byte x2:word x3 34bit2、分支
9、結(jié)構(gòu) 舉例實(shí)現(xiàn)用查表法確定分支a、對(duì)8種產(chǎn)品進(jìn)行編號(hào)0,1,7 b、每一個(gè)編號(hào)對(duì)應(yīng)一個(gè)入口地址 proc0,proc1,proc7 步驟: a、把入口地址放在Table開(kāi)始的內(nèi)存單元; b、根據(jù)key內(nèi)容進(jìn)行查表實(shí)現(xiàn)分支轉(zhuǎn)移3、循環(huán)結(jié)構(gòu) 舉例例1、計(jì)算y0241998 ydxax查找數(shù)組中是否由關(guān)鍵字,有:變量dd11;dd2關(guān)鍵字偏移量 無(wú):變量dd10方法一、用loop指令方法二、用loopnz(loopne)指令Call proc1ret實(shí)現(xiàn)方法主程序有調(diào)用指令call子程序有返回指令ret特點(diǎn)Call指令與ret缺一不可現(xiàn)場(chǎng)保護(hù)入口出口參數(shù)設(shè)置舉例編寫(xiě)AX*10AX子程序子程序編寫(xiě)1、
10、子程序組成使用說(shuō)明a、子程序功能b、使用寄存器情況c、入口出口參數(shù)程序體入口出口參數(shù)傳遞現(xiàn)場(chǎng)保護(hù)功能程序段;這是一個(gè)乘10子程序;使用寄存器AX;入口:AX,出口:AXmul10proc farpush bx ;保護(hù)現(xiàn)場(chǎng)pushfadd ax,ax;2axmov bx,ax;2axbxadd ax,ax;4axadd ax,ax;8axadd ax,bx;10axpopf;恢復(fù)現(xiàn)場(chǎng)pop bxretmul10endp功能程序段2、現(xiàn)場(chǎng)保護(hù)和入口出口參數(shù)傳遞(1)、現(xiàn)場(chǎng)保護(hù)方案一:在子程序中保護(hù)靈活,不方便方案二:在主程序中保護(hù)方便,不靈活(2)、參數(shù)傳遞寄存器傳遞變量傳遞堆棧傳遞舉例1、數(shù)組元
11、素求和2、計(jì)算 N?。?)如果AL0,則結(jié)果為1;(2)如果AL!0,在堆棧中形成n,n1,n2,1;(3)從堆棧中推出1,2,n1,n2,計(jì)算n!4.4 系統(tǒng)調(diào)用一、PCDOS執(zhí)行流程BIOSIBMBIOIBMDOS鍵盤(pán)命令命令處理程序文件管理基本輸入/輸出BIOS用戶程序用戶程序ROMIBMBIOIBMDOS二、DOS系統(tǒng)子程序功能1、磁盤(pán)管理2、內(nèi)存管理3、系統(tǒng)輸入/輸出共87個(gè)子程序三、系統(tǒng)功能調(diào)用對(duì)87個(gè)子程序進(jìn)行編號(hào),根據(jù)編號(hào)進(jìn)行相關(guān)處理格式1、入口參數(shù)2、編號(hào)ah3、INT 21H編號(hào)ahINT 21ah=11號(hào)調(diào)用ah=22號(hào)調(diào)用常用的系統(tǒng)調(diào)用1、1號(hào)調(diào)用鍵盤(pán)輸入2、8號(hào)調(diào)用鍵盤(pán)輸入3、6號(hào)調(diào)用顯示及輸入4、9號(hào)調(diào)用輸出字
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 財(cái)務(wù)預(yù)算管理工作流程及制度
- 拆除項(xiàng)目應(yīng)急預(yù)案(3篇)
- 油桶浮橋施工方案(3篇)
- 服裝季末活動(dòng)策劃方案(3篇)
- 廣場(chǎng)電纜施工方案(3篇)
- 刨除路面施工方案(3篇)
- 養(yǎng)殖魚(yú)塘施工方案(3篇)
- 城市公共自行車(chē)智能調(diào)度中心建設(shè)2025年技術(shù)創(chuàng)新應(yīng)用前景分析報(bào)告
- 大型停電應(yīng)急預(yù)案(3篇)
- 庭院桌椅施工方案(3篇)
- 研學(xué)旅行指導(dǎo)手冊(cè)
- 大學(xué)生社會(huì)支持評(píng)定量表附有答案
- 植入式靜脈給藥裝置(輸液港)-中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)2023
- GB/T 2988-2023高鋁磚
- 東風(fēng)7電路圖解析
- 數(shù)字填圖系統(tǒng)新版(RgMap2.0)操作手冊(cè)
- FZ/T 73009-2021山羊絨針織品
- JJF 1069-2012 法定計(jì)量檢定機(jī)構(gòu)考核規(guī)范(培訓(xùn)講稿)
- DFMEA編制作業(yè)指導(dǎo)書(shū)新版
- DB35∕T 1844-2019 高速公路邊坡工程監(jiān)測(cè)技術(shù)規(guī)程
- 城市管理綜合執(zhí)法局城管執(zhí)法與執(zhí)法程序PPT模板
評(píng)論
0/150
提交評(píng)論