av素人天堂_free性亚洲_久久亚洲国产视频_国产网红在线_午夜av在线播放_欧美成人精品福利网站_热99在线观看_国产在线观看免费麻豆_日本高清在线观看_亚洲免费网站观看视频

【匯編基礎(chǔ)】1.基礎(chǔ)知識(shí)

1.1機(jī)器語(yǔ)言

說(shuō)到匯編語(yǔ)言的產(chǎn)生,首先要講一下機(jī)器語(yǔ)言。機(jī)器語(yǔ)言是機(jī)器指令的集合。機(jī)器指令展開(kāi)來(lái)講就是一臺(tái)機(jī)器可以正確執(zhí)行的命令。電子計(jì)算機(jī)的機(jī)器指令是一列二進(jìn)制數(shù)字。計(jì)算機(jī)將之轉(zhuǎn)變?yōu)橐涣懈叩碗娖?,以使?jì)算機(jī)的電子器件受到驅(qū)動(dòng),進(jìn)行運(yùn)算。

上面所說(shuō)的計(jì)算機(jī)指的是可以執(zhí)行機(jī)器指令,進(jìn)行運(yùn)算的機(jī)器。這是早期計(jì)算機(jī)的概念。現(xiàn)在,在我們常用的PC機(jī)中,有一個(gè)芯片來(lái)完成上面所說(shuō)的計(jì)算機(jī)的功能。這個(gè)芯片就是我們常說(shuō)的CPU(Central Processing Unit,中央處理單元),CPU是一種微處理器。以后我們提到的計(jì)算機(jī)是指由CPU和其他受CPU直接或間接控制的芯片、器件、設(shè)備組成的計(jì)算機(jī)系統(tǒng),比如我們最常見(jiàn)的PC機(jī)。

每一種微處理器,由于硬件設(shè)計(jì)和內(nèi)部結(jié)構(gòu)的不同,就需要用不同的電平脈沖來(lái)控制,使它工作。所以每一種微處理器都有自己的機(jī)器指令集,也就是機(jī)器語(yǔ)言。

早期的程序設(shè)計(jì)均使用機(jī)器語(yǔ)言。程序員們將用0、1數(shù)字編成的程序代碼打在紙帶或卡片上,1打孔,0不打孔,再將程序通過(guò)紙帶機(jī)或卡片機(jī)輸入計(jì)算機(jī),進(jìn)行運(yùn)算。

早期的程序設(shè)計(jì)均使用機(jī)器語(yǔ)言。程序員們將用0、1數(shù)字編成的程序代碼打在紙帶或卡片上,1打孔,0不打孔,再將程序通過(guò)紙帶機(jī)或卡片機(jī)輸入計(jì)算機(jī),進(jìn)行運(yùn)算。

應(yīng)用8086CPU完成運(yùn)算s=768+12288-1280,機(jī)器碼如下。

101110000000000000000011000001010000000000110000001011010000000000000101

假如將程序錯(cuò)寫(xiě)成以下這樣,請(qǐng)你找出錯(cuò)誤。

101100000000000000000011000001010000000000110000000101101000000000000101

書(shū)寫(xiě)和閱讀機(jī)器碼程序不是一件簡(jiǎn)單的工作,要記住所有抽象的二進(jìn)制碼。上面只是一個(gè)非常簡(jiǎn)單的小程序,就暴露了機(jī)器碼的晦澀難懂和不易查錯(cuò)。寫(xiě)如此小的一個(gè)程序尚且如此,實(shí)際上一個(gè)有用的程序至少要有幾十行機(jī)器碼,那么,情況將怎么樣呢?
在顯示器上輸出“welcome to masm”,機(jī)器碼如下。

00011110
101110000000000000000000
01010000
101110001100011000001111
1000111011011000
1011010000000110
1011000000000000
1011011100000111
101110010000000000000000
1011011000011000
1011001001001111
1100110100010000
1011010000000010
1011011100000000
1011011000000000
1011001000000000
1100110100010000
1011010000001001
10001101000101100010101000000000
1100110100100001
1011010000001010
10001101000101100011000100000000
1100110100100001
1011010000000110
1011000000010100
1011011100011001
1011010100001011
1011000100010011
1011011000001101
1011001000111100
1100110100010000
1011010000000010
1011011100000000
1011000000001100
1011001000010100
1100110100010000
1011010000001001
10001101000101100000000000000000
1100110100100001
11001011

看到這樣的程序,你有什么感想?如果程序里有一個(gè)“1”被誤寫(xiě)為“0”,又如何去查找呢?

1.2 匯編語(yǔ)言的產(chǎn)生

早期的程序員們很快就發(fā)現(xiàn)了使用機(jī)器語(yǔ)言帶來(lái)的麻煩,它是如此難于辨別和記憶,給整個(gè)產(chǎn)業(yè)的發(fā)展帶來(lái)了障礙。于是匯編語(yǔ)言產(chǎn)生了。
匯編語(yǔ)言的主體是匯編指令。匯編指令和機(jī)器指令的差別在于指令的表示方法上。匯編指令是機(jī)器指令便于記憶的書(shū)寫(xiě)格式。
例如:機(jī)器指令1000100111011000表示把寄存器BX的內(nèi)容送到AX中。匯編指令則寫(xiě)成mov ax,bx。這樣的寫(xiě)法與人類(lèi)語(yǔ)言接近,便于閱讀和記憶。

