匯編語言程序設(shè)計第一章ppt_第1頁
匯編語言程序設(shè)計第一章ppt_第2頁
匯編語言程序設(shè)計第一章ppt_第3頁
匯編語言程序設(shè)計第一章ppt_第4頁
匯編語言程序設(shè)計第一章ppt_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第1章引言1.1CPU的基本功能1.2數(shù)據(jù)的表示和存儲1.3匯編語言匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第1頁。1.1CPU的基本功能

1.1.1目標(biāo)代碼1.1.2CPU的基本功能匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第2頁。1.1.1目標(biāo)代碼計算機(jī)系統(tǒng)中的CPU只能執(zhí)行機(jī)器指令

由機(jī)器指令組成的程序,也就是目標(biāo)程序,也稱為目標(biāo)代碼

計算機(jī)系統(tǒng)最終運行的是對應(yīng)的目標(biāo)程序匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第3頁。1.1.1目標(biāo)代碼

inttest11(void){intsum,i;sum=0;for(i=1;i<=10;i+=1)sum+=i*i;returnsum;}匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第4頁。1.1.1目標(biāo)代碼

inttest11(void){intsum,i;sum=0;for(i=1;i<=10;i+=1)sum+=i*i;returnsum;}

XOREAX,EAXMOVECX,1LAB1:MOVEDX,ECXIMULEDX,ECXADDEAX,EDXINCECXCMPECX,10JLELAB1RET匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第5頁。1.1.2CPU的基本功能

執(zhí)行機(jī)器指令暫存少量數(shù)據(jù)訪問存儲器匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第6頁。1.1.2CPU的基本功能

執(zhí)行機(jī)器指令CPU能夠直接識別并遵照執(zhí)行的指令稱為機(jī)器指令。一款CPU能夠執(zhí)行的全部機(jī)器指令,稱為CPU的指令集。CPU能夠一條接一條地執(zhí)行存放在存儲器中的機(jī)器指令。每一條機(jī)器指令的功能往往是很有限的。CPU決定機(jī)器指令。不同種類的CPU,其指令集往往不相同。按指令的功能來劃分,通常機(jī)器指令可分為以下幾大類:數(shù)據(jù)傳送指令、算術(shù)邏輯運算指、轉(zhuǎn)移指令、處理器控制指令和其他指令等。匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第7頁。1.1.2CPU的基本功能

暫存少量數(shù)據(jù)一個目標(biāo)程序中的絕大部分指令是對數(shù)據(jù)進(jìn)行各種運算或者處理。CPU有若干個寄存器,可以用于存放運算數(shù)據(jù)和運算結(jié)果。利用寄存器存放運算數(shù)據(jù)和運算結(jié)果,效率是最高的。指令集中大部分指令的操作數(shù)據(jù)至少有一個在寄存器中。CPU內(nèi)可用于存放運算數(shù)據(jù)和運算結(jié)果的寄存器數(shù)量是很有限的。匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第8頁。1.1.2CPU的基本功能

訪問存儲器CPU要執(zhí)行目標(biāo)程序,就要訪問存儲器。目標(biāo)程序在存儲器中,待處理的數(shù)據(jù)也在存儲器中。這里存儲器是指CPU能夠直接訪問的計算機(jī)系統(tǒng)的物理內(nèi)存。存儲器(內(nèi)存)由一系列存儲單元線性地組成,最基本的存儲單元為一個字節(jié)。為了標(biāo)識和存取每一個存儲單元,給每一個存儲單元規(guī)定一個編號,也就是存儲單元地址。CPU支持以多種形式表示存儲單元的地址。一些功能較強的CPU還支持以多種方式組織管理存儲器。匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第9頁。1.1.2CPU的基本功能

intx=1;inty=2;voidtest12(void){y=x*x+3;return;}

MOVEAX,?x@@3HAMOVECX,EAXIMULECX,EAXADDECX,3MOV?y@@3HA,ECXRET訪問存儲器匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第10頁。1.2數(shù)據(jù)的表示和存儲1.2.1數(shù)值數(shù)據(jù)的表示1.2.2非數(shù)值數(shù)據(jù)的表示1.2.3基本數(shù)據(jù)類型1.2.4數(shù)據(jù)的存儲匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第11頁。1.2.1數(shù)值數(shù)據(jù)的表示數(shù)的二進(jìn)制表示有符號數(shù)的補碼表示

符號擴(kuò)展

數(shù)值數(shù)據(jù)的表示范圍

BCD碼

十六進(jìn)制表示

匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第12頁。1.2.1數(shù)值數(shù)據(jù)的表示數(shù)的二進(jìn)制表示有符號數(shù)的補碼表示

符號擴(kuò)展

十進(jìn)制數(shù)21:8位0001010115H16位00000000000101010015H32位0000000000000000000000000001010100000015H十進(jìn)制數(shù)-3:

8位11111101FDH16位1111111111111101FFFDH32位11111111111111111111111111111101FFFFFFFDH匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第13頁。1.2.1數(shù)值數(shù)據(jù)的表示數(shù)值數(shù)據(jù)的表示范圍

二進(jìn)制位數(shù)無符號數(shù)有符號數(shù)80--255-128--+127160--65535-32768--+32767320--4294967295-2147483648--+2147483647匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第14頁。1.2.1數(shù)值數(shù)據(jù)的表示BCD碼

