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

前端之家收集整理的这篇文章主要介绍了在ubuntu系统中配置《汇编语言的编程艺术》开发环境前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

《汇编语言编程艺术》(The Art of Assembly Language)
使用了一种高级汇编语言HLA ( High Level Assembly ),只能运行在32位linux平台。

一、打开32位支持

@H_502_5@
  • 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

    原文链接:https://www.f2er.com/ubuntu/353316.html

    猜你在找的Ubuntu相关文章