第一章 基礎(chǔ)知識(shí)


導(dǎo)言:
機(jī)器語(yǔ)言:機(jī)器語(yǔ)言是機(jī)器指令的集合。機(jī)器指令展開來講就是一臺(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)算绍豁。
匯編指令和機(jī)器指令的差別在于指令的表示方法上芯咧。匯編指令是機(jī)器指令便于記憶的書寫格式。

1竹揍、匯編語(yǔ)言的組成

匯編語(yǔ)言由以下3類命令組成:
(1)匯編指令:機(jī)器碼的助記符敬飒。
(2)偽指令:沒有對(duì)應(yīng)的機(jī)器碼,由編譯器執(zhí)行芬位,計(jì)算機(jī)并不執(zhí)行无拗。
(3)其他符號(hào):如+,—昧碉,英染,/等,由編譯器識(shí)別被饿,沒有對(duì)應(yīng)的機(jī)器碼四康。
匯編語(yǔ)言的核心是
匯編指令*,它決定了匯編語(yǔ)言的特性狭握。

2闪金、存儲(chǔ)器

CPU是計(jì)算機(jī)的核心部件。他控制整個(gè)計(jì)算機(jī)的運(yùn)作并進(jìn)行運(yùn)算哥牍。要想讓一個(gè)CPU工作毕泌,就必須向它提供指令和數(shù)據(jù)。指令和數(shù)據(jù)在存儲(chǔ)器中存放嗅辣,也就是我們平時(shí)所說的內(nèi)存撼泛。在一臺(tái)PC機(jī)中內(nèi)存的作用僅次于CPU。離開了內(nèi)存澡谭,性能再好的CPU也無(wú)法工作愿题。
磁盤不同于內(nèi)存,磁盤上的數(shù)據(jù)或程序如果不讀到內(nèi)存中蛙奖,就無(wú)法被CPU使用潘酗。要靈活地利用匯編語(yǔ)言編程,我們首先要了解CPU是如何從內(nèi)存中讀取信息雁仲,以及向內(nèi)存中寫入信息的仔夺。

3、指令和數(shù)據(jù)

指令和數(shù)據(jù)是應(yīng)用上的概念攒砖。在內(nèi)存或磁盤上缸兔,指令和數(shù)據(jù)沒有任何區(qū)別日裙,都是二進(jìn)制信息。CPU在工作的時(shí)候把有的信息看作指令惰蜜,有的信息看作數(shù)據(jù)昂拂。

1000100111011000 -> 89D8H(數(shù)據(jù))
1000100111011000 -> mov ax,bx(程序)

4、存儲(chǔ)單元

存儲(chǔ)器被劃分為若干個(gè)單元抛猖,每個(gè)存儲(chǔ)單元從0開始順序編號(hào)格侯,例如一個(gè)存儲(chǔ)器由128個(gè)存儲(chǔ)單元,編號(hào)從0~127.


image.png

電子計(jì)算機(jī)的最小信息單位是bit(一個(gè)二進(jìn)制位)财著。8個(gè)bit組成一個(gè)Byte联四,即八個(gè)二進(jìn)制位。一個(gè)存儲(chǔ)器有128個(gè)存儲(chǔ)單元瓢宦,可以存儲(chǔ)128個(gè)Byte碎连。

5、CPU對(duì)存儲(chǔ)器的讀寫

CPU要進(jìn)行數(shù)據(jù)的讀寫驮履,必須和外部器件(標(biāo)準(zhǔn)的說法是芯片)進(jìn)行下面三類信息的交互:

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

電子計(jì)算機(jī)能處理,傳輸?shù)亩际请娦盘?hào)玫镐,電信號(hào)要通過導(dǎo)線傳送倒戏,計(jì)算機(jī)中有專門連接CPU和其他芯片的導(dǎo)線,通常稱為總線恐似《捧危總線從物理上來講,就是一根根導(dǎo)線的集合矫夷。CPU通過總線將地址葛闷,數(shù)據(jù)和控制信息傳送到存儲(chǔ)器芯片中。
根據(jù)傳送信息的不同双藕,總線從邏輯上又分為3類淑趾,地址總線、控制總線和數(shù)據(jù)總線忧陪。


CPU從內(nèi)存中讀取數(shù)據(jù)的過程
  1. CPU通過地址線將地址信息3發(fā)出
  2. CPU通過控制線發(fā)出內(nèi)存讀命令扣泊,選中存儲(chǔ)器芯片,并通知它嘶摊,將要從中讀取數(shù)據(jù)
  3. 存儲(chǔ)器將3號(hào)單元中的數(shù)據(jù)8通過數(shù)據(jù)線送人CPU

6延蟹、地址總線

  • 地址總線的寬度決定了CPU的尋址能力。

CPU通過地址總線來指定存儲(chǔ)單元叶堆。地址總線上能傳送多少個(gè)不同的信息阱飘,CPU就可以對(duì)多少個(gè)存儲(chǔ)單元進(jìn)行尋址。
一根導(dǎo)線可以傳送的穩(wěn)定狀態(tài)只有兩種,高電平或是低電平俯萌。用二進(jìn)制表示1或0果录,10根導(dǎo)線可以傳送10位二進(jìn)制數(shù)據(jù)。而10位二進(jìn)制數(shù)可以表示2的10次方(1024)個(gè)數(shù)據(jù)咐熙。
一個(gè)CPU有N根地址線,則可以說個(gè)CPU的地址總線的寬度為N辨萍。這樣的CPU最多可以尋找2的N次方個(gè)內(nèi)存單元棋恼。

