原文地址:http://blog.chinaunix.net/uid-20548989-id-1667169.html

HLA简介  
   
    HLA,英文"High Level Assembler"(高阶汇编)的缩写,即所谓高级语法的汇编,它将一些高级语言中的特性加入汇编编写中,但它在最终的编译连接时还是要用到MASM的编译器和连接器.
   
    更进一步的解释请参看:
    http://webster.cs.ucr.edu/AsmTools/HLA/index.html  

    ●HLA的安装  
   
    1.下载并安装MASM32:到http://www.masm32.com,去下载一个MASM32,并安装它. 
   
    2.下载并安装HLA:先到http://webster.cs.ucr.edu,点击"High Level Assembly"的链接,打开http://webster.cs.ucr.edu/AsmTools/HLA/index.html,再点击"Download HLA"的链接,打开http://webster.cs.ucr.edu/AsmTools/HLA/dnld.html,再找到"Windows Users"下的"HLA Installation Program",比如hlasetup.exe,然后下载它.
   
    再安装它,安装时选择的目录不要带空格,比如不要装在C:\Program   Files,而我装在d:\hla可以.
   
    3.设置HLA  
   
    到MASM32的bin子目录下,把其中的ml.exe、ml.err、link.exe、mspdb50.dll四个文件复制到HLA所在目录.注意是复制而不是移动. 
   
    然后再到MASM32\lib目录下,把其中的gdi32.lib、kernel32.lib、user32.lib三个文件复制到hla\hlalib目录下(如果原本就有这些文件,可覆盖它们).注意是复制而不是移动. 
   
    设置并确认以下四个系统环境变量:  
   
    set hlainc=d:\hla\include
    set hlalib=d:\hla\hlalib\hlalib.lib
   
    (安装程序可能已把以上两个系统环境变量设好,不必再改动了)  
   
    set lib=d:\hla\hlalib;
   
    (安装程序可能已把以上这个系统环境变量设好,但需要检查设置的对不对,有没有重复的地方)  
   
    set path=d:\hla;
   
    (一般这个系统环境变量的新增部分需要手工添加,注意如果同时安装了Cygwin,要确保HLA的路径在Cygwin之前,否则Cygwin也带有link.exe,它会先于HLA被执行,导致HLA连接时出错)  
   
    4.运行HelloWorld测试HLA  
   
    编辑并存盘一个HelloWorld.hla文件,把它存到c:\hla\test,内容如下:  
   
    program   HelloWorld;  
        #include("stdlib.hhf");  
    begin   HelloWorld;  
       stdout.put("Hello,World of Assembly  Language",nl);  
    end   HelloWorld;  
      
    编译并运行它:  
   
    d:\hla\programs>hla   HelloWorld.hla  
    POLINK: warning: /SECTION:.bss ignored; section is missing. 

    编译时,我会出现这句不知道是怎么回事,我都是设置正确的.不过也不怎么会影响结果,先不管了.
   
    d:\hla\programs>HelloWorld  
    Hello,World of Assembly Language  
   
    d:\hla\programs> 

    到这里用来编程的环境就搭好了.

windows下hla编译环境配置(转)_1的更多相关文章

  1. windows下hla编译环境配置(转)

    原文地址:http://blog.chinaunix.net/uid-20548989-id-1667169.html HLA简介         HLA,英文"High Level Ass ...

  2. 【Objective-C】Windows下Objective-C开发环境配置

    [Objective-C]Windows下Objective-C开发环境配置 ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/   最近打 ...

  3. windows下spark开发环境配置

    http://www.cnblogs.com/davidwang456/p/5032766.html windows下spark开发环境配置 --本篇随笔由同事葛同学提供. windows下spark ...

  4. ACE在windows下的编译及配置(VS2010)

    ACE在windows下的编译及配置(VS2010) 分类:             -[小西南]-              2013-08-06 16:17     2354人阅读     评论( ...

  5. Metabase在Windows下的开发环境配置

    Metabase在Windows下的开发环境配置 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} Metabase在Wind ...

  6. 设置 Quick-Cocos2d-x 在 Windows 下的编译环境

    http://cn.cocos2d-x.org/tutorial/show?id=1304 设置 Quick-Cocos2d-x 在 Windows 下的编译环境 Liao Yulei2014-08- ...

  7. windows下apache+https环境配置

    windows下apache+https环境配置 转 https://www.cnblogs.com/sandaizi/p/7519370.html 1.修改配置文件conf/httpd.conf,去 ...

  8. Windows下Hadoop编程环境配置指南

    刘勇    Email: lyssym@sina.com 本博客记录作者在工作与研究中所经历的点滴,一方面给自己的工作与生活留下印记,另一方面若是能对大家有所帮助,则幸甚至哉矣! 简介 鉴于最近在研究 ...

  9. Windows 下 Swoole开发环境配置

    一直停留在windows,入了 jetbrains 的全家桶.准备入门 Swoole,不可能每做一点修改就 git push 运行一下.因此要在 windows 上配置 swoole 运行环境.对比了 ...

随机推荐

  1. mysql存储过程中 乱码问题解决办法

    中文乱码无论在何时都是一个头疼的问题,mysql的存储过程参数也同样存在这个问题.1.直接使用insert into语句没问题,能够正常插入汉字.2.把insert into语句移到Procedure ...

  2. java24

    1:多线程(理解)    (1)JDK5以后的针对线程的锁定操作和释放操作        Lock锁    (2)死锁问题的描述和代码体现    (3)生产者和消费者多线程体现(线程间通信问题)   ...

  3. Spring Schedule 任务调度实现

    我们都知道任务调度可以用Quartz,但对于简单的定时任务,可以直接用Spring内置的Schedule来实现.可以由两种方式,注释+XML配置 注解方式: 注解也要先在sping.xml配置文件中配 ...

  4. iOS中关于NavigationController中preferredStatusBarStyle一直不执行的问题

    重点:真的能改吗?跑起来毛用没有. 1.还要在plist文件里把View controller-based status bar appearance设置成YES. 2.一定要写UINavigatio ...

  5. yii 常用的多表查询

    return $this->model()->getDbConnection()->createCommand() ->select("t.type,t.title, ...

  6. iOS开发UI篇—CAlayer层的属性

    iOS开发UI篇—CAlayer层的属性 一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property ...

  7. python_配置

    代码示例:https://pan.baidu.com/s/1pLjLPSv 1.自动补全功能 许多人都知道 iPython 有很好的自动补全能力,但是就未必知道 python 也同样可以 Tab 键补 ...

  8. iOS-OC-基本控件之UIPageControl

    UIPageControl(页面控制器,就是桌面的那些小点点,每个点代表一个界面) 父类是 UIControl. iOS开发中常用的基本控件,主要和UIScrollView一起使用,比较常用的就是有些 ...

  9. [JAVA] BlockingQueue学习

    有点时间,巩固巩固下基础知识:BlockingQueue,如果BlockQueue是空的,从BlockingQueue取东西的操作将会被阻断进入等待状态,直到BlockingQueue进了东西才会被唤 ...

  10. netfilter的钩子——数据包在内核态得捕获、修改和转发

    转发:http://blog.csdn.net/stonesharp/article/details/27091391 数据包在内核态得捕获.修改和转发(基于 netfilter)    忙活了好几天 ...