HLA简介及安装、使用 (HLA的安装非常简单!三、五分钟就能搞定!然后你就可以编程了!爽就一个字!)

gemhop 2006-08-01 12:51:05
搞汇编的人都知道一本非常牛的书: AOA !
这本AOA是用HLA讲述汇编的。那么什么是AOA?什么是HLA?

○ HLA简介

HLA,英文"High Level Assembler"(高阶汇编)的缩写,即所谓高级语法的汇编,它将一些高级语言中的特性加入汇编编写中,但它在最终的编译连接时还是要用到MASM的编译器和连接器。

更进一步的解释请参看:
http://webster.cs.ucr.edu/AsmTools/HLA/index.html



强烈建议没装过、用过HLA,都用用HLA。没看过《The Art of Assembly Language》(汇编语言的艺术)这本书的都看看。HLA是最牛逼的汇编了!《The Art of Assembly Language》是非常牛的一本汇编书了!

安装HLA,只要三、五分钟就搞定,然后你就可以用它编程了,非常爽!都来试试吧。



● 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,而装在C:\Inetpub可以。

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=c:\hla\include
set hlalib=c:\hla\hlalib\hlalib.lib

(安装程序可能已把以上两个系统环境变量设好,不必再改动了)

set lib=c:\hla\hlalib; 《some text》

(安装程序可能已把以上这个系统环境变量设好,但需要检查设置的对不对,有没有重复的地方)

set path=c:\hla; 《some text》

(一般这个系统环境变量的新增部分需要手工添加,注意如果同时安装了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;

注意:Randall Hyde在他的AOA(The Art Of Assembly)一书里的上述源码中,英文引号(" ")都变成了中文引号(“”),需要改正过来才可无错运行。我给出的代码是没这个问题的,你拷贝过去就可直接无错运行了。

编译并运行它:

C:\hla\test>hla HelloWorld.hla
Assembling: HelloWorld.asm

C:\hla\test>HelloWorld
Hello, World of Assembly Language

C:\hla\test>

进一步修炼HLA,看《The Art of Assembly Language》这本书。

参考网址:
http://webster.cs.ucr.edu
...全文
1185 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
szjay 2006-10-21
  • 打赏
  • 举报
回复
如果再介绍一下HLA与RadAsm的结合使用就更好了。
szjay 2006-10-21
  • 打赏
  • 举报
回复
不错,谢谢了。
RockyCoder 2006-08-11
  • 打赏
  • 举报
回复
楼主买书的!哈哈
  • 打赏
  • 举报
回复
是啊。
楼主,卖保险可比卖这HLA有前途啊。:)
icbm 2006-08-08
  • 打赏
  • 举报
回复
我也觉得很奇怪,要程序的开发效率,用c就可以了。要提高运行效率,用汇编。

hla的目的是为了提高汇编的开发效率,设计出一套框架和库。论开发效率,不如c;论运行效率,略逊于纯汇编(框架总有规范和要求,避免不了一些冗余的东西)。

个人拙见,请批评指正。
wycg49 2006-08-08
  • 打赏
  • 举报
回复
lz的语气好像那些到我家推销保险的 :)
  • 打赏
  • 举报
回复
真正的汇编不是那样的。
真正的汇编是栈框架都需要自己写。
按您这种逻辑,那我可以说支持强大BASM的Delphi才是HLA。:)
gemhop 2006-08-03
  • 打赏
  • 举报
回复
asmzyd(HAA55) ( ) 信誉:99 2006-8-2 20:14:44 得分: 0



靠,我那一百多条指令白记了........郁闷。



===========================================

没白费, HLA里仍然可以用
详细的,看AOA这本牛书吧

而且HLA写的代码,结构更清晰,可读性更好
gemhop 2006-08-03
  • 打赏
  • 举报
回复
DelphiGuy() ( ) 信誉:100 2006-8-2 18:07:10 得分: 0



有意义吗?
怎么看着都象C和Pascal的混合物,与ASM相距甚远。



=============================================

你错了 !
HLA是真正意义上的汇编,你只看到了我本贴的 hello world,就下了结论未免失之偏颇.

其实你应该认真看完那本很牛的AOA, 就会知道你现在的认知是多么地错了!

呵呵, 学下 Randall Hyde 的 "AOA" 吧.他是搞汇编的大虾都无人不知无人不晓的一本牛书,它的中文版有没有不知道,反正英文版是作者免费提供下载的:

http://webster.cs.ucr.edu/AoA/index.html


分不同版本(根据操作系统), 其中Windows版的"AOA"电子书下载:
http://webster.cs.ucr.edu/AoA/Windows/index.html

有html,pdf,chm几个版本可以选择


"AOA"已经很牛了,但Randall Hyde最牛的书还是更高级修炼的"The Write Great Code"系列,到目前为止出了4卷本:
http://webster.cs.ucr.edu/WriteGreatCode/index.html

学完AOA再学 Write Great Code,感到他实在太牛了,强人啊

牛人Randall Hyde的网站:
http://webster.cs.ucr.edu
以上的下载和书讯都是他这个站的,HLA也在这里下载,牛人啊!
asmzyd 2006-08-02
  • 打赏
  • 举报
回复
靠,我那一百多条指令白记了........郁闷。
  • 打赏
  • 举报
回复
有意义吗?
怎么看着都象C和Pascal的混合物,与ASM相距甚远。
gemhop 2006-08-01
  • 打赏
  • 举报
回复
呵呵,在http://community.csdn.net/Expert/topic/4874/4874821.xml?temp=.2486536里的回复,专门拎出来开作一贴,让大伙,没试过、用过的都来装一下试试,这个HLA是绝对不会让你失望的!

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