国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

“C語(yǔ)言” 讀書(shū)札記之[讓我們一起學(xué)匯編]

開(kāi)發(fā) 前端
這幾天滿(mǎn)腦子都是寄存器,存儲(chǔ)器——主要是卡在匯編語(yǔ)言上了,所以博文進(jìn)度比較緩慢。今天就先講講如何定義數(shù)據(jù)元素吧?因?yàn)閰R編語(yǔ)言程序最重要的任務(wù)之一就是處理對(duì)象。

 

介紹

這幾天滿(mǎn)腦子都是寄存器,存儲(chǔ)器——主要是卡在匯編語(yǔ)言上了,所以博文進(jìn)度比較緩慢。

今天就先講講如何定義數(shù)據(jù)元素吧?因?yàn)閰R編語(yǔ)言程序最重要的任務(wù)之一就是處理對(duì)象。

三個(gè)最常用的段:

1、數(shù)據(jù)段:數(shù)據(jù)段聲明帶有初始值的數(shù)據(jù)元素。這些數(shù)據(jù)元素用作匯編語(yǔ)言程序中的變量。

2、bbs段:bbs段聲明使用零(或者null)值初始化的數(shù)據(jù)元素。這些數(shù)據(jù)元素常用做匯編語(yǔ)言程序中的緩沖區(qū)。

3、文本段:在可執(zhí)行程序內(nèi)聲明指令碼的地方。

1、定義段

GNU匯編器使用.section命令語(yǔ)句聲明段。語(yǔ)法:.section 類(lèi)型(.data,.bss,.text)

以下是匯編語(yǔ)言程序的布局。

2、定義起始點(diǎn)

1)當(dāng)匯編語(yǔ)言程序被轉(zhuǎn)換為可執(zhí)行文件時(shí),鏈接器必須知道指令中的起始點(diǎn)是什么

GNU匯編器聲明一個(gè)默認(rèn)標(biāo)簽,或者說(shuō)標(biāo)識(shí)符,它應(yīng)該用作應(yīng)用程序的入口點(diǎn)。_start便簽用于標(biāo)明程序應(yīng)該從這條指令開(kāi)始運(yùn)行。

2)除了應(yīng)用程序中聲明起始標(biāo)簽之外,還需要為外部應(yīng)用程序提供入口點(diǎn)。這是使用.globl命令完成的。

了解上述信息就可以為所有匯編語(yǔ)言程序創(chuàng)建基礎(chǔ)模板。如下:

有了這樣的模板,就準(zhǔn)備好了開(kāi)始編寫(xiě)匯編語(yǔ)言程序。

#p#

3、創(chuàng)建簡(jiǎn)單程序

我們來(lái)演示上面那些組件如何組合在一起使用。

先寫(xiě)個(gè)簡(jiǎn)單的"hello,world“,很多語(yǔ)言不都這么搞嗎?我也不免俗。——其他部分我會(huì)在后期的文章中說(shuō)明。

  1. .section .data  
  2.   output:  
  3.      .ascii "hello,world\n"    
  4.   .section .text  
  5.   .globl _start  
  6.   _start:  
  7.      movl $4, %eax  
  8.      movl $1, %ebx  
  9.      movl $output, %ecx  
  10.      movl $13, %edx  
  11.      int $0x80   
  12.  #success exit  
  13.      movl $1, %eax  
  14.      movl $0, %ebx  
  15.      int $0x80 

 [[80797]]匯編并且鏈接這個(gè)過(guò)程

數(shù)據(jù)段

1)數(shù)據(jù)段定義的數(shù)據(jù)元素都保留在內(nèi)存中

NOTE

用.data數(shù)據(jù)段定義的任何數(shù)據(jù)元素可以按照讀取和寫(xiě)入模式訪問(wèn)。

用.rodata數(shù)據(jù)段定義的任何數(shù)據(jù)元素只能按照只讀(read-only)模式訪問(wèn)。——因此使用ro前綴。


 

