成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux下的匯編語言之系統調用

運維 系統運維
匯編語言是基本的語言之一,他的明顯優勢是速度快,可以直接對硬件進行操作。Linux下如何使用匯編語言,語法格式有哪些?需要使用哪些開發工具?本文將會為大家詳細道來。

      作為最基本的編程語言之一,匯編語言雖然應用的范圍不算很廣,但重要性卻勿庸置疑,因為它能夠完成許多其它語言所無法完成的功能。就拿 Linux 內核來講,雖然絕大部分代碼是用 C 語言編寫的,但仍然不可避免地在某些關鍵地方使用了匯編代碼,其中主要是在 Linux 的啟動部分。由于這部分代碼與硬件的關系非常密切,即使是 C 語言也會有些力不從心,而匯編語言則能夠很好揚長避短,最大限度地發揮硬件的性能。

第四課時:Linux 命令行參數

   在 Linux 操作系統中,當一個可執行程序通過命令行啟動時,其所需的參數將被保存到棧中:首先是 argc,然后是指向各個命令行參數的指針數組 argv,最后是指向環境變量的指針數據 envp。在編寫匯編語言程序時,很多時候需要對這些參數進行處理,下面的代碼示范了如何在匯編代碼中進行命令行參數的處理:

  例3. 處理命令行參數

  

  1. # args.s  
  2.  
  3.   .text  
  4.  
  5.   .globl _start  
  6.  
  7.   _start:  
  8.  
  9.   popl %ecx # argc  
  10.  
  11.   vnext:  
  12.  
  13.   popl %ecx # argv  
  14.  
  15.   test %ecx, %ecx # 空指針表明結束  
  16.  
  17.   jz exit  
  18.  
  19.   movl %ecx, %ebx  
  20.  
  21.   xorl %edx, %edx  
  22.  
  23.   strlen:  
  24.  
  25.   movb (%ebx), %al  
  26.  
  27.   inc %edx  
  28.  
  29.   inc %ebx  
  30.  
  31.   test %al, %al  
  32.  
  33.   jnz strlen  
  34.  
  35.   movb $10, -1(%ebx)  
  36.  
  37.   movl $4, %eax # 系統調用號(sys_write)  
  38.  
  39.   movl $1, %ebx # 文件描述符(stdout)  
  40.  
  41.   int $0x80  
  42.  
  43.   jmp vnext  
  44.  
  45.   exit:  
  46.  
  47.   movl $1,%eax # 系統調用號(sys_exit)  
  48.  
  49.   xorl %ebx, %ebx # 退出代碼  
  50.  
  51.   int $0x80  
  52.  
  53.   ret  
  54.  

【編輯推薦】

  1. 2.3 用匯編語言編寫程序
  2. 術語匯編 基本CSS濾鏡概述
  3. 琢石成器—Windows環境下32位匯編語言程序設計
  4. 3.1.3 as86匯編語言程序的編譯和鏈接
  5. 3.1.2 as86匯編語言程序
  6. 3.1.1 as86匯編語言語法
  7. 3.2.6 as匯編命令
責任編輯:zhaolei 來源: 網絡轉載
相關推薦

2011-01-14 14:15:11

Linux匯編語言

2011-01-14 14:08:17

Linux匯編語言

2011-01-14 14:39:32

Linux匯編語言

2011-01-14 13:44:45

Linux匯編語言

2018-01-11 14:58:40

2021-03-25 13:05:56

網絡安全寄存器匯編語言

2012-02-09 09:00:54

匯編語言

2011-01-04 17:08:10

匯編語言

2021-06-11 10:02:39

語言編程開發

2010-11-09 09:51:52

匯編語言

2022-10-31 14:02:24

匯編語言神經網絡

2023-11-23 08:25:40

開發人員SmaliAndroid

2011-07-21 09:59:26

JavaScript

2009-06-14 21:54:37

動態語言Java腳本API

2017-01-12 22:36:30

2023-06-01 16:27:34

匯編語言函數

2022-04-22 15:06:59

C++PythonJava

2010-06-04 17:56:22

Linux 常用工具

2012-08-13 14:13:46

2010-06-13 15:35:01

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99精品视频免费观看 | 国产成人免费视频网站高清观看视频 | 亚洲成人久久久 | 国产精品一级 | 神马久久久久久久久久 | 日韩精品在线一区 | 欧美日韩在线不卡 | 成人精品一区二区 | 色偷偷人人澡人人爽人人模 | 欧美日韩国产一区二区 | 日本黄色短片 | 亚洲精品久久久久久国产精华液 | 欧美bondage紧缚视频 | 亚洲精品视频播放 | 天天操精品视频 | 91精品久久 | 国产一区91精品张津瑜 | 精品久久久久久18免费网站 | 国产免费福利在线 | 欧美久久久久久久久 | 自拍偷拍亚洲欧美 | 欧美一区视频在线 | 在线观看www| 欧美一级在线观看 | 国产亚洲网站 | 久久精品99| 91网在线观看 | 久久久久久免费观看 | 伊人久久免费视频 | 久久精品亚洲欧美日韩久久 | 九九综合 | 91视频播放| 日日操操 | 亚洲一区中文字幕 | 国产精品一区二区在线播放 | 国产丝袜一区二区三区免费视频 | 精品欧美乱码久久久久久1区2区 | 亚洲精品电影在线观看 | 看片地址 | 久久精品国产一区二区电影 | 亚洲最大福利网 |