成人免费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技術棧公眾號

主站蜘蛛池模板: 一区二区三区国产 | 中文字幕精品一区二区三区精品 | 亚洲国内精品 | 国产精品久久久久久久久久久久 | av中文字幕在线播放 | 久在草 | 精品一区二区三区四区视频 | 91亚洲国产精品 | 美日韩免费视频 | 久在线 | 久久一级| 国产激情一区二区三区 | 亚洲毛片在线 | 欧美精品欧美精品系列 | 国产偷录视频叫床高潮对白 | 亚洲在线一区二区三区 | 成人三级影院 | 日韩中文字幕一区二区 | 欧美精品片 | 日韩国产在线 | 国产在线视频一区二区董小宛性色 | 亚洲精品视频在线看 | 一区二区三区国产精品 | 精品国产99| 精品免费视频一区二区 | www.亚洲一区二区 | aaaaaaa片毛片免费观看 | 亚洲国产高清在线观看 | 网站国产 | 99成人免费视频 | 欧美寡妇偷汉性猛交 | 91免费版在线 | 国产aa | 日韩中文字幕av | 欧美日韩一区二区视频在线观看 | 九九热在线免费观看 | 成人在线视频网站 | 粉嫩高清一区二区三区 | 亚洲一区 中文字幕 | 日韩欧美一区二区三区四区 | 曰韩三级 |