匯編基礎(chǔ)(一)

機(jī)器語(yǔ)言:由0和1組成的機(jī)器指令

高級(jí)語(yǔ)言:更接近人類的語(yǔ)言如 oc,swift,c...

一條匯編指令和一條機(jī)器指令是一一對(duì)應(yīng)的

機(jī)器指令可以反匯編成匯編指令但是不可能從匯編指令反編譯成高級(jí)語(yǔ)言

不同的平臺(tái)生成的匯編指令不同

匯編語(yǔ)言的特點(diǎn):

可以直接訪問(wèn)案疲,控制各種硬件設(shè)備扛拨,比如存儲(chǔ)器猫缭,CPU等能最大限度發(fā)揮硬件的功能

不受編譯器的限制葱弟,對(duì)生成的二進(jìn)制代碼進(jìn)行完全控制

目標(biāo)代碼剪短,占用的內(nèi)存少猜丹,執(zhí)行速度快(相對(duì)于高級(jí)語(yǔ)言)

注:高級(jí)語(yǔ)言一條指令是有好多天匯編指令組成所以速度相對(duì)來(lái)說(shuō)會(huì)慢

每一種型號(hào)的cpu都有自己的機(jī)器指令\匯編指令集芝加,所以匯編指令不具備可移植性

知識(shí)點(diǎn)過(guò)多,不易于編寫射窒,調(diào)試和維護(hù)

不區(qū)分大小寫

app的執(zhí)行過(guò)程

CPU沒辦直接去硬盤讀文件只能去內(nèi)存取

單位換算

每8個(gè)二進(jìn)制位就是一個(gè)字節(jié)藏杖,而內(nèi)存中最小單元是一個(gè)字節(jié),一個(gè)字節(jié)的單位是Byte, 一個(gè)二進(jìn)制單位是bit

1B = 8bit 一個(gè)二進(jìn)制位對(duì)應(yīng)一個(gè)0或者1

內(nèi)存中 2個(gè)16進(jìn)制位表示一個(gè)字節(jié)

1M 是數(shù)量單位

1Mb 是容量單位表示內(nèi)存大小

總線

地址總線

地址總線是由一根根的導(dǎo)線組成脉顿,它有多少根我們稱之為寬度蝌麸,比如有10根寬度就是10.

地址總線寬度決定內(nèi)存需求的大小。16位的有16根內(nèi)存需求1Mb 32位的有32根內(nèi)存需求是4G

寬度決定了CPU的尋址能力

寬度決定了地址總線的尋址能力艾疟。

地址總線的寬度和尋址能力關(guān)系:(個(gè)人理解)———以8086的CPU舉例来吩。它的寬度是20。每根地址總線對(duì)應(yīng)一個(gè)高頻或者低頻信號(hào)蔽莱,即只能傳0或者1.所以他的范圍是20個(gè)0 ~ 20個(gè)1弟疆, 轉(zhuǎn)換成16進(jìn)制是 0x00000 ~ 0xFFFFF(這就是能訪問(wèn)內(nèi)存地址的范圍,內(nèi)存的最大值是0xFFFFF 即 0x00000盗冷,0x00001兽间,?0x00002 … 0xFFFFF 這中間共1024*1024個(gè),一個(gè)地址對(duì)應(yīng)一個(gè)內(nèi)存單元)轉(zhuǎn)換成十進(jìn)制是 0 ~ 1024*1024 ?即20根地址總線能訪問(wèn)的內(nèi)存單位的個(gè)數(shù)范圍是0 ~ 1024*1204 正塌。所以數(shù)量是1024*1024 = 1M(數(shù)量單位-內(nèi)存單位的個(gè)數(shù))而每個(gè)內(nèi)存單位對(duì)應(yīng)8個(gè)二進(jìn)制單位即一個(gè)字節(jié)(B)嘀略,內(nèi)存單位的上限是1024*1024個(gè)(M)所以對(duì)應(yīng)的內(nèi)存的容量是(1024*1024)B = 1Mb。尋址能力是1Mb

地址總線最大40根目前 - 輸出的是地址的值

xp32位的系統(tǒng)地址總線是32根

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

所說(shuō)的32位64位的系統(tǒng)是指數(shù)據(jù)總線的寬度

寬度決定cpu單次數(shù)據(jù)的傳輸量直接影響cpu執(zhí)行效率和性能 - (吞吐量)

傳輸?shù)氖菙?shù)據(jù)乓诽,每根只能傳1\0 (單位是bit)所以8根數(shù)據(jù)總線傳輸1B即1個(gè)字節(jié)帜羊。一個(gè)數(shù)據(jù)總線對(duì)應(yīng)一個(gè)bit位 8個(gè)bit位是一個(gè)字節(jié)(Byte)

數(shù)據(jù)總線傳的不是數(shù)據(jù)而是內(nèi)存地址

數(shù)據(jù)總線傳遞的是數(shù)據(jù)地址而不會(huì)傳二進(jìn)制數(shù)據(jù)為了性能

控制總線 -- 傳輸各種命令

內(nèi)存里的數(shù)據(jù)默認(rèn)的都是用16進(jìn)制表示

內(nèi)存地址都是從低到高 我們能用的是低地址區(qū)高地址區(qū)是給系統(tǒng)用的 - 內(nèi)存安全的地址是低地址

內(nèi)存地址的空間大小受CPU地址總線寬度的限制

CPU的硬件結(jié)構(gòu)

CPU內(nèi)部鏈接的情況寄存器 運(yùn)算器 控制器

