青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

統計

  • 隨筆 - 50
  • 文章 - 42
  • 評論 - 147
  • 引用 - 0

留言簿(6)

隨筆分類

文章分類

Link

搜索

  •  

積分與排名

  • 積分 - 166566
  • 排名 - 159

最新評論

閱讀排行榜

評論排行榜

AT&T匯編語言(轉)
  今天開始學習linux內核編程了,從沒有內核編程基礎開始學起。所以很多相關的知識都要了解。首先就是AT&T匯編語言。因為在linux內核源代碼中,好像除了開始的bootsect.s和head.s是用intel的匯編外,別的匯編代碼都是用的AT&T匯編語言,所以有必要把AT&T匯編語言了解一下。
不過,由于AT&T匯編和intel匯編大同小異,所以,了解一下一些不同的地方就可以了。
 
   以下的內容都是AT&T匯編的特點:
1、寄存器前面要加“%”,如  mov %eax,%ebx
   這里要注意的一點是,AT&T匯編中,源寄存器和目的寄存器的順序和intel匯編剛好相反,AT&T匯編中,左邊的是源寄存器,右邊的是目的寄存器,在上邊那個例子中,%eax是源寄存器,%ebx是目的寄存器。
 
2、立即數/常數前面要加$,如  mov $4,%ebx 把4這個數裝入ebx這個寄存器。
   符號常數直接用, 如  mov  value,%eax 即把value代表的那個值裝入eax寄存器。
                     mov $value,%eax 即把value的值作為地址,而把對應那個地址中的值裝入eax。
 
3、b(byte):8位, w(word):16位, l(long):32位
   如:  movb %al,%bl     movw %ax,%bx     movl %eax,%ebx
 
4、jum/call的操作數前要加上“*"作為前綴, 遠跳轉ljmp,遠調用lcall
   如  ljmp $section,$offset
       lcall $section,$offset
   這里$section和offset表示的就是,以section為段地址,offset為段內偏移地址。因此,ljmp $section,$offset即跳轉到section:offset地址。
 
5、遠返回lret
   如  lret $stack_adjust
 
6、尋址方式
   寄存器間接尋址 AT&T: (%eax)  Intel: [eax]  

   表示方式 section:disp(base,index,scale)

   計算方法 base+index*scale+disp
        即 section:[base+index*scale+disp]
   其中disp是表示偏移地址。
   如  movl -4(%ebp),%eax  把[%ebp-4]的內容裝入eax

   變址尋址  AT&T: _variable(%eax)  Intel: [eax + _variable]

       AT&T: _array(,%eax,4)  Intel: [eax*4 + _array]
         AT&T: _array(%ebx,%eax,8)  Intel: [ebx + eax*8 + _array]   
 
7、C語言中嵌入匯編
   格式: _asm_("asm statements":outputs:inputs:registers-modified)
   其中,"asm statements"是匯編語句表達式,outputs,inputs,register-modified都是可選參數,以冒號隔開,且一次以0~9編號,如outputs的寄存器是0號,inputs寄存器是1號,往后依次類推。outputs是匯編語句執行完后輸出到的寄存器,inputs是輸入到某個寄存器。
   例1:_asm_("pushl %%eax\n\t" "movl $0,%%eax\n\t" "popl %%eax");
   在嵌入匯編中,寄存器前面要加兩個%,因為gcc在編譯是,會先去掉一個%再輸出成匯編格式。
   例2:{ register char _res;\
         asm("push %%fs\n\t"
         "movw %%ax,%%fs\n\t"
         "movb %%fs:%1,%%al\n\t"
         "pop %%fs"
         :"=a"(_res):"0"(seg),"m"(*(addr)));\
         _res;}
    movb %%fs:%1,%%al\n\t一句中是把以fs為段地址,以后面的第二號寄存器即后面的seg中的值為偏移地址所對應的值裝入al。"=a"(_res):"0"(seg),"m"(*(addr)))一句中,"=a"(_res)表示把a寄存器中的內容給_res,"0"(seg)表示把seg中的內容給0所對應的寄存器,而0即表示使用和前一個寄存器相同的寄存器,這里即使用a寄存器,也就是說把seg中的內容個a寄存器。
   需要解釋以下的是,a,b,c,d分別表示寄存器eax,ebx,ecx,edx
                  S,D分別表示寄存器esi,edi
                  r表示任意寄存器
                  0(數字0,不是o!)表示使用上一個寄存器

