




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué)習(xí)要求 掌握16位指令系統(tǒng)中常用指令的使用。 掌握源程序中常用的偽指令。 掌握宏匯編源程序的結(jié)構(gòu)及其編程方法。 掌握宏匯編語言上機(jī)調(diào)試過程。2.1 16位匯編程序設(shè)計概述n在DOS下用匯編語言開發(fā)程序的工具是Masm和Tasm。Masm常用的有Masm611和Masm614兩個版本,Tasm是Borland公司提供的工具。n用來將源程序生成目標(biāo)文件。既可以產(chǎn)生目標(biāo)文件,也可以產(chǎn)生可執(zhí)行文件。調(diào)試可執(zhí)行文件用或。匯編語言程序的特點n編程的第一步是編寫源程序。 用記事本等一切可以以純文本方式編輯保存文件的工具進(jìn)行。文件必須保存為擴(kuò)展名為asm的文件,且文件名不能超過8個ASCII碼字符。匯編語言
2、程序的特點n源程序中要使用指令,指令是最小的代碼單元。指令分為兩種,一種叫硬指令,另一種叫偽指令。n硬指令是機(jī)器事實上存在的指令 例如: MOV AX,1234 在源程序中寫下這條指令,生成可執(zhí)行文件后,反匯編仍然存在這條指令。 匯編語言程序的特點n偽指令是告訴編譯器的一些說明性語句,編譯器承認(rèn),而CPU中無此指令。 例如: X1 DW 0 這是一條用偽指令DW定義字變量的語句,編譯器會將它在數(shù)據(jù)段中產(chǎn)生一個字的空間且初始化為0。程序中并沒有X1這個變量,其它指令操作該變量都會被編譯成從X1的地址讀寫數(shù)據(jù)。指令尋址方式n從8086的機(jī)器代碼格式入手,論述:n立即數(shù)尋址方式n寄存器尋址方式n存儲
3、器尋址方式n進(jìn)而熟悉8086匯編語言指令格式,尤其是其中操作數(shù)的表達(dá)方法;為展開8086指令系統(tǒng)做好準(zhǔn)備指令的組成n指令由操作碼和操作數(shù)兩部分組成n操作碼說明計算機(jī)要執(zhí)行哪種操作,如傳送、運算、移位、跳轉(zhuǎn)等操作,它是指令中不可缺少的組成部分n操作數(shù)是指令執(zhí)行的參與者,即各種操作的對象n有些指令不需要操作數(shù),通常的指令都有一個或兩個操作數(shù),也有個別指令有3個甚至4個操作數(shù)操作碼操作碼操作數(shù)操作數(shù)指令的操作碼和操作數(shù)n每種指令的操作碼:n用一個唯一的助記符表示(指令功能的英文縮寫)n對應(yīng)著機(jī)器指令的一個二進(jìn)制編碼n指令中的操作數(shù):n可以是一個具體的數(shù)值n可以是存放數(shù)據(jù)的寄存器n或指明數(shù)據(jù)在主存位置
4、的存儲器地址尋址方式n指令系統(tǒng)設(shè)計了多種操作數(shù)的來源n尋找操作數(shù)的過程就是操作數(shù)的尋址n操作數(shù)采取哪一種尋址方式,會影響機(jī)器運行的速度和效率標(biāo)準(zhǔn)機(jī)器代碼示例mov ax,BP+0 ;機(jī)器代碼是 8B 46 00n前一個字節(jié)8B是操作碼(含w1表示字操作)n中間一個字節(jié)46(01 000 110)是 “mod reg r/m”字節(jié)nreg000表示目的操作數(shù)為AXnmod01和r/m110表示源操作數(shù)為BP+D8n最后一個字節(jié)就是8位位移量D8001/2字節(jié)0/1字節(jié)0/1/2字節(jié)0/1/2字節(jié)操作碼mod reg r/m位移量立即數(shù)其它機(jī)器代碼形式mov al,05 ;機(jī)器代碼是B0 05n前
5、一個字節(jié)B0是操作碼(含一個操作數(shù)AL),后一個字節(jié)05是立即數(shù)mov ax,0102H ;機(jī)器代碼是B8 02 01n前一個字節(jié)B8是操作碼(含一個操作數(shù)AX),后兩個字節(jié)02 01是16位立即數(shù)(低字節(jié)02在低地址)操作碼操作碼操作數(shù)操作數(shù)指令的助記符格式操作碼 操作數(shù)1,操作數(shù)2 ;注釋n操作數(shù)2,稱為源操作數(shù) src,它表示參與指令操作的一個對象n操作數(shù)1,稱為目的操作數(shù) dest,它不僅可以作為指令操作的一個對象,還可以用來存放指令操作的結(jié)果n分號后的內(nèi)容是對指令的解釋傳送指令MOV的格式MOV dest,src ;destsrc nMOV指令的功能是將源操作數(shù)src傳送至目的操作數(shù)
6、dest,例如:MOV AL,05H;AL05HMOV BX,AX;BXAXMOV AX,SI;AXDS:SIMOV AX,BP+06H;AXSS:BP+06HMOV AX,BX+SI;AXDS:BX+SI傳送指令MOV的功能源操作數(shù)源操作數(shù) src目的操作數(shù)目的操作數(shù) dest30H30H被傳送的數(shù)據(jù)被傳送的數(shù)據(jù)立即數(shù)尋址方式n指令中的操作數(shù)直接存放在機(jī)器代碼中,緊跟在操作碼之后(操作數(shù)作為指令的一部分存放在操作碼之后的主存單元中)n這種操作數(shù)被稱為立即數(shù)immn它可以是8位數(shù)值i8(00HFFH)n也可以是16位數(shù)值i16(0000HFFFFH)n立即數(shù)尋址方式常用來給寄存器賦值立即數(shù)尋址
7、指令MOV AL,05H;AL05HMOV AX,0102H;AX0102H寄存器尋址方式n操作數(shù)存放在CPU的內(nèi)部寄存器reg中,可以是:n8位寄存器r8:AH、AL、BH、BL、CH、CL、DH、DLn16位寄存器r16:AX、BX、CX、DX、SI、DI、BP、SPn4個段寄存器seg:CS、DS、SS、ES寄存器尋址指令MOV AX,1234H;AX1234HMOV BX,AX;BXAX存儲器尋址方式n指令中給出操作數(shù)的主存地址信息(偏移地址,稱之為有效地址EA),而段地址在默認(rèn)的或用段超越前綴指定的段寄存器中n8086設(shè)計了多種存儲器尋址方式1、直接尋址方式2、寄存器間接尋址方式3、
8、寄存器相對尋址方式4、基址變址尋址方式5、相對基址變址尋址方式直接尋址方式n有效地址在指令中直接給出n默認(rèn)的段地址在DS段寄存器,可使用段超越前綴改變MOV AX,2000H;AXDS:2000H;指令代碼:A10020MOV AX,ES:2000H;AXES:2000H;指令代碼:26A10020寄存器間接尋址方式n有效地址存放在基址寄存器BX或變址寄存器SI、DI中n默認(rèn)的段地址在DS段寄存器,可使用段超越前綴改變MOV AX,SI;AXDS:SI寄存器相對尋址方式n有效地址是寄存器內(nèi)容與有符號8位或16位位移量之和,寄存器可以是BX、BP或SI、DI有效地址BX/BP/SI/DI8/16
9、位位移量n段地址對應(yīng)BX/SI/DI寄存器默認(rèn)是DS,對應(yīng)BP寄存器默認(rèn)是SS;可用段超越前綴改變寄存器相對尋址指令MOV AX,DI+06H;AXDS:DI+06HMOV AX,BP+06H;AXSS:BP+06H基址變址尋址方式n有效地址由基址寄存器(BX或BP)的內(nèi)容加上變址寄存器(SI或DI)的內(nèi)容構(gòu)成:有效地址BX/BPSI/DIn段地址對應(yīng)BX基址寄存器默認(rèn)是DS,對應(yīng)BP基址寄存器默認(rèn)是SS;可用段超越前綴改變基址變址尋址指令MOV AX,BX+SI;AXDS:BX+SIMOV AX,BP+DI;AXSS:BP+DIMOV AX,DS:BP+DI;AXDS:BP+DI相對基址變址
10、尋址方式n有效地址是基址寄存器(BX/BP)、變址寄存器(SI/DI)與一個8位或16位位移量之和:有效地址BX/BPSI/DI8/16位位移量n段地址對應(yīng)BX基址寄存器默認(rèn)是DS,對應(yīng)BP基址寄存器默認(rèn)是SS;可用段超越前綴改變相對基址變址尋址指令MOV AX,BX+SI+06H;AXDS:BX+SI+06H 位移量可用符號表示位移量可用符號表示 同一尋址方式有多種表達(dá)形式同一尋址方式有多種表達(dá)形式用符號表示位移量n在寄存器相對尋址或相對基址變址尋址方式中,位移量可用符號表示:MOV AX,SI+COUNT;COUNT是事先定義的變量或常量(就是數(shù)值)MOV AX,BX+SI+WNUM;WN
11、UM也是變量或常量多種表達(dá)形式n同一尋址方式可以寫成不同的形式:MOV AX,BXSI;等同于 MOV AX,BX+SIMOV AX,COUNTSI;等同于 MOV AX,SI+COUNTMOV AX,WNUMBXSI;等同于 MOV AX,WNUMBX+SI;等同于 MOV AX,BX+SI+WNUM匯編語言指令格式n由4部分組成:n標(biāo)號:指令助記符 目的操作數(shù),源操作數(shù);注釋 標(biāo)號表示該指令在主存中的邏輯地址標(biāo)號表示該指令在主存中的邏輯地址 每個指令助記符就代表一種指令每個指令助記符就代表一種指令 目的和源操作數(shù)表示參與操作的對象目的和源操作數(shù)表示參與操作的對象 注釋是對該指令或程序段功能的說明注釋是對該指令或程序段功能的說明指令操作數(shù)的表達(dá)(1)nr8任意一個8位通用寄存器AH AL BH BL CH CL DH DLnr16任意一個16位通用寄存器AX BX CX DX SI DI BP SPnreg代表r8或r16nseg段寄存器 CS/DS/ES/SS指令操作數(shù)的表達(dá)(2)nm8一個8位存儲器操作數(shù)單元(所有主存尋址方式)nm16一個16位存儲器操作數(shù)單元(所有主存尋址方式)nmem代表m8或m16指令操作數(shù)的表達(dá)(
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度服裝寄存與展會租賃服務(wù)合作協(xié)議
- 2025年度安全軟件開發(fā)人工費用支付合同
- 康養(yǎng)項目的可行性研究報告
- 中醫(yī)護(hù)理學(xué)(第5版)課件 第4章 病機(jī)
- 有機(jī)蔬菜種植技術(shù)大全
- 智能家居集成系統(tǒng)
- 政府機(jī)構(gòu)信息化建設(shè)規(guī)劃方案
- 腫瘤內(nèi)科骨肉瘤練習(xí)卷含答案
- 養(yǎng)老護(hù)理中級練習(xí)卷含答案
- 如何制定有效的資產(chǎn)配置策略有哪些因素需要考慮
- 學(xué)科國際發(fā)展趨勢
- 初一年級班級日志記載表(詳)
- 建設(shè)工程安全生產(chǎn)管理習(xí)題庫及答案
- 項目1 多旋翼無人機(jī)的組裝與調(diào)試
- 供應(yīng)鏈管理:高成本、高庫存、重資產(chǎn)的解決方案 第2版
- 馬克筆建筑快速表現(xiàn)
- 橋臺錐坡工程量計算公式
- 日本夏日祭活動鑒賞
- 中國教育史筆記全
- 某工業(yè)鍋爐安裝工程監(jiān)理作業(yè)指導(dǎo)書
- 名?!稄?qiáng)基計劃》初升高銜接數(shù)學(xué)講義(上)
評論
0/150
提交評論