2)數(shù)據(jù)段定義數(shù)據(jù)元素需要用到兩個(gè)語(yǔ)句:

一個(gè)標(biāo)簽:像C語(yǔ)言中變量名稱(chēng),用作引用數(shù)據(jù)元素所使用的標(biāo)記。——標(biāo)簽對(duì)處理器是沒(méi)有意義的,它只是匯編器試圖訪問(wèn)內(nèi)存位置時(shí)用作引用指針的一個(gè)位置。(機(jī)器碼中使用bit表示這個(gè)標(biāo)記)

一個(gè)命令:定義數(shù)據(jù)元素保留多少個(gè)字節(jié)。

3)下表介紹為特定數(shù)據(jù)元素類(lèi)型保留內(nèi)存的不同命令。

4)我們來(lái)觀察一下在內(nèi)存中分布情況,為了表達(dá)更清楚,我再寫(xiě)一個(gè)例子。

[[80797]]內(nèi)存分布圖

#p#

觀察

按照數(shù)據(jù)段中定義數(shù)據(jù)元素的順序,每個(gè)數(shù)據(jù)元素被存放到內(nèi)存中。帶有多個(gè)值的元素按照命令中列出的順序存放(如msg和length)

靜態(tài)符號(hào)

.equ命令用于把常量(呵呵,這個(gè)不用說(shuō),常量嗎?在程序中是不能改動(dòng)的,這也是它最大的特色)設(shè)置為可以在文本段(我們可以理解為指令段)中使用的符號(hào)。設(shè)置方法如下

 NOTE

  .equ命令可以出現(xiàn)在數(shù)據(jù)段的任何位置,但是為了方便閱讀,最好集中定義在最前或最后。

以上兩種都是定義在數(shù)據(jù)段中,這也是在匯編中經(jīng)常使用的方法。下面介紹另外一種段聲明——bbs段。

bss段

bbs段只聲明原始內(nèi)存部分。

GNU匯編器使用兩個(gè)命令聲明緩沖區(qū)。

#p#

總結(jié)

我一直在想從哪個(gè)角度能輸入剖析C語(yǔ)言,很多資料顯示從匯編和機(jī)器語(yǔ)言角度去理解C語(yǔ)言,方能真正明白。我也看了很多資料,覺(jué)得應(yīng)該從最最基礎(chǔ)的方面進(jìn)行。所以今天先談到這里。——要知后事如何,下回分解。

這兩天參考的資料

《匯編語(yǔ)言》——這書(shū)主要是針對(duì)windows 平臺(tái),語(yǔ)法使用的是intel語(yǔ)法。而我的平臺(tái),也是我的工作平臺(tái),習(xí)慣平臺(tái)是linux,而linux采用的是“AT&T語(yǔ)法“。所以我也就看了前幾章有關(guān)硬件方面的內(nèi)容(但是也沒(méi)看懂多少東西,呵呵)。

《匯編語(yǔ)言程序設(shè)計(jì)》——這書(shū)是我側(cè)重點(diǎn)看的,直接跳到第二部分基礎(chǔ)語(yǔ)言部分進(jìn)行研究。

《Linux C編程一站式學(xué)習(xí)》——這書(shū)我著重看了幾遍“x86匯編程序基礎(chǔ)”。收益匪淺。

《深入理解計(jì)算機(jī)系統(tǒng)》——這書(shū)我也是輕微的看了一下,很多地方還是沒(méi)有怎么弄懂。我還得多看幾遍。

原文鏈接:http://www.cnblogs.com/baochuan/archive/2012/06/28/2564489.html

【編輯推薦】

  1. “C語(yǔ)言” 讀書(shū)札記之[程序和編程語(yǔ)言]
  2. “C語(yǔ)言” 讀書(shū)札記之[編譯執(zhí)行]
  3. “C語(yǔ)言” 讀書(shū)札記之[再續(xù)編譯執(zhí)行]
  4. 簡(jiǎn)單實(shí)用的jQuery圖片播放實(shí)例和源碼

 
 