posted on 2011-01-29 22:51 pear_li 閱讀(509) 評論(0)  編輯 收藏 引用 所屬分類: Linux/Unix

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲大片在线观看| 久久久久一区二区三区四区| 亚洲国产精品999| 久久三级福利| 99成人在线| 一本色道88久久加勒比精品| 国产精品家教| 久久久精品tv| 欧美国产日本| 先锋影音国产一区| 久久久亚洲高清| 日韩视频在线一区二区| 亚洲视频在线视频| 黑丝一区二区三区| 亚洲第一网站免费视频| 欧美日韩在线大尺度| 久久黄色网页| 欧美伦理一区二区| 欧美影院成人| 欧美激情第9页| 久久成人亚洲| 欧美日韩hd| 另类激情亚洲| 国产精品国产一区二区 | 国产网站欧美日韩免费精品在线观看 | 亚洲国产精选| 一区二区三区欧美成人| 尤物精品在线| 亚洲视频在线观看网站| 亚洲国产日韩综合一区| 午夜精品视频网站| 9色国产精品| 久久久777| 午夜欧美视频| 欧美日韩亚洲高清一区二区| 久久免费精品日本久久中文字幕| 欧美日本一区二区三区| 欧美91大片| 国产欧美欧美| 亚洲天堂成人在线视频| 亚洲欧洲日本专区| 久久精品99国产精品| 亚洲一二三区视频在线观看| 乱人伦精品视频在线观看| 久久精品国产免费看久久精品| 欧美人与性动交cc0o| 亚洲二区三区四区| 极品日韩av| 欧美一区二区精品久久911| 亚洲欧美国产日韩中文字幕| 欧美福利一区| 亚洲第一黄色| 最新亚洲激情| 欧美xxxx在线观看| 蜜臀av一级做a爰片久久 | 欧美精品一区二区精品网| 美女国内精品自产拍在线播放| 国产模特精品视频久久久久| 一区二区日韩| 亚洲欧美国产高清| 国产精品日韩专区| 亚洲在线免费视频| 欧美中文字幕久久| 国产精品久久久久久久久久ktv| 一本色道久久88精品综合| 夜夜嗨av色综合久久久综合网| 欧美不卡高清| 亚洲精品视频免费| 亚洲免费视频观看| 国产伦精品一区二区三区高清| 亚洲午夜精品一区二区三区他趣| 亚洲一区尤物| 国产麻豆精品theporn| 亚洲欧美一区二区三区在线 | 黄色av日韩| 欧美国产高清| 日韩网站在线观看| 香蕉av777xxx色综合一区| 国产亚洲综合在线| 久久一区二区三区av| 亚洲精品美女久久久久| 亚洲午夜激情| 国产亚洲欧美另类中文| 久久琪琪电影院| 欧美日韩国产在线观看| 亚洲区第一页| 欧美在线免费观看| 伊人成综合网伊人222| 欧美jizzhd精品欧美喷水 | 久久久在线视频| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美精品导航| 性欧美在线看片a免费观看| 久久综合色8888| 一区二区激情视频| 国语精品一区| 欧美三级电影网| 久久精品亚洲| 一区二区三区黄色| 欧美不卡在线| 性久久久久久久久久久久| 伊甸园精品99久久久久久| 欧美日韩裸体免费视频| 久久av一区二区三区漫画| 亚洲国产精品高清久久久| 欧美一区高清| 中文无字幕一区二区三区| 精品电影在线观看| 国产精品久久久久久久一区探花 | 米奇777在线欧美播放| 在线视频一区观看| 欧美激情精品久久久久久变态| 午夜亚洲激情| 夜夜狂射影院欧美极品| 精品动漫3d一区二区三区| 国产精品一区二区在线观看| 欧美精品粉嫩高潮一区二区 | 国产精品丝袜久久久久久app| 免费成人性网站| 欧美在线|欧美| 亚洲线精品一区二区三区八戒| 亚洲人成网站精品片在线观看| 乱码第一页成人| 久久久久久亚洲精品中文字幕 | 性亚洲最疯狂xxxx高清| 一区二区三区**美女毛片| 亚洲国产成人精品女人久久久| 国产一区二区三区在线观看免费视频 | 欧美连裤袜在线视频| 久久精品主播| 欧美在线免费观看| 西西人体一区二区| 亚洲校园激情| 亚洲一二三级电影| 亚洲深夜福利网站| 夜色激情一区二区| 99综合视频| 国产精品99久久不卡二区| 99国产精品国产精品毛片| 亚洲久久成人| 99在线热播精品免费| 亚洲图中文字幕| 亚洲一区二区三区高清不卡| 在线中文字幕一区| 国产精品久久久久免费a∨ | 午夜欧美精品久久久久久久| 在线综合亚洲| 香蕉久久a毛片| 亚洲欧美清纯在线制服| 欧美一区1区三区3区公司| 性欧美xxxx视频在线观看| 性做久久久久久免费观看欧美| 欧美亚洲视频在线观看| 久久免费国产| 欧美国产乱视频| 欧美日韩在线免费| 国产精品揄拍一区二区| 国产日韩久久| 91久久在线观看| 宅男精品视频| 久久久噜噜噜久久久| 欧美1区视频| 一区二区国产日产| 午夜精品久久久久久久男人的天堂| 欧美伊人久久| 欧美成人性网| 国产精品免费小视频| 国内精品免费午夜毛片| 亚洲精品精选| 欧美在现视频| 亚洲国产视频a| 亚洲曰本av电影| 久久精品亚洲精品| 欧美区一区二区三区| 国产日韩一区在线| 亚洲精品网站在线播放gif| 亚洲午夜精品网| 久久综合五月| 一区二区三区国产盗摄| 久久深夜福利免费观看| 欧美日韩一区国产| 亚洲国产福利在线| 先锋影院在线亚洲| 亚洲精品欧美专区| 久久国产精品黑丝| 国产精品成av人在线视午夜片| 精品av久久707| 欧美一级夜夜爽| 亚洲精品国产精品乱码不99| 欧美中文字幕精品| 国产精品高清网站| 亚洲电影在线观看| 久久久久久久欧美精品| 日韩写真视频在线观看| 久久中文字幕一区二区三区| 国产精品一二三| 一区二区激情视频| 亚洲国产精品电影| 久久尤物电影视频在线观看| 国产视频一区免费看|