操作:寄存器BX的內(nèi)容送到AX中
機(jī)器指令:1000100111011000
匯編指令:mov ax,bx

(寄存器,簡(jiǎn)單地講是CPU中可以存儲(chǔ)數(shù)據(jù)的器件,一個(gè)CPU中有多個(gè)寄存器。AX是其中一個(gè)寄存器的代號(hào),BX是另一個(gè)寄存器的代號(hào)。更詳細(xì)的內(nèi)容我們?cè)谝院蟮恼n程中將會(huì)講到。)

此后,程序員們就用匯編指令編寫(xiě)源程序??墒?,計(jì)算機(jī)能讀懂的只有機(jī)器指令,那么如何讓計(jì)算機(jī)執(zhí)行程序員用匯編指令編寫(xiě)的程序呢?這時(shí),就需要有一個(gè)能夠?qū)R編指令轉(zhuǎn)換成機(jī)器指令的翻譯程序,這樣的程序我們稱(chēng)其為編譯器。程序員用匯編語(yǔ)言寫(xiě)出源程序,再用匯編編譯器將其編譯為機(jī)器碼,由計(jì)算機(jī)最終執(zhí)行。圖1.1描述了這個(gè)工作過(guò)程。

1.3 匯編語(yǔ)言的組成

匯編語(yǔ)言發(fā)展至今,有以下3類(lèi)指令組成。
(1)匯編指令:機(jī)器碼的助記符,有對(duì)應(yīng)的機(jī)器碼。
(2)偽指令:沒(méi)有對(duì)應(yīng)的機(jī)器碼,由編譯器執(zhí)行,計(jì)算機(jī)并不執(zhí)行。
(3)其他符號(hào):如+、一、*、/ 等,由編譯器識(shí)別,沒(méi)有對(duì)應(yīng)的機(jī)器碼。
匯編語(yǔ)言的核心是匯編指令,它決定了匯編語(yǔ)言的特性。

1.4 存儲(chǔ)器

CPU是計(jì)算機(jī)的核心部件,它控制整個(gè)計(jì)算機(jī)的運(yùn)作并進(jìn)行運(yùn)算。要想讓一個(gè)CPU工作,就必須向它提供指令和數(shù)據(jù)。指令和數(shù)據(jù)在存儲(chǔ)器中存放,也就是我們平時(shí)所說(shuō)的內(nèi)存。在一臺(tái)PC機(jī)中內(nèi)存的作用僅次于CPU。離開(kāi)了內(nèi)存,性能再好的CPU也無(wú)法工作。這就像再聰明的大腦,沒(méi)有了記憶也無(wú)法進(jìn)行思考。磁盤(pán)不同于內(nèi)存,磁盤(pán)上的數(shù)據(jù)或程序如果不讀到內(nèi)存中,就無(wú)法被CPU使用。要靈活地利用匯編語(yǔ)言編程,我們首先要了解CPU是如何從內(nèi)存中讀取信息,以及向內(nèi)存中寫(xiě)入信息的。

1.5 指令和數(shù)據(jù)

指令和數(shù)據(jù)是應(yīng)用上的概念。在內(nèi)存或磁盤(pán)上,指令和數(shù)據(jù)沒(méi)有任何區(qū)別,都是二進(jìn)制信息。CPU在工作的時(shí)候把有的信息看作指令,有的信息看作數(shù)據(jù),為同樣的信息賦予了不同的意義。就像圍棋的棋子,在棋盒里的時(shí)候沒(méi)有任何區(qū)別,在對(duì)弈的時(shí)候就有了不同的意義。

1.6 存儲(chǔ)單元

存儲(chǔ)器被劃分成若干個(gè)存儲(chǔ)單元,每個(gè)存儲(chǔ)單元從0開(kāi)始順序編號(hào),例如一個(gè)存儲(chǔ)器有128個(gè)存儲(chǔ)單元,編號(hào)從0~127,如圖1.2所示。
那么一個(gè)存儲(chǔ)單元能存儲(chǔ)多少信息呢?我們知道電子計(jì)算機(jī)的最小信息單位是bit(音譯為比特),也就是一個(gè)二進(jìn)制位。8個(gè)bit組成一個(gè)Byte,也就是通常講的一個(gè)字節(jié)。微型機(jī)存儲(chǔ)器的存儲(chǔ)單元可以存儲(chǔ)一個(gè)Byte,即8個(gè)二進(jìn)制位。一個(gè)存儲(chǔ)器有128個(gè)存儲(chǔ)單元,它可以存儲(chǔ)128個(gè)Byte。
微機(jī)存儲(chǔ)器的容量是以字節(jié)為最小單位來(lái)計(jì)算的。對(duì)于擁有128個(gè)存儲(chǔ)單元的存儲(chǔ)器,我們可以說(shuō),它的容量是128個(gè)字節(jié)。

對(duì)于大容量的存儲(chǔ)器一般還用以下單位來(lái)計(jì)量容量(以下用B來(lái)代表Byte):

1KB=1024B

1MB=1024KB

1GB=1024MB

1TB=1024GB

