linux assemble environment
来源:互联网 发布:arm linux gcc 编辑:程序博客网 时间:2024/06/05 02:32
1、下载nasm安装包
#wget http://www.nasm.us/pub/nasm/releasebuilds/2.11.08/nasm-2.11.08.tar.gz
2、解压安装nasm
#tar -xzvf nasm-2.11.08.tar.gz
#cd nasm-2.11.08
#./configure
#make
#make install
3、编写hello.asm
section .data ;section declaration
msg db "Hello, world!",0xA ;our dear string
len equ $ - msg ;length of our dear string
section .text ;section declaration
;we must export the entry point to the ELF linker or
global _start ;loader. They conventionally recognize _start as their
;entry point. Use ld -e foo to override the default.
_start:
;write our string to stdout
mov eax,4 ;system call number (sys_write)
mov ebx,1 ;first argument: file handle (stdout)
mov ecx,msg ;second argument: pointer to message to write
mov edx,len ;third argument: message length
int 0x80 ;call kernel
;and exit
mov eax,1 ;system call number (sys_exit)
xor ebx,ebx ;first syscall argument: exit code
int 0x80 ;call kernel
4、编译连接
#nasm -f elf64 hello.asm (linux是64位的,如果是32,请使用elf32)
#ld -s -o hello hello.o
#ls hello
hello
5、执行程序
#./hello
- linux assemble environment
- assemble
- Assemble
- Assemble
- linux vim environment setting
- Linux Environment Variables-basic
- Linux:查看环境变量(environment)
- linux set jdk environment
- 视频: 千重浪Linux系统调试技术培训 03-03-Basic-Assemble
- linux java environment variable configure
- Java Environment Building in Linux
- Configure Java environment on Linux
- Embedded Linux Development Environment Building
- A Linux Environment Zero Overhead
- Define environment variable in LINUX
- virtualbox linux development environment setup
- Embedded Linux S3C2440 environment setup
- Embedded Linux S3C2440 Environment Startup
- Java编程思想-java中的并发(三)
- 基础课程学习心得
- 轮子篇:基于Node和React的全栈式架构
- Java编程思想-java中的并发(四)
- latex笔记
- linux assemble environment
- sc.next() 和 nextLine 的区别
- 天气
- 1062. 最简分数(20)
- bzoj2555 SubString
- volatile是否能保证数组中元素的可见性?
- 一次摄像头的任务 - 2
- 写一个顺序栈
- Angularjs知识点整理(一)之——简介、指令介绍