国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

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

2024-07-21 02:37:18
字體:
來源:轉載
供稿:網友

  作者:luster
  摘要:Netwide Assebler PRoject計劃提供了一個非常好用的 i386匯編器,這個匯編器是用C寫的,可以支持很多種對象文件格式。
  今天我們接著看看還有其他什么可以選擇的匯編編譯器:
  
    NASM
  
    Netwide Assebler Project計劃提供了一個非常好用的 i386匯編器,這個匯編器是用C寫的,可以支持很多種對象文件格式。
  
    我們可以在下面的網址獲得nasm最新的版本:
  
    http://nasm.2y.net, http://www.cryogen.com/nasm/
  
    語法還是使用的Intel方式的,集成了很好的對宏指令的支持。支持的object文件格式有:bin,a.out,coff,elf,as86,obj(DOS),win32,rdf等。NASM可以用作免費的
  
    LCC編譯器的backend。
  
    除非你使用16-bit的編譯器BCC,否則,你可以很好的使用NASM,而不必要去使用其他的AS86或者MASM,因為NASM在幾乎所有的平臺上都可以很好的運行。另外,它還有一個反匯編程序,名字叫NDISASM。
  
    NASM是用的是一個人工編寫語法分析器,比GAS速度要快。假如你喜歡用Intel風格的語法,而不習慣GAS的語法,那么NASM是你最好的選擇了。
  
    AS86
  
    AS86是一個支持80x86的匯編編譯器,同時支持16-bit和32-bit,也有集成的對宏指令的支持。在尋址表示方面有點區別外,其他語法都是何Intel的語法一樣的。最新的版本可以在下面的網址獲得:
  
  http://www.cix.co.uk/~mayday/,
    下面是個例子,是一個GNU Makefile里面,使用BCC來講.s asm文件編譯成aout .o 的目標文件和 .l 的listing文件:
  
  
  %.o %.l: %.s bcc -3 -G -c -A-d -A-l –A$*.l -o $*.o $<
  
    假如你不需要listing文件,就把“%.l,-A –l”和”-A$* .l”刪除。假如你想編譯成其他的東西,而不是a.out文件,那么可以修改BCC的參數。
  
    其他匯編器
  
    還有很多的可以使用的匯編器。下面列舉幾個,供大家參考:
  
    Free Pascal
  
    Free Pascal 集成了一個32-bit的匯編器。
  
    Win32Forth assembler
  
    Win32Forth是一個免費的32-bit的ASN FORTH系統,可以在Win32s,Win95,WinNT下正常使用。它包括了一個32-bit的匯編器,這個編譯器嵌入到了FORTH語言當中了。可以在下面的站點下載:
  
    FTP://ftp.forth.org/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的,可以對各種版本的匯編語言做交叉編譯。可以到下面的網站下載:
  
  http://www.penguin.cz/~niki/tdasm/
  
    Terse
  
    Terse是一個編程工具,它為x86系列提供了最緊湊的匯編語法編譯。具體情況參考:
  
    http://www.terse.com/
  
    HLA
  
    HLA 是a High Level Assembly language的縮寫。它的變量聲明、過程聲明、過程調用等都使用高級語言類似的語法)例如使用與Pascal,C/C++類似的語法)。HLA是免費的,不過只能在Win32下面使用。訪問下面的網站可以獲得更多的資料:
  
    http://webster.cs.UCr.edu/
  
    TALC
  
    TALC 是另外一個基于MASM/Win32地免費的編譯器。TAL是Typed Assembly Language的縮寫。可以訪問下面的網站:
  
    http://www.cs.cornell.edu/talc/
  
    待續。
。。
  
    luster@linuxaid.com.cn

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 温泉县| 清涧县| 乌兰浩特市| 丹江口市| 长阳| 龙里县| 左权县| 柞水县| 林口县| 商河县| 海阳市| 阿拉善右旗| 盐亭县| 平昌县| 渝北区| 牙克石市| 霍邱县| 方正县| 民丰县| 湘潭市| 苏尼特左旗| 建德市| 台中县| 农安县| 孝义市| 固镇县| 驻马店市| 嵩明县| 东安县| 淮北市| 澜沧| 炎陵县| 顺昌县| 广汉市| 华亭县| 彰化市| 安西县| 北碚区| 黔西县| 潼关县| 平南县|