linux彙編必讀

2021-06-16 04:53:32 字數 1107 閱讀 5813

個人認為程式就是用來處理資料的,所以最要緊的是解決輸入與輸出的問題,

還有乙個要緊的問題就是我們能在螢幕上看到輸出結果,

下面我說說我在看linux下面彙編

的時候的一些感想,以及linux下面彙編和dos下面的個人認為的最主要的不同,

在dos下面主要就是呼叫dos中斷和bios中斷

比如返回系統是

mov ah,4ch

int 21h

等待輸入是

mov ah,1

int 21h

輸入到al

輸出到顯示器是

mov ah,2

int 21h

是把dl輸出

這些資料從**來,到**去,大家一定要搞清楚呀,

上面的都是dos中斷,當然你也可以呼叫bios中斷

但是在linux下面是不行的,linux沒有dos中斷,也不利用bios,linux的所有驅動都是由

系統人員自己從頭開始寫的,並不利用bios裡面的驅動,好了又要說說bios,叫做基本

的輸入輸出系統 basic input out put system,裡面有一些最基本的驅動,不過這些

都是dos以前的功能,後來直接做到bios裡面了,所以對linux沒有用處的,linux系統啟動

以後會初始化中斷向量表,用的都是linux系統自己的中斷處理程式,linux系統用的只是bios

裡面很少很少的一部分功能,就是bios的硬體檢測功能,比如bios檢測到記憶體的大小是多少

然後傳遞給核心,然後核心建立頁面檔案,

好了說了linux既不能呼叫bios中斷,也不能呼叫dos中斷,linux用的是什麼呢?

linux用的是系統呼叫,也就是system calls,就是這樣的工作過程,比如退出程式返回系

統的系統呼叫號是1,那麼把1存到規定的暫存器裡面,然後下面就是呼叫核心進行系統呼叫,

這個需要int 0x80,這個就是叫核心處理這個系統呼叫,我看linux似乎只需要這麼乙個int 0

x80系統呼叫號有好幾百個,都定義在/usr/include/asm/unistd.h這個檔案裡面

好了說了這麼多,大家還是不知道怎麼進行系統呼叫,

我在網上搜了乙個例子,對大家肯定會很有幫助的,例子如下

學Linux必讀 Linux程式設計學習方法

linux程式設計怎麼入門 最好的 linux 學習突破口是 linux 系統程式設計,沒有之一!有人說是裸機,看看招聘資訊就知道,沒有任何招聘資訊在任何一點提到裸機程式。那麼裸機程式是給那些使用者使用的?裸機程式不是給學習微控制器或者 stm32 程式設計師準備的,是給只有上位機變成經驗的純軟體工...

Linux彙編初識

2011 06 11 20 29 02 分類 x86與arm 標籤 movl 彙編器linux att 舉報 字型大小訂閱 hello.s intel彙編的注釋用的 而att用的 display a string hello,world.section rodata msg ascii hello,...

linux 彙編學習

1 計算機進行xor的速度要大於載入資料的速度,因此在設定暫存器的值為0時,通常用 xorl eax,eax 代替movl 0,eax 2 intel暫存器作用 x86 64位有16個通用暫存器 esp rsp 儲存了當前堆疊棧頂指標的暫存器。ebp rbp 儲存了當前堆疊基位址指標的暫存器。通常在...