磁盤(pán)的容量單位同內(nèi)存的一樣,實(shí)際上以上單位是微機(jī)中常用的計(jì)量單位。

1.7 CPU對(duì)存儲(chǔ)器的讀寫(xiě)

以上講到,存儲(chǔ)器被劃分成多個(gè)存儲(chǔ)單元,存儲(chǔ)單元從零開(kāi)始順序編號(hào)。這些編號(hào)可以看作存儲(chǔ)單元在存儲(chǔ)器中的地址。就像一條街,每個(gè)房子都有門(mén)牌號(hào)碼。
CPU要從內(nèi)存中讀數(shù)據(jù),首先要指定存儲(chǔ)單元的地址。也就是說(shuō)它要先確定它要讀取哪一個(gè)存儲(chǔ)單元中的數(shù)據(jù)。就像在一條街上找人,先要確定他住在哪個(gè)房子里。

另外,在一臺(tái)微機(jī)中,不只有存儲(chǔ)器這一種器件。CPU在讀寫(xiě)數(shù)據(jù)時(shí)還要指明,它要對(duì)哪一個(gè)器件進(jìn)行操作,進(jìn)行哪種操作,是從中讀出數(shù)據(jù),還是向里面寫(xiě)入數(shù)據(jù)。

可見(jiàn),CPU要想進(jìn)行數(shù)據(jù)的讀寫(xiě),必須和外部器件(標(biāo)準(zhǔn)的說(shuō)法是芯片)進(jìn)行下面3類(lèi)信息的交互。

  • 存儲(chǔ)單元的地址(地址信息)
  • 器件的選擇,讀或?qū)懙拿睿刂菩畔ⅲ?/li>
  • 讀或?qū)懙臄?shù)據(jù)(數(shù)據(jù)信息)

那么CPU是通過(guò)什么將地址、數(shù)據(jù)和控制信息傳到存儲(chǔ)器芯片中的呢?電子計(jì)算機(jī)能處理、傳輸?shù)男畔⒍际请娦盘?hào),電信號(hào)當(dāng)然要用導(dǎo)線傳送。在計(jì)算機(jī)中專(zhuān)門(mén)有連接CPU和其他芯片的導(dǎo)線,通常稱(chēng)為總線??偩€從物理上來(lái)講,就是一根根導(dǎo)線的集合。
根據(jù)傳送信息的不同,總線從邏輯上又分為3類(lèi),地址總線控制總線數(shù)據(jù)總線。

CPU從3號(hào)單元中讀取數(shù)據(jù)的過(guò)程(見(jiàn)圖1.3)如下。

(1)CPU通過(guò)地址線將地址信息3發(fā)出。
(2)CPU通過(guò)控制線發(fā)出內(nèi)存讀命令,選中存儲(chǔ)器芯片,并通知它,將要從中讀取數(shù)據(jù)。

(3)存儲(chǔ)器將3號(hào)單元中的數(shù)據(jù)8通過(guò)數(shù)據(jù)線送入CPU。

寫(xiě)操作與讀操作的步驟相似。如向3號(hào)單元寫(xiě)入數(shù)據(jù)26。
(1)CPU通過(guò)地址線將地址信息3發(fā)出。
(2)CPU通過(guò)控制線發(fā)出內(nèi)存寫(xiě)命令,選中存儲(chǔ)器芯片,并通知它,要向其中寫(xiě)入數(shù)據(jù)。
(3)CPU通過(guò)數(shù)據(jù)線將數(shù)據(jù)26送入內(nèi)存的3號(hào)單元中。

從上面我們知道了CPU是如何進(jìn)行數(shù)據(jù)讀寫(xiě)的??墒?,如何命令計(jì)算機(jī)進(jìn)行數(shù)據(jù)的讀寫(xiě)呢?
要讓一個(gè)計(jì)算機(jī)或微處理器工作,應(yīng)向它輸入能夠驅(qū)動(dòng)它進(jìn)行工作的電平信息(機(jī)器碼)。
對(duì)于8086CPU,下面的機(jī)器碼,能夠完成從3號(hào)單元讀數(shù)據(jù)。

機(jī)器碼:101000010000001100000000
含義:從3號(hào)單元讀取數(shù)據(jù)送入寄存器AX

CPU接收這條機(jī)器碼后將完成我們上面所述的讀寫(xiě)工作。
機(jī)器碼難于記憶,用匯編指令來(lái)表示,情況如下。

機(jī)器碼:101000010000001100000000
對(duì)應(yīng)的匯編指令:MOV AX,[3]
含義:傳送3號(hào)單元的內(nèi)容入AX

1.8 地址總線

現(xiàn)在我們知道,CPU是通過(guò)地址總線來(lái)指定存儲(chǔ)器單元的。可見(jiàn)地址總線上能傳送多少個(gè)不同的信息,CPU就可以對(duì)多少個(gè)存儲(chǔ)單元進(jìn)行尋址。
現(xiàn)假設(shè),一個(gè)CPU有10根地址總線,讓我們來(lái)看一下它的尋址情況。我們知道,在電子計(jì)算機(jī)中,一根導(dǎo)線可以傳送的穩(wěn)定狀態(tài)只有兩種,高電平或是低電平。用二進(jìn)制表示就是1或0,10根導(dǎo)線可以傳送10位二進(jìn)制數(shù)據(jù)。而10位二進(jìn)制數(shù)可以表示多少個(gè)不同的數(shù)據(jù)呢?2的10次方個(gè)。最小數(shù)為0,最大數(shù)為1023。