寄存器

8086有14個(gè)寄存器,都是16位的寄存器鸠天,可以存放2個(gè)字節(jié)

通過(guò)改變寄存器的內(nèi)容來(lái)改變cpu的操作

不同的CPU個(gè)數(shù)結(jié)構(gòu)名稱都是不同的 ?相同的是有一個(gè)寄存器改變cup的行為

AX寄存器分高八位和低八位 ?H:高位寄存器 L:低位寄存器

所有的內(nèi)存單元都有唯一的地址讼育,叫做物理地址。內(nèi)存中最小的單元稠集。

尋址方式

段地址 * 16 + 偏移地址

寫法舉例: 233DFH -> 2330H :00DFH (*16省略奶段,系統(tǒng)自動(dòng)執(zhí)行了)

2300H :03DFH

.

.

.

地址加法器

CPU中的一個(gè)部件

作用:以8086為例,將兩個(gè)16進(jìn)制位放到地址加法器中剥纷,合成一個(gè)用二十位地址總線能輸出的地址

內(nèi)存分段管理

從上到下內(nèi)存越來(lái)越大

因?yàn)閷ぶ贩绞剿亩蔚刂?偏移地址 所以 可以把內(nèi)存分成一個(gè)個(gè)的段痹籍。首先由段地址找到是哪個(gè)段然后由偏移地址找到對(duì)應(yīng)的具體地址。類似于c中數(shù)組

8086段寄存器

8086在訪問(wèn)內(nèi)存時(shí)要由相關(guān)部件提供內(nèi)存單元的段地址和偏移地址晦鞋,送入地址加法器合成物理地址

什么是部件提供段地址蹲缠?

段地址在8086的段寄存器中存放

8086有4個(gè)段寄存器:CS棺克、DS、SS线定、ES娜谊,當(dāng)CPU需要訪問(wèn)內(nèi)存時(shí)由這4個(gè)段寄存器提供內(nèi)存單元的段地址

CS (Code Segment):代碼段寄存器

DS (Data Segment):數(shù)據(jù)段寄存器

SS (Stack Segment):堆棧段寄存器

ES (Extra Segment):附加段寄存器

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市斤讥,隨后出現(xiàn)的幾起案子纱皆,更是在濱河造成了極大的恐慌,老刑警劉巖芭商,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抹剩,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蓉坎,警方通過(guò)查閱死者的電腦和手機(jī)澳眷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蛉艾,“玉大人钳踊,你說(shuō)我怎么就攤上這事∥鸷睿” “怎么了拓瞪?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)助琐。 經(jīng)常有香客問(wèn)我祭埂,道長(zhǎng),這世上最難降的妖魔是什么兵钮? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任蛆橡,我火速辦了婚禮,結(jié)果婚禮上掘譬,老公的妹妹穿的比我還像新娘泰演。我一直安慰自己,他們只是感情好葱轩,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布睦焕。 她就那樣靜靜地躺著,像睡著了一般靴拱。 火紅的嫁衣襯著肌膚如雪垃喊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天袜炕,我揣著相機(jī)與錄音本谜,去河邊找鬼。 笑死妇蛀,一個(gè)胖子當(dāng)著我的面吹牛耕突,可吹牛的內(nèi)容都是我干的笤成。 我是一名探鬼主播评架,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼眷茁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了纵诞?” 一聲冷哼從身側(cè)響起上祈,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎浙芙,沒想到半個(gè)月后登刺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嗡呼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年纸俭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片南窗。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡揍很,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出万伤,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布敞临,位于F島的核電站猜揪,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏虹钮。R本人自食惡果不足惜聋庵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望芙粱。 院中可真熱鬧珍策,春花似錦、人聲如沸宅倒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拐迁。三九已至蹭劈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間线召,已是汗流浹背铺韧。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缓淹,地道東北人哈打。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓塔逃,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親料仗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子湾盗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

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

  • 8086匯編 本筆記是筆者觀看小甲魚老師(魚C論壇)《零基礎(chǔ)入門學(xué)習(xí)匯編語(yǔ)言》系列視頻的筆記疆导,在此感謝他和像他一樣...
    Gibbs基閱讀 37,237評(píng)論 8 114
  • 越底層越單純!真正的程序員都需要了解的一門非常重要的語(yǔ)言,匯編! 機(jī)器語(yǔ)言 我們所寫的語(yǔ)言最終安裝在機(jī)器上的是什么...
    瑞陽(yáng)gg閱讀 595評(píng)論 0 0
  • 匯編總結(jié) 匯編的發(fā)展史 機(jī)械語(yǔ)言 由0和1組成的機(jī)器指令(如:0101 0001 1101 0110) 匯編語(yǔ)言(...
    iChuck閱讀 1,307評(píng)論 1 8
  • 王爽匯編全書知識(shí)點(diǎn)大綱 第一章 基礎(chǔ)知識(shí) 機(jī)器語(yǔ)言 匯編語(yǔ)言的產(chǎn)生 匯編語(yǔ)言的組成 存儲(chǔ)器 cpu對(duì)存儲(chǔ)器的讀寫 ...
    2c3ba901516f閱讀 2,420評(píng)論 0 1
  • 如果您覺得前兩篇有道理:這是個(gè)“巨無(wú)霸橫沖直撞,小白兔無(wú)跡可尋”的世界葛躏。 那是因?yàn)槲覀冋驹诜謺r(shí)圖上澈段。 如果橫軸再...
    肖小跑閱讀 434評(píng)論 0 2