博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在ubuntu系统中配置《汇编语言的编程艺术》开发环境
阅读量:6712 次
发布时间:2019-06-25

本文共 1158 字,大约阅读时间需要 3 分钟。

hot3.png

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

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

一、打开32位支持

  1. sudo dpkg --add-architecture i386
  2. sudo apt -get update
  3. 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/hlalibexport hlainc=/opt/hla/includeexport 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

 

转载于:https://my.oschina.net/u/2245781/blog/885507

你可能感兴趣的文章
一文看清深圳云栖阿里云重磅产品发布
查看>>
ELK部署参考文档
查看>>
Dcloud中mui 微信支付和支付宝支付接口完美实现付款代码(PHP支付宝demo)
查看>>
逻辑思考之,指定轮次提交赛事结果验证是否合法
查看>>
Atomic
查看>>
KM算法入门
查看>>
对称加密和分组加密中的四种模式(ECB、CBC、CFB、OFB)
查看>>
关于sql语句的优化问题
查看>>
SQL Server 2016新特性:数据库级别配置
查看>>
[Boost系列] Boost学习
查看>>
中美贸易战升级 医疗器械行业影响大
查看>>
exportfs命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp
查看>>
嵌入的iframe框架自适应宽度代码
查看>>
IPTABLES常用命令之配置生产环境IPTABLES及优化
查看>>
linux服务ssh详解
查看>>
cat命令一些不常用但很有用的参数
查看>>
linux文件的类型笔记
查看>>
UNIX/Linux 系统管理技术手册阅读(五)
查看>>
Scala之继承
查看>>
nginx日志统计分析
查看>>