MASM 編譯器的軟體推薦

MASM 編譯器的軟體推薦

我一直在尋找一個MASMUbuntu 的編譯器。我已將所有開發工具轉移到 Ubuntu。現在我正在上MASM課程,我非常需要一個MASM編譯器。我見過一些YouTube 上的視頻。他們大多使用 DOS 模擬器,並在其中安裝 MASM 編譯器。我並不是真的喜歡看這樣的東西。

這是我正在尋找的:

  • 理想情況下,它會有一些日誌來對我的程式進行故障排除。

  • 圖形使用者介面是一個優點,但我不需要它。

  • 我希望編譯器不是 Windows 的模擬(它不需要使用 WineHQ)。

我目前正在使用具有 MASM 套件的 Sublime Text,因此我不需要 IDE,但是如果您擁有的解決方案是 IDE,那就可以了,就像 Visual Studio 的輕量級替代品一樣。

在這種情況下,什麼是好的 MASM 編譯器?

答案1

我建議jwasm(關於來源鍛造以及Google程式碼

谷歌頁面列出了許多替代方案,也說明了為什麼 jwasm 比這些更好。 Nelow 直接從 google 代碼頁複製,以便您獲得良好的建議並獲得替代程式。您需要嘗試一下才能決定什麼對您有用。 JWasm 可在 Linux 上運作;其他人可能不會。

瓦斯姆

特徵

  • 自由的。
  • 輸出格式 Intel OMF、MS Coff(32 位元和 64 位元)、Elf(32 位元和 64 位元)、Bin 和 DOS MZ 的本機支援。
  • 預先編譯的 JWasm 二進位可用於 DOS、Windows 和 Linux。對於 OS/2 和 FreeBSD,提供了 makefile。
  • 支援最高 SSE4.2 的指令。
  • JWasm 是用 C 語言編寫的。
  • JWasm 的原始程式碼根據 Sybase Open Watcom 公共授權發布,允許免費商業和非商業使用。

與其他彙編器相比

MASM

  • JWasm 是免費的,沒有人為的許可證限制,可用於為任何作業系統建立二進位檔案。
  • JWasm 是開源的,忘記煩人的 MASM bug ...
  • 支援更多輸出格式(Bin、ELF)。
  • 可以選擇建立非常小的物件模組
  • 更好地支援 Open Watcom,例如基於暫存器的呼叫約定
  • JWasm 比 Masm 更快。

塔斯曼

  • JWasm 可用。 TASM 不合法。 LZASM 是一種 TASM 克隆,僅支援 IDEAL 模式。
  • JWasm 完全支援 STRUCT 和 UNION。 TASM 在這方面有嚴重的限制和錯誤。
  • JWasm 支援幾乎所有 MASM v6 功能(PROTO、INVOKE、hll 指令…),其中大部分 TASM 無法理解。
  • JWasm 支援最高 SSE4 的指令,TASM 落後。

POASM

  • JWasm 是開源的
  • JWasm也支援OMF、ELF和二進位格式的輸出
  • JWasm 支援 16 位元和分段記憶體模型。 POASM 只理解 FLAT。
  • JWasm 與 MASM 的巨集實作相容。 POASM 不是。
  • POASM 缺乏建立清單檔案的能力。

WASM

  • JWasm 的巨集功能比 Wasm 好得多。
  • JWasm 完全支援 Masm v6 語法。在 Wasm 中,Masm v6 中所做的大部分添加都缺失了。
  • 除了 OMF 之外,JWasm 還支援 COFF、ELF 和二進位輸出格式。 JWasm 支援 64 位元。

答案2

我認為重要的是要指出 jwasm 缺乏對基於 POSIX 的呼叫約定(類似 System V 的系統)的支持,因此,如果您願意使用帶有參數的 proto/procs 等功能,請注意這些參數將通過C/C++編譯器使用暫存器,但jwasm 不會使用正確的暫存器,而是使用堆疊作為參數,因此您將無法在64 位元架構上像往常一樣使用參數名稱。

相關內容