7、數(shù)據(jù)總線

  • 數(shù)據(jù)總線的寬度決定了CPU與其他器件進(jìn)行數(shù)據(jù)傳送時(shí)的一次數(shù)據(jù)傳送量锈玉。

CPU與內(nèi)存或器件之間的數(shù)據(jù)傳送是通過數(shù)據(jù)總線來進(jìn)行的爪飘。數(shù)據(jù)總線的寬度決定了CPU和外界的數(shù)據(jù)傳送速度。8根數(shù)據(jù)總線一次可傳送一個(gè)8位二進(jìn)制數(shù)據(jù)(一個(gè)字節(jié))拉背。16根數(shù)據(jù)總線一次可以傳送2個(gè)字節(jié)师崎。

8、控制總線

  • 控制總線的寬度決定了CPU對(duì)外部器件的控制能力

CPU對(duì)外部器件的控制是通過控制總線來進(jìn)行的椅棺。
控制總線是一些不同控制線的集合犁罩。有多少控制總線,就意味著CPU提供了對(duì)外部器件的多少種控制两疚。

9床估、各類存儲(chǔ)器芯片

  • 隨機(jī)存儲(chǔ)器
    用于存放CPU使用的絕大部分程序和數(shù)據(jù),主隨機(jī)存儲(chǔ)器一般由兩個(gè)位置上的RAM組成诱渤,裝在主板上的RAM和插在擴(kuò)展槽上的RAM
  • 裝有BIOS的ROM
    BIOS是由主板和各類接口卡(PS:顯卡丐巫、網(wǎng)卡等)廠商提供的軟件系統(tǒng),可以通過它利用該硬件設(shè)備進(jìn)行最基本的輸入輸出勺美。在主板和某些接口卡上插有存儲(chǔ)相應(yīng)BIOS的ROM递胧。例如:主板上的ROM中存儲(chǔ)著顯卡的BIOS;如果網(wǎng)卡上裝有ROM赡茸,那其中就可以存儲(chǔ)網(wǎng)卡的BIOS
  • 接口卡上的RAM
    某些接口卡需要對(duì)大批量輸入缎脾、輸出進(jìn)行暫時(shí)存儲(chǔ),在其上裝有RAM坛掠。最典型的是顯卡上的RAM赊锚,一般稱為顯存。顯示卡隨時(shí)將顯存中的數(shù)據(jù)向顯示器上輸出屉栓。

10舷蒲、內(nèi)存地址空間

存儲(chǔ)器在物理上是獨(dú)立的器件,他們?cè)谝韵聝牲c(diǎn)上相同:

  • 都和CPU的總線相連
  • CPU對(duì)它們進(jìn)行讀寫的時(shí)候都通過控制線發(fā)出內(nèi)存讀寫命令

CPU在操縱和控制它們的時(shí)候都把他們當(dāng)作內(nèi)存來對(duì)待友多,把它們總的看作是一個(gè)由若干個(gè)存儲(chǔ)單元組成的邏輯存儲(chǔ)器牲平,這個(gè)邏輯存儲(chǔ)器就是我們所說的內(nèi)存地址空間。


8086PC機(jī)內(nèi)存地址空間分配

內(nèi)存地址空間的大小受CPU地址總線的限制域滥。8086CPU個(gè)的地址總線寬度為20纵柿,可以傳送2^20個(gè)不同的地址信息蜈抓。
我們可以從0~9FFFF的內(nèi)存單元中讀取數(shù)據(jù),實(shí)際上是在讀取主隨機(jī)存儲(chǔ)器的數(shù)據(jù)昂儒;
向地址A0000~BFFFF的內(nèi)存單元中寫數(shù)據(jù)沟使,就是想顯存中寫入數(shù)據(jù),會(huì)顯示在顯示器上渊跋;
向地址C0000~FFFFF的內(nèi)存單元寫入數(shù)據(jù)的操作是無(wú)效的腊嗡,這等于改寫只讀存儲(chǔ)器中的內(nèi)容;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拾酝,一起剝皮案震驚了整個(gè)濱河市燕少,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蒿囤,老刑警劉巖客们,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異材诽,居然都是意外死亡底挫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門岳守,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凄敢,“玉大人,你說我怎么就攤上這事湿痢±苑欤” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵譬重,是天一觀的道長(zhǎng)拒逮。 經(jīng)常有香客問我,道長(zhǎng)臀规,這世上最難降的妖魔是什么滩援? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮塔嬉,結(jié)果婚禮上玩徊,老公的妹妹穿的比我還像新娘。我一直安慰自己谨究,他們只是感情好恩袱,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著胶哲,像睡著了一般畔塔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天澈吨,我揣著相機(jī)與錄音把敢,去河邊找鬼。 笑死谅辣,一個(gè)胖子當(dāng)著我的面吹牛修赞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播桑阶,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼榔组,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了联逻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤检痰,失蹤者是張志新(化名)和其女友劉穎包归,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铅歼,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡公壤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了椎椰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厦幅。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖慨飘,靈堂內(nèi)的尸體忽然破棺而出确憨,到底是詐尸還是另有隱情,我是刑警寧澤瓤的,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布休弃,位于F島的核電站,受9級(jí)特大地震影響圈膏,放射性物質(zhì)發(fā)生泄漏塔猾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一稽坤、第九天 我趴在偏房一處隱蔽的房頂上張望丈甸。 院中可真熱鬧,春花似錦尿褪、人聲如沸睦擂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)祈匙。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間夺欲,已是汗流浹背跪帝。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留些阅,地道東北人伞剑。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像市埋,于是被迫代替她去往敵國(guó)和親黎泣。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容