圖1.4展示了一個(gè)具有10根地址線的CPU向內(nèi)存發(fā)出地址信息11時(shí)10根地址線上傳送的二進(jìn)制信息。考慮一下,訪問(wèn)地址為12、13、14等的內(nèi)存單元時(shí),地址總線上傳送的內(nèi)容是什么?

一個(gè)CPU有N根地址線,則可以說(shuō)這個(gè)CPU的地址總線的寬度為N。這樣的CPU最多可以尋找2的N次方個(gè)內(nèi)存單元。

1.9 數(shù)據(jù)總線

CPU與內(nèi)存或其他器件之間的數(shù)據(jù)傳送是通過(guò)數(shù)據(jù)總線來(lái)進(jìn)行的。數(shù)據(jù)總線的寬度決定了CPU和外界的數(shù)據(jù)傳送速度。8根數(shù)據(jù)總線一次可傳送一個(gè)8位二進(jìn)制數(shù)據(jù)(即一個(gè)字節(jié))。16根數(shù)據(jù)總線一次可傳送兩個(gè)字節(jié)。
8088CPU的數(shù)據(jù)總線寬度為8,8086CPU的數(shù)據(jù)總線寬度為16。我們來(lái)分別看一下它們向內(nèi)存中寫(xiě)入數(shù)據(jù)89D8H時(shí),是如何通過(guò)數(shù)據(jù)總線傳送數(shù)據(jù)的。圖1.5展示了8088CPU數(shù)據(jù)總線上的數(shù)據(jù)傳送情況;圖1.6展示了8086CPU數(shù)據(jù)總線上的數(shù)據(jù)傳送情況。

8088CPU分兩次傳送89D8,第一次傳送D8,第二次傳送89。

8086有16根數(shù)據(jù)線,可一次傳送16位數(shù)據(jù),所以可一次傳送數(shù)據(jù)89D8H;而8088只有8根數(shù)據(jù)線,一次只能傳8位數(shù)據(jù),所以向內(nèi)存寫(xiě)入數(shù)據(jù)89D8H時(shí)需要進(jìn)行兩次數(shù)據(jù)傳送。

1.10 控制總線

CPU對(duì)外部器件的控制是通過(guò)控制總線來(lái)進(jìn)行的。在這里控制總線是個(gè)總稱(chēng),控制總線是一些不同控制線的集合。有多少根控制總線,就意味著CPU提供了對(duì)外部器件的多少種控制。所以,控制總線的寬度決定了CPU對(duì)外部器件的控制能力。

前面所講的內(nèi)存讀或?qū)懨钍怯蓭赘刂凭€綜合發(fā)出的,其中有一根稱(chēng)為“讀信號(hào)輸出”的控制線負(fù)責(zé)由CPU向外傳送讀信號(hào),CPU向該控制線上輸出低電平表示將要讀取數(shù)據(jù);有一根稱(chēng)為“寫(xiě)信號(hào)輸出”的控制線則負(fù)責(zé)傳送寫(xiě)信號(hào)。

1.11 內(nèi)存地址空間(概述)

什么是內(nèi)存地址空間呢?舉例來(lái)講,一個(gè)CPU的地址總線寬度為10,那么可以尋址1024個(gè)內(nèi)存單元,這1024個(gè)可尋到的內(nèi)存單元就構(gòu)成這個(gè)CPU的內(nèi)存地址空間。下面進(jìn)行深入討論。首先需要介紹兩部分基本知識(shí),主板和接口卡。

1.12 主板

在每一臺(tái)PC機(jī)中,都有一個(gè)主板,主板上有核心器件和一些主要器件,這些器件通過(guò)總線(地址總線、數(shù)據(jù)總線、控制總線)相連。這些器件有CPU、存儲(chǔ)器、外圍芯片組、擴(kuò)展插槽等。擴(kuò)展插槽上一般插有RAM內(nèi)存條和各類(lèi)接口卡。

1.13 接口卡

計(jì)算機(jī)系統(tǒng)中,所有可用程序控制其工作的設(shè)備,必須受到CPU的控制。CPU對(duì)外部設(shè)備都不能直接控制,如顯示器、音箱、打印機(jī)等。直接控制這些設(shè)備進(jìn)行工作的是插在擴(kuò)展插槽上的接口卡。擴(kuò)展插槽通過(guò)總線和CPU相連,所以接口卡也通過(guò)總線同CPU相連。CPU可以直接控制這些接口卡,從而實(shí)現(xiàn)CPU對(duì)外設(shè)的間接控制。簡(jiǎn)單地講,就是CPU通過(guò)總線向接口卡發(fā)送命令,接口卡根據(jù)CPU的命令控制外設(shè)進(jìn)行工作。

1.14 各類(lèi)存儲(chǔ)器芯片

