文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>nasm自动编译脚本程序 [shell script] [for linux]

nasm自动编译脚本程序 [shell script] [for linux]

时间:2007-06-16  来源:dorainm

linux 下的 nasm,编译需要先把 .asm 编译成 .o 的 elf 文件
然后用 gcc 把它变成 可执行程序

现在用一个脚本,把这些动作变成一个自动化的过程,

见 assemble.sh
#运行语法
[dorainm@notebook hello]$ assemble.sh
assemble auto complite version 0.1   by dorainm, [email protected]
usage :    /home/dorainm/bin/assemble.sh soucre.asm output_filename
[dorainm@notebook hello]$


# 查看 hello.asm
[dorainm@notebook hello]$ ls
hello.asm
[dorainm@notebook hello]$ more hello.asm
hello.asm

section .text
extern puts
global main

main:
push dword msge;
call puts;
add esp,byte 4;
ret;

msge:
db "Hello, World!",0

# 编译 helloworld
[dorainm@notebook hello]$ assemble.sh hello.asm hello
# 编译完成
[dorainm@notebook hello]$ ls -l
-rwxrwxr-x 1 dorainm dorainm 4706 06-25 23:07 hello
-rw-rw-r-- 1 dorainm dorainm  134 06-25 23:06 hello.asm
# 运行生成的程序
[dorainm@notebook hello]$ ./hello
Hello, World!
[dorainm@notebook hello]$

附源码

#!/bin/sh

VERSION=0.1

function display_version()
{
        echo "assemble auto complite version $VERSION by dorainm, [email protected]"
}

function display_usage()
{
        display_version
        echo "usage : $1 soucre.asm output_filename"
        return 0
}

if [ $# -lt 2 ]
then
        display_usage $0
        exit 1
fi

infile=$1
outfile=$2
tempfile=assemble.temp.o
if [ $outfile = "" ]
then
        display_usage $0
        exit 2
fi

nasm -f elf $infile -o $tempfile
gcc $tempfile -o $outfile
rm -f $tempfile


文件: assemble.sh.tar.gz
大小: 0KB
下载: 下载
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载