linux8086汇编环境配置,在ubuntu系统中配置《汇编语言的编程艺术》开发环境

《汇编语言编程艺术》(The Art of Assembly Language)

使用了一种高级汇编语言HLA ( High Level Assembly ),只能运行在32位Linux平台。

一、打开32位支持

sudo dpkg --add-architecture i386

sudo apt -get update

sudo apt-get dist-upgrade

二、下载HLA的Linux程序

http://www.plantation-productions.com/Webster/HighLevelAsm/HLAv2.16/Linux.hla.tar.gz

解压后程序在当前目录下的usr/hla

sudo cp -Rf usr/hla /opt/.

rm -rf usr

三、配置环境

~/.bashrc里追加

export hlalib=/opt/hla/hlalib

export hlainc=/opt/hla/include

export PATH=$PATH:/opt/hla

并使之生效

.  ~/.bashrc

四、测试

cat hw.hla

program HelloWorld;

#include( "stdlib.hhf" )

begin HelloWorld;

stdout.put( "Hello, World of Assembly Language", nl );

end HelloWorld;

汇编:

$ hla -lmelf_i386 hw.hla

-lmelf_i386是为了吧-m elf_i386参数传递给ld,否则会出现ld: i386 架构于输入文件 hw.o 与 i386:x86-64 输出不兼容错误。

或者分两部:

汇编(只产生目标代码):hlaparse -Linux hw.hla

链接:ld -m elf_i386  -o hw hw.o /opt/hla/hlalib/hlalib.a

运行:

$ ./hw

Hello, World of Assembly Language

为了方便也可在.bashrc中增加别名alias hla='hla -lmelf_i386'

这样hla hw.hla就不会出错了

先翻译成gas格式再汇编和链接:

hlaparse -Linux -sg  hw.hla

会生成hw.asm

$ as --32 -o hw.o hw.asm $ ld -m elf_i386  -o hw hw.o /opt/hla/hlalib/hlalib.a $ ./hw  Hello, World of Assembly Language

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值