一臺(tái)PC機(jī)中,裝有多個(gè)存儲(chǔ)器芯片,這些存儲(chǔ)器芯片從物理連接上看是獨(dú)立的、不同的器件。從讀寫(xiě)屬性上看分為兩類(lèi):隨機(jī)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)。隨機(jī)存儲(chǔ)器可讀可寫(xiě),但必須帶電存儲(chǔ),關(guān)機(jī)后存儲(chǔ)的內(nèi)容丟失;只讀存儲(chǔ)器只能讀取不能寫(xiě)入,關(guān)機(jī)后其中的內(nèi)容不丟失。這些存儲(chǔ)器從功能和連接上又可分為以下幾類(lèi)。

  • 隨機(jī)存儲(chǔ)器。用于存放供CPU使用的絕大部分程序和數(shù)據(jù),主隨機(jī)存儲(chǔ)器一般由兩個(gè)位置上的RAM組成,裝在主板上RAM和插在擴(kuò)展插槽上的RAM。
  • 裝有BIOS(Basic Input/Output System,基本輸入/輸出系統(tǒng))的ROM BIOS是由主板和各類(lèi)接口卡(如顯卡、網(wǎng)卡等)廠商提供的軟件系統(tǒng),可以通過(guò)它利用該硬件設(shè)備進(jìn)行最基本的輸入輸出。在主板和某些接口卡上插有存儲(chǔ)相應(yīng)BIOS的ROM。例如,主板上的ROM中存儲(chǔ)著主板的BIOS(通常稱(chēng)為系統(tǒng)BIOS):顯卡上的ROM中存儲(chǔ)著顯卡的BIOS;如果網(wǎng)卡上裝有ROM,那其中就可以存儲(chǔ)網(wǎng)卡的 BIOS。
  • 接口卡上的RAM某些接口卡需要對(duì)大批量輸入、輸出數(shù)據(jù)進(jìn)行暫時(shí)存儲(chǔ),在其上裝有RAM。最典型的是顯示卡上的RAM,一般稱(chēng)為顯存。顯示卡隨時(shí)將顯存中的數(shù)據(jù)向顯示器上輸出。換句話說(shuō),我們將需要顯示的內(nèi)容寫(xiě)入顯存,就會(huì)出現(xiàn)在顯示器上。

1.15 內(nèi)存地址空間

上述的那些存儲(chǔ)器,在物理上是獨(dú)立的器件,但是在以下兩點(diǎn)上相同。

  • 都和CPU的總線相連。
  • CPU對(duì)它們進(jìn)行讀或?qū)懙臅r(shí)候都通過(guò)控制線發(fā)出內(nèi)存讀寫(xiě)命令。

這也就是說(shuō),CPU在操控它們的時(shí)候,把它們都當(dāng)作內(nèi)存來(lái)對(duì)待,把它們總的看作一個(gè)由若干存儲(chǔ)單元組成的邏輯存儲(chǔ)器,這個(gè)邏輯存儲(chǔ)器就是我們所說(shuō)的內(nèi)存地址空間。
在匯編這門(mén)課中,我們所面對(duì)的是內(nèi)存地址空間。

在圖中,所有的物理存儲(chǔ)器被看作一個(gè)由若干存儲(chǔ)單元組成的邏輯存儲(chǔ)器,每個(gè)物理存儲(chǔ)器在這個(gè)邏輯存儲(chǔ)器中占有一個(gè)地址段,即一段地址空間。CPU在這段地址空間中讀寫(xiě)數(shù)據(jù),實(shí)際上就是在相對(duì)應(yīng)的物理存儲(chǔ)器中讀寫(xiě)數(shù)據(jù)。

假設(shè),圖中的內(nèi)存地址空間的地址段分配如下。
地址0~7FFFH的32KB空間為主隨機(jī)存儲(chǔ)器的地址空間:
地址8000H-9FFFH的8KB空間為顯存地址空間:
地址A000H-FFFFH的24KB空間為各個(gè)ROM的地址空間。

這樣,CPU向內(nèi)存地址為1000H的內(nèi)存單元中寫(xiě)入數(shù)據(jù),這個(gè)數(shù)據(jù)就被寫(xiě)入主隨機(jī)存儲(chǔ)器中;CPU向內(nèi)存地址為8000H的內(nèi)存單元中寫(xiě)入數(shù)據(jù),這個(gè)數(shù)據(jù)就被寫(xiě)入顯存中,然后會(huì)被顯卡輸出到顯示器上;CPU向內(nèi)存地址為C000H的內(nèi)存單元中寫(xiě)入數(shù)據(jù)的操作是沒(méi)有結(jié)果的,C000H單元中的內(nèi)容不會(huì)被改變,C000H單元實(shí)際上就是ROM存儲(chǔ)器中的一個(gè)單元。

內(nèi)存地址空間的大小受CPU地址總線寬度的限制。8086CPU的地址總線寬度為20,可以傳送220個(gè)不同的地址信息(大小從0至220-1)。即可以定位220個(gè)內(nèi)存單元,則8086PC的內(nèi)存地址空間大小為lMB。同理,80386CPU的地址總線寬度為32,則內(nèi)存地址空間最大為4GB。

