5-8万年薪顶级嵌入式,京沪深就业地 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  汇编语言

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 问题点数:0、回复次数:12Top

1 楼gemhop(真美好)回复于 2006-08-01 12:53:29 得分 0

呵呵,在http://community.csdn.net/Expert/topic/4874/4874821.xml?temp=.2486536里的回复,专门拎出来开作一贴,让大伙,没试过、用过的都来装一下试试,这个HLA是绝对不会让你失望的!Top

2 楼DelphiGuy()回复于 2006-08-02 18:07:09 得分 0

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

3 楼asmzyd(HAA55)回复于 2006-08-02 20:14:44 得分 0

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

4 楼gemhop(真美好)回复于 2006-08-03 18:48:42 得分 0

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也在这里下载,牛人啊!  
  Top

5 楼gemhop(真美好)回复于 2006-08-03 18:57:25 得分 0

asmzyd(HAA55)   (   )   信誉:99     2006-8-2   20:14:44     得分:   0      
     
     
         
  靠,我那一百多条指令白记了........郁闷。  
   
       
     
  ===========================================  
   
  没白费,   HLA里仍然可以用  
  详细的,看AOA这本牛书吧  
   
  而且HLA写的代码,结构更清晰,可读性更好Top

6 楼DelphiGuy()回复于 2006-08-03 21:14:45 得分 0

真正的汇编不是那样的。  
  真正的汇编是栈框架都需要自己写。  
  按您这种逻辑,那我可以说支持强大BASM的Delphi才是HLA。:)  
  Top

7 楼icbm(雪狼)回复于 2006-08-08 12:43:42 得分 0

我也觉得很奇怪,要程序的开发效率,用c就可以了。要提高运行效率,用汇编。  
   
  hla的目的是为了提高汇编的开发效率,设计出一套框架和库。论开发效率,不如c;论运行效率,略逊于纯汇编(框架总有规范和要求,避免不了一些冗余的东西)。  
   
  个人拙见,请批评指正。Top

8 楼wycg49(一直努力)回复于 2006-08-08 21:04:59 得分 0

lz的语气好像那些到我家推销保险的   :)Top

9 楼DelphiGuy()回复于 2006-08-09 08:50:00 得分 0

是啊。  
  楼主,卖保险可比卖这HLA有前途啊。:)  
  Top

10 楼RockyCoder(石头码客)回复于 2006-08-11 15:55:09 得分 0

楼主买书的!哈哈Top

11 楼intraweb(★人贱人爱★)回复于 2006-10-21 20:58:29 得分 0

不错,谢谢了。Top

12 楼intraweb(★人贱人爱★)回复于 2006-10-21 20:59:03 得分 0

如果再介绍一下HLA与RadAsm的结合使用就更好了。Top

相关问题

关键词

得分解答快速导航

  • 帖主:gemhop

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
x 提问