責(zé)任編輯:張偉 來(lái)源: 川山甲的博客
相關(guān)推薦

2012-06-25 10:00:29

C語(yǔ)言

2012-06-23 18:13:39

C語(yǔ)言

2012-06-25 10:14:10

C語(yǔ)言

2012-07-12 14:06:10

C語(yǔ)言

2022-07-10 23:15:46

Go語(yǔ)言內(nèi)存

2022-03-31 18:59:43

數(shù)據(jù)庫(kù)InnoDBMySQL

2021-08-27 07:06:10

IOJava抽象

2021-12-29 08:27:05

ByteBuffer磁盤(pán)服務(wù)器

2022-03-08 17:52:58

TCP格式IP

2021-07-15 07:23:28

Singlefligh設(shè)計(jì)

2021-11-26 07:00:05

反轉(zhuǎn)整數(shù)數(shù)字

2022-02-14 10:16:22

Axios接口HTTP

2022-06-26 09:40:55

Django框架服務(wù)

2022-02-14 07:03:31

網(wǎng)站安全MFA

2016-09-06 10:39:30

Dell Techno

2023-08-14 08:38:26

反射reflect結(jié)構(gòu)體

2021-11-29 07:24:08

ACID事務(wù)大數(shù)據(jù)

2023-08-02 08:35:54

文件操作數(shù)據(jù)源

2022-08-01 07:57:03

數(shù)組操作內(nèi)存

2021-07-31 11:40:55

Openresty開(kāi)源
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