我們?cè)诨谝粋€(gè)計(jì)算機(jī)硬件系統(tǒng)編程的時(shí)候,必須知道這個(gè)系統(tǒng)中的內(nèi)存地址空間分配情況。因?yàn)楫?dāng)我們想在某類(lèi)存儲(chǔ)器中讀寫(xiě)數(shù)據(jù)的時(shí)候,必須知道它的第一個(gè)單元的地址和最后一個(gè)單元的地址,才能保證讀寫(xiě)操作是在預(yù)期的存儲(chǔ)器中進(jìn)行。比如,我們希望向顯示器輸出一段信息,那么必須將這段信息寫(xiě)到顯存中,顯卡才能將它輸出到顯示器上。要向顯存中寫(xiě)入數(shù)據(jù),必須知道顯存在內(nèi)存地址空間中的地址。

不同的計(jì)算機(jī)系統(tǒng)的內(nèi)存地址空間的分配情況是不同的,下圖展示了8086PC機(jī)內(nèi)存地址空間分配的基本情況。

上圖告訴我們,從地址0-9FFFF的內(nèi)存單元中讀取數(shù)據(jù),實(shí)際上就是在讀取主隨機(jī)存儲(chǔ)器中的數(shù)據(jù);向地址A0000-BFFFF的內(nèi)存單元中寫(xiě)數(shù)據(jù),就是向顯存中寫(xiě)入數(shù)據(jù),這些數(shù)據(jù)會(huì)被顯示卡輸出到顯示器上;我們向地址C0000-FFFFF的內(nèi)存單元中寫(xiě)入數(shù)據(jù)的操作是無(wú)效的,因?yàn)檫@等于改寫(xiě)只讀存儲(chǔ)器中的內(nèi)容。

內(nèi)存地址空間

最終運(yùn)行程序的是CPU,我們用匯編語(yǔ)言編程的時(shí)候,必須要從CPU的角度考慮問(wèn)題。對(duì)CPU來(lái)講,系統(tǒng)中的所有存儲(chǔ)器中的存儲(chǔ)單元都處于一個(gè)統(tǒng)一的邏輯存儲(chǔ)器中,它的容量受CPU尋址能力的限制。這個(gè)邏輯存儲(chǔ)器即是我們所說(shuō)的內(nèi)存地址空間。

上一篇 OllyDbg官方版和增強(qiáng)版
下一篇 【匯編基礎(chǔ)】2.寄存器
目錄
applek

applek管理員

個(gè)人說(shuō)明在個(gè)人中心里面設(shè)置

本月創(chuàng)作熱力圖

