2020 12 08 Linux組合語言 四

2021-10-11 16:34:29 字數 919 閱讀 2936

# 根據源**命令修改

as maximum.s -o maximum.o

ld maximum.o -o maximum

# 用於檢視程式返回給作業系統的狀態碼

# 狀態碼儲存在 %ebx 通用暫存器中

echo

$?

.section .data

msg : .string "hello, world\n"

len = . - msg

.section .text

.global _start

_start:

movl $len, %edx # %edx 引數三: 字串長度

movl $msg, %ecx # %ecx 引數二: 要顯示的字串

movl $1, %ebx # %ebx 引數一: 檔案描述符(stdout)

movl $4, %eax # 系統呼叫號(sys_write)

int $0x80 # 呼叫核心功能

movl $len, %ebx # 引數一: 退出**

movl $1, %eax # 系統呼叫號(sys_exit)

int $0x80

字串列印的條件(3個引數, 系統呼叫)

3個引數:

a. 字串長度存放在 %edx

b. 待顯示的字串存放在 %ecx

c. 使用檔案描述符(stdout), 存放在 %ebx

系統呼叫號(sys_write), 存放在 %eax , (int $0x80) 呼叫核心功能;

由於給定字串的長度, 可以列印足夠長的字串.

深入理解程式設計 使用linux組合語言

2020-12-04-組合語言的主要型別

跳轉指令(待完成)

2020 12 08 Linux組合語言 三

根據源 命令修改 as maximum.s o maximum.o ld maximum.o o maximum 用於檢視程式返回給作業系統的狀態碼 狀態碼儲存在 ebx 通用暫存器中 echo 目的 尋找一組給定資料項中的最大值 輸入 無 輸出 返回一組資料項中的最大值,執行結束後使用 echo ...

linux彙編必讀

個人認為程式就是用來處理資料的,所以最要緊的是解決輸入與輸出的問題,還有乙個要緊的問題就是我們能在螢幕上看到輸出結果,下面我說說我在看linux下面彙編 的時候的一些感想,以及linux下面彙編和dos下面的個人認為的最主要的不同,在dos下面主要就是呼叫dos中斷和bios中斷 比如返回系統是 m...

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,...