




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第4章匯編語言及其程序設(shè)計4.1匯編語言4.2順序結(jié)構(gòu)程序4.3分支程序設(shè)計4.4循環(huán)程序設(shè)計4.5子程序設(shè)計4.1匯編語言4.1.1匯編語言及語句格式
匯編
匯編語言源程序目標(biāo)程序1、指令語句
[標(biāo)號:]助記符操作數(shù);注釋2、偽指令語句
[名字]定義符參數(shù);注釋4.1.2數(shù)據(jù)定義偽指令格式
DBDW變量DD表達式1,表達式2,……DQDT
此偽指令把存儲單元中的數(shù)與一個變量聯(lián)系起來。其中:DB------字節(jié)類型
DW------字類型
DD------雙字類型
DQ------四字類型
DT------五字類型
格式中表達式可以是:1、一個或多個常數(shù)/數(shù)值表達式
例如2、不帶引號的?或帶引號的字符串
例如3、重復(fù)方式DUP
格式:變量定義符表達式1DUP(表達式2)其中,表達式1為重復(fù)次數(shù)表達試2為重復(fù)內(nèi)容
例如4、定義過的變量/標(biāo)號如DATA11DWDATA1DATA12DDDATA2GO
DATA1DB30HDATA2DW0240H,3500HDATA1DATA3DB(-1*3),(16/4)DATA2DATA4DD34567H
DATA3
DATA4
返回30H40H02H00H35HFDH04H67H45H03H00HDATA5DB?DATA6DW?DATA5DATA7DB‘ABCD’
DATA6DATA8DW‘AB’,’CD’
DATA7
DATA8
返回------41H42H43H44H42H41H44H43HDATA9DW2DUP(?)DATA10DB2DUP(5,2DUP(0))
DATA9
DATA10
返回--------05H00H00H05H00H00H變量和標(biāo)號的屬性
變量定義數(shù)據(jù)的邏輯地址,其屬性有段屬性、偏移地址屬性、類型屬性。其類型屬性如下:BYTE-----字節(jié)
WORD-----字
DWORD----雙字
PWORD----三字
QWORD----四字
TWORD----五字標(biāo)號定義指令的邏輯地址,其屬性有段屬性、偏移地址屬性、距離屬性。其距離屬性如下:NEAR----近程(默認(rèn))
FAR-----遠(yuǎn)程4.1.3段定義偽指令格式1、簡化的段定義偽指令.MODEL----內(nèi)存模式說明(TINY、SMALL、MEDIUM、COMPACT、LARGE).X86------選擇80X86指令系統(tǒng).X86P-----選擇80X86保護模式指令系統(tǒng).DATA-----定義數(shù)據(jù)段.STARTUP—指示程序開始,初始化DS,SS.CODE-----定義代碼段.STACK----定義堆棧段.EXIT-----返回操作系統(tǒng)
4.2順序結(jié)構(gòu)程序例1將一個2位數(shù)壓縮的BCD碼轉(zhuǎn)換成二進制數(shù).
.MODELSMALLMULBH.DATAADDAL,BLBCDDB01011001BMOVBIN,ALBINDB?.EXIT.CODEEND.STARTUPMOVAL,BCDMOVBL,ALANDBL,0FHANDAL,0F0HMOVCL,4RORAL,CLMOVBH,0AH4.3分支程序設(shè)計例1①用比較指令
CMPDEST,SRCJEEQUL……EQUL:②用測試指令
TESTDEST,SRCJNZNEXT……NEXT:③用邏輯指令
SHRDEST,CLJCNEXT……NEXT:例2編程實現(xiàn)將鍵盤輸入的小寫字母轉(zhuǎn)換成大寫后輸出。
.MODELSMALLMOVDL,AL.DATAMOVAH,02HBLOCKDB‘ERROR!’,0DH,0AH,’$’INT21H.CODEJMPDONE.STARTUPNEXT:LEADX,BLOCKMOVAH,1MOVAH,9INT21HINT21HCMPAL,‘a(chǎn)’DONE:.EXITJBNEXTENDCMPAL,‘z’JANEXT
ANDAL,11011111B4.4循環(huán)程序設(shè)計例1
①
MOVCX,COUNTAGAIN:……LOOPAGAIN②
MOVCL,COUNTAGAIN:……DECCLJNZAGAIN③MOVCX,COUNTAGAIN:JCXZNEXT……JMPAGAINNEXT:例2在內(nèi)存BLOCK開始處存放了10個無符號字節(jié)數(shù),從中找出最大值送入MAX單元中。.MODELSMALL.DATABLOCKDB100,60,20,……MAXDB?
.CODE.STARTUPMOVCX,9MOVAL,BLOCKLEABX,BLOCKAGAIN:INCBXCMPAL,[BX]JAENEXTXCHGAL,[BX]NEXT:LOOPAGAINMOVMAX,AL.EXITEND例3在首地址BLOCK處存放了10個字?jǐn)?shù)據(jù)(無符號數(shù)),編程求其和,存入SUM單元。.MODELSMALL.DATABLOCKDW1020H,3040H,…SUMDD?
.CODE.STARTUPMOVCX,10LEASI,BLOCKMOVAX,0MOVDX,0AGAIN:ADDAX,[SI]ADCDX,0INCSIINCSILOOPAGAINMOVSUM,AXMOVSUM+2,DX.EXITEND
例4方法二
.MODELSMALLMOVZXEBX,DX.DATAADDEAX,EBXBLOCKDW1020H,3040H,…INCSISUMDD?INCSI.CODELOOPAGAIN.STARTUPMOVSUM,EAXMOVCX,10.EXITLEASI,BLOCKENDMOVEAX,0
AGAIN:MOVDX,[SI]例4將內(nèi)存首地址為BLOCK開始的10個帶符號字節(jié)數(shù),將其按由大到小的次序排列。
.MODELSMALL.DATABLOCKDB66H,88H,10H,….CODE.STARTUPMOVDI,9LOOP1:MOVCX,DIMOVBX,0LOOP2:MOVAL,BLOCK[BX]CMPAL,BLOCK[BX+1]JGENEXTXCHGAL,BLOCK[BX+1]MOVBLOCK[BX],ALNEXT:INCBXLOOPLOOP2DECDIJNZLOOP1.EXITEND4.5子程序設(shè)計4.5.1過程定義過程名PROC[TYPE][USESREG]……RET(或RETn)過程名ENDP其中,TYPE包括:NEARFARUSESREG:要保護的通用寄存器如SUB1PROCUSESAX,BX,CX……RET等效于
SUB1ENDPSUB1PROCPUSHAXPUSHBXPUSHCX……POPCXPOPBXPOPAXRETSUB1ENDP4.5.2調(diào)用與返回指令1、調(diào)用指令
CALL過程名
CALLFARPTR過程名CALL過程名為段內(nèi)調(diào)用,系統(tǒng)將:
EIP(IP)堆棧
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度物流運輸借款協(xié)議方合同
- 二零二五年度航空航天用高溫合金委托生產(chǎn)協(xié)議
- 二零二五年度智能共享單車無償使用合同范本
- 2025年度門診部護士長聘任與管理服務(wù)合同
- 職業(yè)插畫師插畫設(shè)計服務(wù)合同
- 房地產(chǎn)經(jīng)紀(jì)人獨家代理合同書
- 產(chǎn)品創(chuàng)意與策劃流程手冊
- 歷史文物保護與遺址發(fā)掘試題及答案
- 人工智能輔助的智能環(huán)境保護監(jiān)測系統(tǒng)開發(fā)協(xié)議
- 大健康產(chǎn)業(yè)數(shù)字化健康服務(wù)平臺建設(shè)
- 中建10t龍門吊安拆安全專項施工方案
- 國內(nèi)外測井技術(shù)現(xiàn)狀與展望文檔
- 骨科術(shù)后譫妄患者的護理
- 大模型專題:2024大模型技術(shù)及其在金融行業(yè)的應(yīng)用探索報告
- 約定工資結(jié)清協(xié)議書(2篇)
- 天津地區(qū)高考語文五年高考真題匯編-語言文字應(yīng)用
- 特殊作業(yè)安全管理監(jiān)護人專項培訓(xùn)課件
- 鶴壁海格龍升3萬噸溴系列新材料產(chǎn)品環(huán)評資料環(huán)境影響
- 道路運輸企業(yè)兩類人員安全考核試題及答案
- 衛(wèi)生技術(shù)人員準(zhǔn)入制度
- 2024屆全國新高考英語復(fù)習(xí)-讀后續(xù)寫微寫作
評論
0/150
提交評論