熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

一起學習在linux下使用匯編語言(3)

2013-11-13 15:39:05  來源: Oracle 

  作者luster
  摘要:Netwide Assebler Project計劃提供了一個非常好用的 i匯編器這個匯編器是用C寫的可以支持很多種對象文件格式
  今天我們接著看看還有其他什麼可以選擇的匯編編譯器
  
    NASM
  
    Netwide Assebler Project計劃提供了一個非常好用的 i匯編器這個匯編器是用C寫的可以支持很多種對象文件格式
  
    我們可以在下面的網址獲得nasm最新的版本
  
    
  
    語法還是使用的Intel方式的集成了很好的對宏指令的支持支持的object文件格式有binaoutcoffelfasobj(DOS)winrdf等NASM可以用作免費的
  
    LCC編譯器的backend
  
    除非你使用bit的編譯器BCC否則你可以很好的使用NASM而不必要去使用其他的AS或者MASM因為NASM在幾乎所有的平台上都可以很好的運行另外它還有一個反匯編程序名字叫NDISASM
  
    NASM是用的是一個人工編寫語法分析器比GAS速度要快如果你喜歡用Intel風格的語法而不習慣GAS的語法那麼NASM是你最好的選擇了
  
    AS
  
    AS是一個支持x的匯編編譯器同時支持bit和bit也有集成的對宏指令的支持在尋址表示方面有點區別外其他語法都是何Intel的語法一樣的最新的版本可以在下面的網址獲得
  
  ~mayday/
    下面是個例子是一個GNU Makefile裡面使用BCC來講s asm文件編譯成aout o 的目標文件和 l 的listing文件
  
  
  %o %l: %s bcc G c Ad Al –A$*l o $*o $<
  
    如果你不需要listing文件,就把“%.l,-A –l”和”-A$* .l”刪除。Tw.WiNGWIt.cOm如果你想編譯成其他的東西,而不是a.out文件,那麼可以修改BCC的參數。
  
    其他匯編器
  
    還有很多的可以使用的匯編器。下面列舉幾個,供大家參考:
  
    Free Pascal
  
    Free Pascal 集成了一個32-bit的匯編器。
  
    Win32Forth assembler
  
    Win32Forth是一個免費的32-bit的ASN FORTH系統,可以在Win32s,Win95,WinNT下正常使用。它包括了一個32-bit的匯編器,這個編譯器嵌入到了FORTH語言當中了。可以在下面的站點下載:
  
    ftp:///pub/Forth/Compilers/native/windows/Win32For/.
  
    SHASM
  
    SHASM是用GNU Bash Version 2編寫的一個匯編器,可以在其他unix-style的“shell”命令解釋器下運行。可以在下面的網址下載最新版本:
  
  ftp://linux01.gwdg.de/pub/cLIeNUX/interim/shasm.TGZ
  
    TDASM
  
    TDASM是Table Driven Assembler的,可以對各種版本的匯編語言做交叉編譯。可以到下面的網站下載:
  
  ~niki/tdasm/
  
    Terse
  
    Terse是一個編程工具,它為x86系列提供了最緊湊的匯編語法編譯。詳細情況參考:
  
    
  
    HLA
  
    HLA 是a High Level Assembly language的縮寫。它的變量聲明、過程聲明、過程調用等都使用高級語言類似的語法)例如使用與Pascal,C/C++類似的語法)。HLA是免費的,不過只能在Win32下面使用。訪問下面的網站可以獲得更多的資料:
  
    
  
    TALC
  
    TALC 是另外一個基於MASM/Win32地免費的編譯器。TAL是Typed Assembly Language的縮寫。可以訪問下面的網站:
  
    
  
    待續。。。
  
    .cn
  
  
  

From:http://tw.wingwit.com/Article/program/Oracle/201311/17074.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.