十進(jìn)制數(shù)字8421BCD碼十進(jìn)制數(shù)字8421BCD碼00000501011000160110200107011130011810004010091001匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第15頁。1.2.2非數(shù)值數(shù)據(jù)的表示ABC……YZ41H42H43H……59H5AHabc……yz61H62H63H……79H7AH西文字符的表示漢字的表示空格回車換行退格響鈴制表20H0DH0AH08H07H09H匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第16頁。1.2.3基本數(shù)據(jù)類型字節(jié)字雙字四字十字節(jié)字符串匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第17頁。1.2.3基本數(shù)據(jù)類型字節(jié)字雙字匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第18頁。1.2.4數(shù)據(jù)的存儲以二進(jìn)制形式表示的數(shù)據(jù)和代碼存放在存儲器或者內(nèi)存中。內(nèi)存由一系列基本存儲單元線性地組成,每一個基本存儲單元有一個唯一的地址。通常,基本存儲單元由8個連續(xù)的位構(gòu)成,可用于存儲一個字節(jié)的數(shù)據(jù)。所以,基本存儲單元也被稱為字節(jié)存儲單元??梢园褍?nèi)存看作為一個很大的一維字符數(shù)組,把地址看作為標(biāo)識數(shù)組元素的下標(biāo)。匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第19頁。1.2.4數(shù)據(jù)的存儲字節(jié)存儲單元是基本的存儲單元。每一個字節(jié)存儲單元中的8位數(shù)據(jù)的意義,根據(jù)需要可以有不同的解釋.

兩個連續(xù)的字節(jié)存儲單元構(gòu)成一個字存儲單元,字存儲單元的地址是較低的字節(jié)存儲單元的地址。“高高低低”規(guī)則。匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第20頁。RETmov ax,[2000h]41;MOVEAX,?x@@3HA7EF3存儲器(內(nèi)存)由一系列存儲單元線性地組成,最基本的存儲單元為一個字節(jié)。把CPU能夠直接識別并遵照執(zhí)行的指令稱為機(jī)器指令。INCECXinty=2;IMULEDX,ECX33C0MOVEAX,?x@@3HA每一個字節(jié)存儲單元中的8位數(shù)據(jù)的意義,根據(jù)需要可以有不同的解釋.2CPU的基本功能sum+=i*i;MOV?y@@3HA,ECXIMULECX,EAXCPU能夠直接識別并遵照執(zhí)行的指令稱為機(jī)器指令。MOVECX,100000011110000101.2.4數(shù)據(jù)的存儲

#include"stdafx.h"charbuff[]={3,2,1,0,130};//130=0x82inta,b;intmain(intargc,char*argv[]){char*p=buff;a=*(int*)p;b=*(int*)(p+1);printf("a=%x,b=%x\n",a,b);printf("a=%d,b=%d\n",a,b);return0;}匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第21頁。1.3匯編語言1.3.1機(jī)器指令1.3.2匯編格式指令1.3.3匯編語言1.3.4應(yīng)用匯編語言的場合匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第22頁。1.3.1機(jī)器指令把CPU能夠直接識別并遵照執(zhí)行的指令稱為機(jī)器指令。機(jī)器指令一般由操作碼和操作數(shù)兩部分構(gòu)成。操作碼指出要進(jìn)行的操作或運算,例如,加、減、傳送等。操作數(shù)指出參與操作或運算的對象,也指出操作或運算結(jié)果存放的位置,如寄存器、存儲單元和數(shù)據(jù)等。

匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第23頁。1.3.1機(jī)器指令機(jī)器指令采用二進(jìn)制編碼表示。

33C0B9010000008BD10FAFD103C2;000000111100001041;0100000183F90A7EF3C3匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第24頁。1.3.1機(jī)器指令機(jī)器指令采用二進(jìn)制編碼表示。

XOREAX,EAXMOVECX,1LAB1:MOVEDX,ECXIMULEDX,ECXADDEAX,EDXINCECXCMPECX,10JLELAB1RET

33C0B9010000008BD10FAFD103C2;000000111100001041;0100000183F90A7EF3C3匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第25頁。1.3.2匯編格式指令人們采用便于記憶、并能描述指令功能的符號來表示指令的操作碼。這些符號被稱為指令助記符。用符號表示操作數(shù),如寄存器、存儲單元地址等。用指令助記符、地址符號等符號表示的指令稱為匯編格式指令。

[標(biāo)號:]指令助記符[操作數(shù)表]匯編格式指令的一般格式如下:

匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第26頁。1.3.3匯編語言匯編語言匯編和匯編程序匯編語言的優(yōu)缺點語言的發(fā)展匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第27頁。1.3.3匯編語言語言是交流的工具。程序設(shè)計語言是人與計算機(jī)交流的工具。程序設(shè)計語言由語句和使用語句的規(guī)則組成。匯編語言匯編語言是一種程序設(shè)計語言。匯編語言的語句是匯編格式指令和偽指令。由于匯編語言的主體是匯編格式指令,而匯編格式指令又與機(jī)器密切相關(guān),且功能有限,所以常把匯編語言稱為低級語言。匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第28頁。1.3.3匯編語言匯編和匯編程序把用匯編語言編寫的程序稱為匯編語言源程序,或稱為匯編源程序,或簡稱為源程序把匯編源程序翻譯成目標(biāo)程序的過程稱為匯編。完成匯編工作的工具或程序叫做匯編程序。

匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第29頁。1.3.3匯編語言匯編和匯編程序匯編匯編語言源程序目標(biāo)程序匯編程序匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第30頁。1.3.3匯編語言匯編語言的優(yōu)缺點匯編語言與機(jī)器關(guān)系密切匯編語言程序效率高

編寫匯編語言源程序繁瑣

匯編語言程序調(diào)試?yán)щy

與機(jī)器關(guān)系密切效率高很繁瑣難調(diào)試匯編語言程序設(shè)計第一章ppt全文共33頁,當(dāng)前為第31頁。IMUL

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論