版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
匯編語(yǔ)言程序設(shè)計(jì) AssemblyLanguageProgramming陳生慶Tel: 2977575教材相關(guān)課程先修課高級(jí)語(yǔ)言程序設(shè)計(jì)計(jì)算機(jī)組成原理后續(xù)課微機(jī)接口技術(shù)計(jì)算機(jī)控制技術(shù)第一章緒論§1.1匯編語(yǔ)言程序設(shè)計(jì)的一般概念§1.2為什么要學(xué)習(xí)和使用匯編語(yǔ)言§1.3一個(gè)簡(jiǎn)單的匯編語(yǔ)言源程序舉例§1.4計(jì)算機(jī)中數(shù)和字符的表示 §1.1匯編語(yǔ)言程序設(shè)計(jì)的一般概念一、匯編語(yǔ)言二、匯編語(yǔ)言源程序三、匯編程序四、目標(biāo)程序五、連接程序六、調(diào)試程序一、匯編語(yǔ)言匯編語(yǔ)言是一種面向機(jī)器的低級(jí)程序設(shè)計(jì)語(yǔ)言匯編語(yǔ)言以助記符形式表示每一條計(jì)算機(jī)指令助記符(mnemonic)是便于人們記憶、并能描述指令功能和指令操作數(shù)的符號(hào)助記符一般就是表明指令功能的英語(yǔ)單詞或其縮寫(xiě)用助記符表示的指令就是匯編語(yǔ)言中的匯編格式指令匯編格式指令以及使用它們編寫(xiě)程序的規(guī)則就形成匯編語(yǔ)言(AssemblyLanguage)二、匯編語(yǔ)言源程序用匯編語(yǔ)言書(shū)寫(xiě)的程序就是匯編語(yǔ)言程序,或稱匯編語(yǔ)言源程序匯編語(yǔ)言源程序以.ASM為默認(rèn)的擴(kuò)展名三、匯編程序(Assembler)匯編程序?qū)R編語(yǔ)言源程序翻譯(稱為“匯編”)成機(jī)器代碼目標(biāo)模塊80x86CPU的匯編程序主要有微軟的宏匯編程序MASM。較著名的還有Borland公司的TASM,無(wú)實(shí)質(zhì)差別本課程采用微軟的MASM6.11這是MASM的最后一個(gè)獨(dú)立版本可免費(fèi)升級(jí)為MASM6.14(支持奔騰3)也可升級(jí)為MASM6.15(支持奔騰4)四、目標(biāo)程序機(jī)器語(yǔ)言程序匯編語(yǔ)言源程序經(jīng)匯編程序翻譯而成不能直接運(yùn)行五、連接程序(Linker)連接程序?qū)R編后的目標(biāo)模塊轉(zhuǎn)換為可執(zhí)行程序每個(gè)程序開(kāi)發(fā)環(huán)境都有連接程序連接程序的文件名通常是:LINK.EXE六、調(diào)試程序(Debugger)調(diào)試程序進(jìn)行程序排錯(cuò)、分析等本課程采用DOS的DEBUG程序其他還有TurboDebugger等源程序可執(zhí)行文件目標(biāo)模塊文本編輯器匯編程序連接程序調(diào)試程序§1.2為什么要學(xué)習(xí)和使用匯編語(yǔ)言一、匯編語(yǔ)言的主要特點(diǎn)二、匯編語(yǔ)言可操作的系統(tǒng)硬件資源三、匯編語(yǔ)言與高級(jí)語(yǔ)言之比較四、匯編語(yǔ)言的應(yīng)用場(chǎng)合一、匯編語(yǔ)言的主要特點(diǎn)匯編語(yǔ)言程序與處理器指令系統(tǒng)密切相關(guān)程序員可直接、有效地控制系統(tǒng)硬件資源形成的可執(zhí)行文件運(yùn)行速度快、占用主存容量少二、匯編語(yǔ)言可操作的系統(tǒng)硬件資源中央處理單元存儲(chǔ)器(主存儲(chǔ)器)外部設(shè)備(接口電路)1、中央處理單元CPU
(Intel80x86) 對(duì)匯編語(yǔ)言程序員,最關(guān)心其中的寄存器(Register)2、存儲(chǔ)器(主存儲(chǔ)器)呈現(xiàn)給匯編語(yǔ)言程序員的,是存儲(chǔ)器地址(Address)存儲(chǔ)器是由大量存儲(chǔ)單元組成。為了區(qū)別每個(gè)單元,我們將它們編號(hào)存儲(chǔ)器地址是存儲(chǔ)器中存儲(chǔ)單元的編號(hào)微機(jī)的每個(gè)存儲(chǔ)單元存放一個(gè)字節(jié)的數(shù)據(jù)一個(gè)字節(jié)B(Byte)包含了8個(gè)二進(jìn)制位b(bit)通常采用十六進(jìn)制數(shù)來(lái)表達(dá)地址Intel8086具有1兆字節(jié)(1MB)存儲(chǔ)器容量其存儲(chǔ)器地址可以表示為:00000H~FFFFFH其中大寫(xiě)H(或小寫(xiě)h)表示是16進(jìn)制數(shù)3、外部設(shè)備(接口電路)匯編語(yǔ)言程序員看到的是端口(Port)I/O接口電路由接口寄存器組成,為了區(qū)別它們,各個(gè)寄存器進(jìn)行了編號(hào),形成I/O地址。端口就是指I/O地址,是微機(jī)系統(tǒng)對(duì)I/O接口電路中與程序設(shè)計(jì)有關(guān)的寄存器的編號(hào)系統(tǒng)實(shí)際上就是通過(guò)這些端口與外設(shè)進(jìn)行通訊的通常采用十六進(jìn)制數(shù)來(lái)表達(dá)端口Intel8086支持64K個(gè)8位端口其I/O地址可以表示為:0000H~FFFFH三、匯編語(yǔ)言和高級(jí)語(yǔ)言(1)匯編語(yǔ)言與處理器密切相關(guān) ↘匯編語(yǔ)言程序的通用性、可移植性較差高級(jí)語(yǔ)言與具體計(jì)算機(jī)無(wú)關(guān) ↗高級(jí)語(yǔ)言程序可以在多種計(jì)算機(jī)上編譯后執(zhí)行三、匯編語(yǔ)言和高級(jí)語(yǔ)言(2)匯編語(yǔ)言功能有限、涉及硬件細(xì)節(jié) ↘編寫(xiě)程序比較繁瑣,調(diào)試起來(lái)也比較困難高級(jí)語(yǔ)言提供了強(qiáng)大的功能,不必關(guān)心瑣碎問(wèn)題 ↗類似自然語(yǔ)言的語(yǔ)法,易于掌握和應(yīng)用三、匯編語(yǔ)言和高級(jí)語(yǔ)言(3)匯編語(yǔ)言本質(zhì)上就是機(jī)器語(yǔ)言↗可以直接、有效地控制計(jì)算機(jī)硬件↗易于產(chǎn)生速度快、容量小的高效率目標(biāo)程序高級(jí)語(yǔ)言不針對(duì)具體計(jì)算機(jī)系統(tǒng)↘不易直接控制計(jì)算機(jī)的各種操作↘目標(biāo)程序比較龐大、運(yùn)行速度較慢三、匯編語(yǔ)言和高級(jí)語(yǔ)言(4)匯編語(yǔ)言的優(yōu)點(diǎn):直接控制計(jì)算機(jī)硬件部件可以編寫(xiě)在“時(shí)間”和“空間”兩方面最有效的程序匯編語(yǔ)言的缺點(diǎn):與處理器密切有關(guān)需要熟悉計(jì)算機(jī)硬件系統(tǒng)、考慮許多細(xì)節(jié)編寫(xiě)繁瑣,調(diào)試、維護(hù)、交流和移植困難三、匯編語(yǔ)言和高級(jí)語(yǔ)言(5)匯編語(yǔ)言的優(yōu)點(diǎn)使得它在程序設(shè)計(jì)中占有重要的位置,是不可被取代的匯編語(yǔ)言的缺點(diǎn)使得人們主要采用高級(jí)語(yǔ)言進(jìn)行程序開(kāi)發(fā)工作有時(shí)需要采用高級(jí)語(yǔ)言和匯編語(yǔ)言混合編程的方法,互相取長(zhǎng)補(bǔ)短,更好地解決實(shí)際問(wèn)題四、匯編語(yǔ)言的應(yīng)用場(chǎng)合程序要具有較快的執(zhí)行時(shí)間,或者只能占用較小的存儲(chǔ)容量程序與計(jì)算機(jī)硬件密切相關(guān),程序要直接、有效地控制硬件大型軟件需要提高性能、優(yōu)化處理的部分沒(méi)有合適的高級(jí)語(yǔ)言、或只能采用匯編語(yǔ)言的時(shí)候分析具體系統(tǒng)尤其是該系統(tǒng)的低層軟件、加密解密軟件、分析和防治計(jì)算機(jī)病毒等微機(jī)的軟件系統(tǒng)軟件:DOS平臺(tái)MS-DOS6.22Windows9.x的DOS實(shí)地址方式MS-DOS虛擬環(huán)境應(yīng)用軟件:開(kāi)發(fā)匯編語(yǔ)言程序涉及文本編輯器匯編程序連接程序調(diào)試程序集成化開(kāi)發(fā)環(huán)境集成化開(kāi)發(fā)環(huán)境集成開(kāi)發(fā)環(huán)境是進(jìn)行程序設(shè)計(jì)所用到的各種軟件的有機(jī)集合。其中,有文本編輯器,有語(yǔ)言翻譯程序,有連接程序,還組合有調(diào)試程序等。大型的程序設(shè)計(jì)項(xiàng)目往往要借助這種集成開(kāi)發(fā)環(huán)境,也就是軟件開(kāi)發(fā)工具(包)。教材中介紹有集編輯、匯編、連接和調(diào)試為一體的綜合開(kāi)發(fā)環(huán)境,即MASM的程序員工作平臺(tái)PWB?!?.3一個(gè)簡(jiǎn)單的匯編語(yǔ)言源程序舉例分別用C語(yǔ)言和匯編語(yǔ)言編制一程序,實(shí)現(xiàn)如下功能: 從鍵盤(pán)輸入兩個(gè)1位整數(shù),將其進(jìn)行加法運(yùn)算并在屏幕上顯示加法運(yùn)算等式(和《=9)。
1 DATA SEGMENT ;定義數(shù)據(jù)段2 A DB03 B DB04 C DB?5 DATA ENDS6 PROG SEGMENT ;定義程序段7 MAIN PROCFAR ;定義一遠(yuǎn)過(guò)程8 ASSUMECS:PROG,DS:DATA9 START: PUSH DS ;為返回做準(zhǔn)備10 SUB AX,AX11 PUSH AX12 MOV AX,DATA13 MOV DS,AX
14 MOV AH,01H ;mainpartofprogramcodegoeshere15 INT 21H16 AND AL,0FH17 MOV A,AL18 MOV AH,01H19 INT 21H20 AND AL,0FH21 MOV B,AL22 ADD AL,A23 MOV C,AL24 MOV DL,A25 ADD DL,30H26 MOV AH,227 INT 21H28 MOV DL,”+”29 INT 21H30 MOV DL,B31 ADD DL,30H32 INT 21H33
MOV DL,“=”34 ADD DL,30H35 INT 21H36
MOV DL,C37 ADD DL,30H38 INT 21H39 RET40 MAIN ENDP ;ReturntoDOS41 PROG ENDS ;Endofmainpartofprogram42 END START ;Endassembly§1.4計(jì)算機(jī)中數(shù)和字符的表示一、數(shù)制及數(shù)制之間的轉(zhuǎn)換二、碼制三、BCD碼及其表示四、字符的編碼五、幾種基本的邏輯運(yùn)算一、數(shù)制及數(shù)制之間的轉(zhuǎn)換匯編語(yǔ)言使用的數(shù)制:十進(jìn)制數(shù)(D)二進(jìn)制數(shù)(B)十六進(jìn)制數(shù)(H)匯編程序自動(dòng)完成二、碼制計(jì)算機(jī)中的數(shù)是用補(bǔ)碼表示的帶符號(hào)數(shù)的表示范圍(補(bǔ)碼) n位二進(jìn)制數(shù) -2n-1
≦N≦2n-1-18位二進(jìn)制數(shù): -128—+12716位二進(jìn)制數(shù): -32768—+32767三、BCD碼及其表示76543210BCD無(wú)意義76543210BCDBCD個(gè)位十位用4位二進(jìn)制數(shù)表示1位十進(jìn)制數(shù)常用的BCD碼存儲(chǔ)格式組合(壓縮)型BCD碼(1Byte表示2個(gè)BCD碼)非組合(非壓縮)型BCD碼(1Byte表示1個(gè)BCD碼)四、字符的編碼采
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《電路分析基礎(chǔ)試題》課件
- 《微觀經(jīng)濟(jì)學(xué)》考試試卷試題及參考答案
- 《專業(yè)英語(yǔ)(計(jì)算機(jī)英語(yǔ))》復(fù)習(xí)題
- 八下期末考拔高測(cè)試卷(5)(原卷版)
- 《誠(chéng)邀創(chuàng)業(yè)伙伴》課件
- 2012年高考語(yǔ)文試卷(安徽)(解析卷)
- 父母課堂與教育理念分享計(jì)劃
- 購(gòu)物中心導(dǎo)購(gòu)員服務(wù)總結(jié)
- 水產(chǎn)養(yǎng)殖行業(yè)銷售工作總結(jié)
- 娛樂(lè)場(chǎng)館衛(wèi)生要素
- 變曲率雙向可調(diào)收縫式翻升模板施工工法
- 教你炒紅爐火版00纏論大概
- 消防管道施工合同
- 大學(xué)生計(jì)算與信息化素養(yǎng)-北京林業(yè)大學(xué)中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
- 2023年中國(guó)社會(huì)科學(xué)院外國(guó)文學(xué)研究所專業(yè)技術(shù)人員招聘3人(共500題含答案解析)筆試歷年難、易錯(cuò)考點(diǎn)試題含答案附詳解
- 2023年國(guó)開(kāi)大學(xué)期末考復(fù)習(xí)題-3987《Web開(kāi)發(fā)基礎(chǔ)》
- 《駱駝祥子》1-24章每章練習(xí)題及答案
- 《伊利乳業(yè)集團(tuán)盈利能力研究》文獻(xiàn)綜述3000字
- 減鹽防控高血壓培訓(xùn)課件
- 2023年百一測(cè)評(píng)-房地產(chǎn)企業(yè)崗位招聘工程副總經(jīng)理筆試試題
- 英語(yǔ)課presentation中國(guó)麻將-Chinese-mahjong
評(píng)論
0/150
提交評(píng)論