久久99久久久久久久久久久| 一区二区三区四区五区视频在线观看| 国内免费精品永久在线视频| yellow91字幕网在线| 欧美激情在线一区二区三区| mm131午夜| 久久狠狠一本精品综合网| 99在线|亚洲一区二区| 欧美三级一区二区| 欧洲永久精品大片ww免费漫画| 亚洲女同av| 日韩精品资源二区在线| 国产黄色在线| 欧美在线观看禁18| 中文字幕在线播放| 在线精品视频一区二区三四| 在线播放av片| 欧美性69xxxx肥| 性色视频在线| 亚洲成a天堂v人片| 真不卡电影网| 欧美性猛交99久久久久99按摩| 白白色视频在线| 一个色妞综合视频在线观看| 中文字幕校园春色| 欧美日韩午夜剧场| yw193.com尤物在线| 欧美日韩国产小视频在线观看| 秋霞av在线| 色综合色综合色综合 | 嗯用力啊快一点好舒服小柔久久| xvideos亚洲人网站| 91国拍精品国产粉嫩亚洲一区| 中文字幕精品www乱入免费视频| 成人av免费电影网站| 久久久精品中文字幕| 日本一区精品视频| 国产成人精品a视频一区www| 加勒比久久综合| 国产精品一区二区三区不卡 | 欧美激情免费看| 九九热播视频在线精品6| 欧美一级高清免费播放| 欧美xxav| 久久久一本精品99久久精品| 国产一区在线不卡| 亚洲 欧美 日韩系列| 亚洲综合在线观看视频| 国产黄色在线| 亚洲人成网站777色婷婷| 狠狠久久伊人| 999在线观看免费大全电视剧| 日韩精品电影在线| 97xxxxx| 丰满岳妇乱一区二区三区| 精品美女在线观看视频在线观看| 亚洲精品国产精品国产自| 91在线亚洲| 国产精品美乳一区二区免费| 久久一日本道色综合久久| 凹凸国产熟女精品视频| 欧美性猛交xxxx乱大交3| 国产精品极品美女粉嫩高清在线| 路边理发店露脸熟妇泻火| 日本视频中文字幕一区二区三区| 丰满少妇久久久| 亚洲狠狠爱一区二区三区| 色老头在线观看| 欧美激情va永久在线播放| 影音先锋日韩资源| 成人免费在线小视频| 色欧美片视频在线观看| 国产黄色一区| 2014亚洲精品| 成人午夜伦理影院| 日韩一二三四| 久久久国产视频| 欧美精品一卡| 91日韩视频在线观看| 在线综合视频播放| 成人性生交大片免费看中文视频| 黄色一区三区| 欧美高清在线一区二区| 欧美人与性动交α欧美精品图片| 韩国福利视频一区| 日本一区中文字幕| 在线中文av| 欧美日韩国产二区| 日韩中文字幕一区二区三区| 成人毛片高清视频观看| 337p日本欧洲亚洲大胆色噜噜| 亚洲桃色综合影院| 久久福利一区二区| 欧美日韩国产高清一区| 啄木系列成人av电影| 2018中文字幕第一页| 欧美人妖巨大在线| 成人综合一区| 亚洲欧美日韩一级| 亚洲网址你懂得| 久久福利毛片| 校园春色欧美| 欧美做爰性生交视频| 成人一区二区三区在线观看| 黄色动漫在线| 亚洲一区制服诱惑| 国产精品久99| 国产人与zoxxxx另类91| 五月天婷亚洲天综合网鲁鲁鲁| 粉嫩老牛aⅴ一区二区三区| 自拍偷拍亚洲图片| 一区二区视频国产| 欧美精品1区2区| 亚洲乱码在线| 毛片.com| 3344国产精品免费看| 成人激情视频网站| av今日在线| 久久久久久久久久久一区| 亚洲精品自拍动漫在线| 99久久999| 日本精品一区在线观看| 亚洲视频国产视频| 免费在线看一区| 日本中文字幕伦在线观看| 91免费精品国偷自产在线| 亚洲一区二区美女| 欧美精品系列| 在线观看视频污| 91精品啪aⅴ在线观看国产| 亚洲国产成人tv| 91视频综合| 午夜影院在线免费观看| 成人av在线网址| 色视频一区二区| 欧美va天堂在线| 日本精品一区二区三区在线播放| 国产成人av一区二区三区| 欧美系列一区二区| 亚洲青色在线| 天堂8中文在线| 在线成人av电影| 亚洲片av在线| 丰满岳乱妇一区二区三区 | 亚洲一区免费视频| 综合亚洲自拍| 爱草在线视频| 国产精品96久久久久久| 一区二区三区不卡视频| 日韩精品电影| 国产中文在线视频| 国产精品久久久久久久久久久久冷| 亚洲成人免费在线观看| 欧美日韩国产高清| 欧美精品电影| 亚洲国产一区二区精品视频| 亚洲国产成人爱av在线播放| 久久er99热精品一区二区| gay欧美网站| 最近免费中文字幕中文高清百度| 欧美成人精品三级在线观看| 国产精品家庭影院| 精品国产一区二区三区av片| 成人拍拍拍免费视频网站| 日韩精品在线视频免费观看| 亚洲天堂2020| 欧美夫妻性生活视频| 国产欧美一区二区精品秋霞影院 | 日韩av免费观影| 九色一区二区| 国产亚洲欧美日韩精品一区二区三区| 红桃成人av在线播放| 啦啦啦在线视频免费观看高清中文 | 色婷婷综合视频在线观看| 国产精品主播| 四虎永久精品在线| 神马久久高清| 潘金莲一级淫片aaaaa免费看| 欧美激情a在线| 欧美剧在线免费观看网站 | 成人国产精品| 一二三四社区在线视频6| 午夜视频久久久| 久久6免费高清热精品| 欧美日韩成人综合| 精品国产91洋老外米糕| 久草精品在线观看| 97久久亚洲| av播放在线观看| 国产精品333| 91性高湖久久久久久久久_久久99| 日韩av在线看| 亚洲午夜精品一区二区三区他趣| 日韩av电影天堂| 亚洲丁香日韩| 国模套图日韩精品一区二区| 1024在线视频| 黄色成人在线免费观看| 91传媒免费看| 欧美激情一区二区久久久|