最新評(píng)論
chinacnd
chinacnd
6月26日
這個(gè)主題是怎么做到加載速度那么快的?
風(fēng)起云涌
風(fēng)起云涌
6月17日
前臺(tái)投稿現(xiàn)在有點(diǎn)太抽象了 希望可以弄成那種分區(qū)填寫(xiě)的 標(biāo)題,內(nèi)容,圖片,目錄,標(biāo)簽,這樣的
評(píng)論于留言建議
風(fēng)起云涌
風(fēng)起云涌
6月17日
希望加個(gè)開(kāi)關(guān)去掉頁(yè)腳的站點(diǎn)身份,還有自定義頁(yè)腳居中文字
評(píng)論于留言建議
卡卡
卡卡
5月31日
倒是放個(gè)演示地址啊
評(píng)論于AeroCore 主題發(fā)布
av素人天堂_free性亚洲_久久亚洲国产视频_国产网红在线_午夜av在线播放_欧美成人精品福利网站_热99在线观看_国产在线观看免费麻豆_日本高清在线观看_亚洲免费网站观看视频
中文字幕 亚洲视频| 国产成人中文字幕| 视频在线一区二区| 欧美三级日韩三级| 中文字幕欧美日韩在线| 午夜亚洲一区| 99热最新网址| 国产一区三区三区| 日韩国产91| 久久久精品欧美| 拍真实国产伦偷精品| a天堂在线资源| 亚洲第一福利视频在线| a天堂在线资源| 色妇色综合久久夜夜| 日本一级一片免费视频| 国产福利久久| 亚洲福利精品视频| 久久欧美中文字幕| 国产久卡久卡久卡久卡视频精品| 欧美日韩在线综合| 亚洲成在线观看| aaa欧美日韩| 91久久大香伊蕉在人线| 国产日韩精品在线观看| av不卡免费看| 欧美日韩一二三| 日韩精品一级| 日本免费在线视频不卡一不卡二| 午夜国产视频| 久久久精品国产99久久精品芒果| 日本不卡免费高清视频| 国产第一页在线播放| 久久99精品久久久久久青青日本| 色欧美日韩亚洲| av最新网址| 一区二区三区鲁丝不卡| 视频在线一区二区| 91精品网站| 国产一区在线观看视频| 亚洲女同中文字幕| 亚洲欧美中文在线视频| 国产欧美日韩第一页| 日韩欧美中文字幕在线播放| 亚洲欧美99| 中文字幕在线观看播放| 欧美一级久久久久久久久大| 久久精品最新免费国产成人| 久久精品99久久久久久久久| 成人禁用看黄a在线| 中文字幕欧美在线| 黄色在线播放网站| 激情国产在线| 亚洲高清中文字幕| 中文在线第一页| 国产免费播放一区二区| av影视在线看| 亚洲欧洲日产国码av系列天堂| 久草中文在线观看| 中文在线不卡视频| 中文精品在线观看| 一区二区视频在线| 蜜桃视频中文字幕| 精品国产乱码久久久久久牛牛| 国产三级在线播放| 日韩中文字幕亚洲| 精品福利二区三区| 日韩中文字幕| 最近高清中文在线字幕在线观看1| 欧美日韩国产页| 国产视频中文字幕在线观看| 中文字幕精品视频| 久久久久久久久99精品| 欧美日韩在线网站| av一区二区高清| 国产黄色片中文字幕| 伊人www22综合色| 亚洲日本欧美日韩高观看| 亚洲欧美韩国综合色| 69堂精品视频在线播放| 日韩免费视频一区二区| 在线国产三级| av三级在线观看| 黄色精品在线观看| 国产 中文 字幕 日韩 在线| 在线观看中文字幕一区| 日韩精品中文在线观看| 欧美日韩中文字幕日韩欧美| 久久精品在线免费观看| 91精品视频播放| 99精品电影| 国产不卡精品在线| 樱花草www在线| 日韩视频精品在线| av免费在线不卡| 国产天堂素人系列在线视频| 亚洲大片精品永久免费| 一区二区在线观| 欧美日韩亚洲一区| 欧美大片在线观看一区| 亚洲成av人片一区二区密柚| 国产不卡的av| 91精品网站| 精品国产欧美日韩不卡在线观看| 日韩欧美综合在线| 日韩欧美视频一区二区三区四区| 国产视频1区| 亚洲热在线观看| 91精品国产色综合久久不卡蜜臀| 免费看黄资源大全高清| 国产999精品在线观看| 国产高清在线一区| 中文天堂资源在线| 免费视频一区三区| 91精品国产综合久久久久久漫画| 91麻豆免费视频网站| 精品日韩99亚洲| 亚洲国产无线乱码在线观看| 亚洲综合日韩中文字幕v在线| 国产在线欧美| 91精品国产自产在线| 一级特黄大欧美久久久| 午夜福利一区二区三区| 欧美日韩精品是欧美日韩精品| 中文字幕欧美日韩va免费视频| xxxcom在线观看| 欧美三级中文字幕在线观看| 中文字幕欧美亚洲| 午夜精品一区二区三区视频免费看| 欧美日韩久久久| 日韩视频在线一区二区| 91精品国产91综合久久蜜臀| 日韩欧美国产三级| 日韩精品午夜| 91日韩欧美| 在线视频国内一区二区| 久久99精品国产| 欧美亚洲综合视频| 在线视频三区| 91精品在线免费观看| 精品国产不卡一区二区| 欧美日韩国产不卡在线看| 亚洲午夜久久| 精品亚洲永久免费| 日韩在线视频一区二区三区| 免费高清在线一区| 国产一级视频在线播放| 日韩视频在线观看一区| www.中文字幕在线| 午夜少妇久久久久久久久| 中文字幕在线观看网址| 91精品国产综合久久香蕉最新版| 亚洲一二三不卡| 一区在线播放视频| 亚洲国产www| 亚洲伊人婷婷| 日韩一级在线视频| 精品色蜜蜜精品视频在线观看| 欧美日韩综合视频| 中文字幕五月欧美| 欧美日韩中文字幕精品| 樱花草www在线观看| 伊人永久在线| 不卡一区二区三区视频| 中文字幕在线播放一区| 日韩你懂的电影在线观看| 激情国产在线| 中文字幕最新精品| 国产在线中文字幕| 成人一区二区不卡免费| 日韩亚洲欧美中文三级| 一区二区在线看| 精品av中文字幕在线毛片| 精品国内自产拍在线视频| 欧美 日韩 国产 在线观看| 日韩精品视频中文在线观看| 91www成人久久| 日韩国产高清一区| 亚洲 欧美 日韩系列| 日韩精品第一区| 91精品国产91综合久久蜜臀| 91精品久久久久久久久| 日韩a一区二区| 中文字幕视频在线观看| 久久精品99久久久久久久久| 欧美日韩尤物久久| 日韩欧美在线中文字幕| 一区二区三区中文字幕在线观看| 精品视频—区二区三区免费| 日韩中文在线字幕| 日韩中文字幕在线视频观看| 91精品在线国产| 欧美日韩视频免费看| 欧美日韩亚洲综合在线| 欧美日韩人人澡狠狠躁视频| 国产永久免费高清在线观看| 欧美中文字幕视频在线观看| 国产在线拍偷自揄拍精品| 国产一区精品| 国产欧美在线观看| 国产成人精品免费在线| 久草中文在线观看| 亚洲欧洲一区二区天堂久久| 日韩欧美国产综合| 欧美日本精品| av丝袜在线| 国产日韩精品视频| 黄色一级大片在线免费看国产一| 日韩av一区二区在线观看| 欧美色欧美亚洲高清在线视频| 91麻豆精品国产91久久久使用方法| 欧美一级日韩不卡播放免费| av中文在线资源| 国产成人日日夜夜| 国产三级视频在线播放线观看| 中文字幕高清在线播放| 日韩精品视频在线| 欧美中文字幕在线| 在线国产91| 欧美国产亚洲一区| 欧美日韩一级黄| 日韩中文字幕在线观看视频| 欧美日韩国产一二| 亚洲高清视频一区| 国产在线导航| 91精品国产91久久久久| 中文字幕最新精品| 欧美亚洲天堂网| 91精品国产亚洲| 91精品国产91综合久久蜜臀| www.三级.com| 亚洲第一精品在线| 91精品国产91久久| 一区二区中文字幕在线| 欧美日韩激情一区二区三区| 久久99精品久久久久子伦| 天天综合天天| 99精品999| 中文字幕视频在线免费欧美日韩综合在线看| 日韩视频精品| 中文字幕中文字幕精品| 日韩在线播放一区二区| 国产专区中文字幕| 欧美日韩国产综合视频在线观看中文| 91精品xxx在线观看| 国产91一区| 在线三级av| 精品一二三区视频| 国产高潮久久久| 日韩免费看网站| 99久久久精品免费观看国产| 亚洲狠狠婷婷综合久久久久图片| 亚洲第一视频网站| 日韩不卡一区二区| 欧美三级在线看| 日韩国产亚洲欧美| 一区二区精品区| 国产亚洲一级| 日韩免费视频一区二区视频在线观看| 精品视频国产| 亚洲社区在线| 日韩免费精品| 欧美啪啪一区| 亚洲成年网站在线观看| 91精品国产91久久久| 国产黄在线观看免费观看不卡| 一区二区不卡视频在线观看| 欧美三级中文字幕在线观看| 欧美日韩中文字幕综合视频| 91麻豆精品在线| 99视频在线看| 国产一区免费视频| 欧美日韩精品在线观看| 精品国产不卡一区二区| 99pao成人国产永久免费视频| 91九色在线看| 国产 日韩 欧美 综合 一区| 日本精品二区| 日韩国产专区| 亚洲福利一区| 精品日韩av| 亚洲 欧美综合在线网络| 国产在线日韩欧美| 91久久精品午夜一区二区| 日韩精品视频在线观看免费| 久久久精品网| 日韩av在线中文字幕| 欧美日韩精品欧美日韩精品| 日韩三级在线播放| 欧美日韩成人一区二区| 日韩精品在线私人| 欧美亚洲另类制服自拍| 免费精品国产自产拍观看| 91亚洲欧美| 国产欧美中文字幕| 国产成人一区二区精品非洲| 91精品国产乱码久久蜜臀| 一区视频在线播放| 欧美日韩亚洲综合| 日本免费在线视频不卡一不卡二| 在线一区二区三区精品| 亚洲一区在线观看免费| 亚洲福利精品| 成片免费观看| 99精品视频国产| av免费网站在线| 亚洲福利在线观看| 日韩中文字幕观看| 一区二区三区精品久久久| 精品999视频| 日韩精品一区二区三区视频播放| 中文字幕4区| 日韩视频在线观看视频| 亚洲最新免费视频| 日韩欧美中文第一页| 国产精久久久久| www 日韩| 精品成人久久久| 日韩精品在线中文字幕| 一级特黄aaa大片在线观看| 国产免费电影网站入口| 国产乱码在线观看| 欧美xxxx中国| 国产日韩精品视频| 韩国v欧美v日本v亚洲| 久久香蕉av| 亚洲成在线观看| 亚洲第一福利视频在线| 国产欧美日韩在线观看| 日韩精品a在线观看91| 午夜视频在线观看一区| 日韩视频一区| 午夜一区二区三区| 日韩亚洲一区中文字幕| 视频一区二区精品的福利| 精品在线网站观看| 狠狠色噜噜狠狠狠狠97| 亚洲综合三区| 精品调教chinesegay| 精品婷婷伊人一区三区三| 天天在线视频色| 亚洲最新永久观看在线| 激情久久99| 免费视频一区三区| 国产农村妇女精品一二区| www.狠狠| 91精品国产91久久久久久三级| 91精品久久久久久久久| 欧美午夜精品在线| 亚洲高清在线免费| 一区二区三区精品久久久| 91精品国产91| 欧美大片在线观看一区| 欧美三级在线视频| 欧美日韩在线视频首页| 欧美日韩乱国产| 九七久久人人| 精品人妻一区二区三区视频| 国产嫩草影院久久久久| 欧美二三四区| 欧美国产91| 日韩在线a电影| 欧美日韩人人澡狠狠躁视频| 在线不卡日本| 欧美日韩国产综合网| 在线日韩中文字幕| 99久久精品国产亚洲| 日韩精品在线看| 欧美日韩高清在线一区| 日韩 欧美 综合| 亚洲专区一区| 国产免费一级| 欧美 日韩 国产 高清| 午夜一区二区三区免费| 中文字幕欧美国内| 精品三级在线| 欧美日韩一二三四| 搞黄在线观看| 亚洲人成欧美中文字幕| 国产黄在线观看免费观看不卡| 国产免费播放一区二区| 中文在线а√在线8| 中文字幕亚洲在| wwww亚洲| 欧美日韩在线视频首页| av免费网站在线观看| 日韩亚洲一区中文字幕| 中文字幕国产欧美| 91av久久久| 亚洲综合视频一区| 国产黄在线观看免费观看不卡| 婷婷久久综合网| 日韩av一区二区在线| 日韩国产在线观看一区| 精品欧美日韩| 一区二区国产在线| 天堂在线中文| 91蜜桃婷婷狠狠久久综合9色| 91精品久久久久久蜜臀| 欧美日韩在线不卡视频|