อ่าน 2 นาที
การเปรียบเทียบแอสเซมเบลอร์
นี่เป็นการ เปรียบเทียบ แอสเซมเบลอร์ ที่ไม่สมบูรณ์ แอสเซมเบลอร์ บางตัวเป็นส่วนประกอบของระบบคอมไพเลอร์สำหรับ ภาษาโปรแกรมระดับสูง...
การเปรียบเทียบแอสเซมเบลอร์
นี่เป็นการเปรียบเทียบแอสเซมเบลอร์ ที่ไม่สมบูรณ์ แอสเซมเบลอร์ บางตัวเป็นส่วนประกอบของระบบคอมไพเลอร์สำหรับภาษาโปรแกรมระดับสูงและอาจมีฟังก์ชันการทำงานที่จำกัดหรือไม่มีเลยนอกระบบคอมไพเลอร์ แอสเซมเบลอร์บางตัวทำงานอยู่บนโปรเซสเซอร์และระบบปฏิบัติการเป้าหมาย ในขณะที่แอสเซมเบลอร์อื่นๆ (ครอสแอสเซมเบลอร์) อาจทำงานภายใต้ระบบปฏิบัติการหรือโปรเซสเซอร์ที่ไม่เกี่ยวข้อง ตัวอย่างเช่น แอสเซมเบลอร์สำหรับระบบฝังตัวมักจะไม่ทำงานอยู่บนระบบเป้าหมาย เนื่องจากระบบนั้นไม่มีพื้นที่จัดเก็บและเทอร์มินัล I/O เพียงพอที่จะอนุญาตให้ป้อนโปรแกรมจากแป้นพิมพ์ได้ แอสเซมเบลอร์อาจมีโปรเซสเซอร์เป้าหมายเพียงตัวเดียว หรืออาจมีตัวเลือกเพื่อรองรับโปรเซสเซอร์หลายประเภท
ในฐานะส่วนหนึ่งของชุดคอมไพเลอร์
- GNU Assembler (GAS): GPL: ชุดคำสั่งเป้าหมายมากมาย รวมถึงสถาปัตยกรรม ARM , Atmel AVR , x86 , x86-64 , RISC-V , Freescale 68HC11 , Freescale v4e , Motorola 680x0 , MIPS , PowerPC , IBM System z , TI MSP430 , Zilog Z80
- SDAS (โปรแกรมที่แตกแขนงมาจาก ASxxxx Cross Assemblers และเป็นส่วนหนึ่งของ โครงการ Small Device C Compiler ): ลิขสิทธิ์แบบ GPL: รองรับชุดคำสั่งเป้าหมายหลายชุด รวมถึงIntel 8051 , Zilog Z80 , Freescale 68HC08และไมโครคอนโทรลเลอร์ PIC
- Amsterdam Compiler Kit (ACK) รองรับสถาปัตยกรรมหลายประเภทในช่วงทศวรรษ 1980 รวมถึง6502 , 6800 , 680x0 , ARM , x86 , Zilog Z80และZ8000
- LLVMรองรับหลายแพลตฟอร์ม แต่จุดเน้นหลักไม่ใช่การสร้างโค้ดที่ขึ้นอยู่กับเครื่องจักร แต่ ใช้ การแสดงผลระดับกลางแบบแอสเซมบลีที่มี การกำหนดประเภทข้อมูลในระดับสูงกว่า อย่างไรก็ตาม สำหรับแพลตฟอร์มที่ใช้กันทั่วไป โครงการ LLVM MC (machine code) ก็มีแอสเซมเบลอร์ให้ใช้งาน ทั้งในรูปแบบส่วนประกอบที่รวมอยู่ในคอมไพเลอร์และเป็นเครื่องมือภายนอก
- ภาษาโปรแกรมแบบเนทีฟที่โฮสต์ด้วยตนเองบางภาษา (เช่น Go , Free Pascal , SBCL ) มีแอสเซมเบลอร์ของตัวเองที่มีเป้าหมายหลายอย่าง อาจใช้สำหรับการเขียนแอสเซมบลีแบบอินไลน์ภายในภาษา หรือแม้กระทั่งรวมเป็นไลบรารี แต่ก็ไม่เหมาะสมเสมอไปสำหรับการใช้งานนอกเฟรมเวิร์กของมัน เช่น ไม่มีเครื่องมือบรรทัดคำสั่ง หรือใช้ได้เฉพาะตัวแทนระดับกลางเป็นอินพุต หรือชุดเป้าหมายที่รองรับมีจำกัดมาก
ตัวประกอบเป้าหมายเดี่ยว
เครื่องประกอบ 6502 เครื่อง
เครื่องประกอบ 680x0
| แอสเซมเบลอร์ | นักพัฒนา | ฟอสส์ | ใบอนุญาต | ชุดคำสั่ง | แพลตฟอร์มโฮสต์ | การพัฒนาที่กระตือรือร้น |
|---|---|---|---|---|---|---|
| ASM-One มาโครแอสเซมเบลอร์ | รูน แกรม-แมดเซน | เลขที่ | ฟรี | โมโตโรลา 680x0 | คอมโมดอร์อามิกา | เลขที่ |
| แก๊ส | โครงการ GNU | ใช่ | ฟรี | โมโตโรลา 680x0 | หลากหลาย | ใช่ |
| วาสม์ | โวลเกอร์ บาร์เทลมันน์, แฟรงค์ วิลเล | เลขที่ | กรรมสิทธิ์ | โมโตโรลา 680x0 | หลากหลาย | ใช่ |
| อาร์เอ็มเอซี | เจมส์ แฮมมอนส์, จอร์จ นาคอส, แลนดอน ไดเออร์ | ใช่ | ฟรี | Motorola 680x0 , MOS Technology 6502 | ลินุกซ์ , วินโดวส์ , มอสซาเรลล่า | ใช่ |
ตัวประกอบแอสเซมเบลอร์ ARM
| แอสเซมเบลอร์ | นักพัฒนา | ฟอสส์ | ใบอนุญาต | แพลตฟอร์มโฮสต์ | อาร์เอ็ม64 |
|---|---|---|---|---|---|
| แก๊ส | โครงการ GNU | ใช่ | จีเอ็นยู จีพีแอล | หลากหลาย | ใช่ |
| ทีซีซีเอสเอ็ม | ฟาบริซ เบลลาร์ด | ใช่ | จีเอ็นยูแอลจีพีแอล | คล้ายยูนิกส์ , วินโดวส์ | ใช่ |
| วาสม์ | โวลเกอร์ บาร์เทลมันน์, แฟรงค์ วิลเล | เลขที่ | ฟรี | หลากหลาย | เลขที่ |
| ฟาสมาร์ม | การปฏิวัติโทมัส กรีสตาร์ | ใช่ | BSD ที่เรียบง่ายพร้อมลิขสิทธิ์แบบอ่อน | วินโดวส์ , ดีโอเอส , ลินุกซ์ , ระบบปฏิบัติการ คล้ายยูนิกส์ | เลขที่ |
| อาร์มิปส์ | คิงคอม | ใช่ | เอ็มไอที | หลากหลาย | เลขที่ |
ตัวประกอบแอสเซมเบลอร์ RISC-V
| แอสเซมเบลอร์ | นักพัฒนา | ฟอสส์ | ใบอนุญาต | แพลตฟอร์มโฮสต์ | RISC-V |
|---|---|---|---|---|---|
| แก๊ส | โครงการ GNU | ใช่ | จีเอ็นยู จีพีแอล | หลากหลาย | ใช่ |
| ทีซีซีเอสเอ็ม | ฟาบริซ เบลลาร์ด | ใช่ | จีเอ็นยูแอลจีพีแอล | คล้ายยูนิกส์ , วินโดวส์ | ใช่ |
ผู้ประกอบเมนเฟรม
ตัวประกอบภาษาแอสเซมบลี POWER, PowerPC และ Power ISA
| แอสเซมเบลอร์ | นักพัฒนา | ฟอสส์ | ใบอนุญาต | ชุดคำสั่ง | แพลตฟอร์มโฮสต์ |
|---|---|---|---|---|---|
| แก๊ส | โครงการ GNU | ใช่ | จีเอ็นยู จีพีแอล | พลังงาน , พาวเวอร์พีซี 74xx , พาวเวอร์พีซี 970 | GNU Binutilsรองรับทุกแพลตฟอร์ม |
| โปรแกรมแอสเซมเบลอร์ IBM AIX | ไอบีเอ็ม | เลขที่ | กรรมสิทธิ์ | พลัง | ไอบีเอ็มเอไอเอ็กซ์ |
| วาสม์ | โวลเกอร์ บาร์เทลมันน์, แฟรงค์ วิลเล | เลขที่ | ฟรี | POWER 40x, 440, 460, 6xx, 7xx, 7xxx, 860, Book-E, e300 และ e500 | หลากหลาย |
ตัวประกอบแอสเซมเบลอร์ x86
- ^เป็นส่วนหนึ่งของMINIX 3แต่ไม่มีกิจกรรมการพัฒนาที่ชัดเจน
- ^พัฒนาโดยInteractive Systems Corporationในปี 1986 เมื่อพวกเขานำUNIX System Vมาใช้กับสถาปัตยกรรม Intel iAPX286 และ 80386 เป็นรูปแบบไวยากรณ์ ATTเนื่องจากถูกใช้เป็นแบบอ้างอิงสำหรับ GAS และยังคงใช้ในผลิตภัณฑ์ของ TheSCOGroupได้แก่UnixWareและOpenServer
- ^เปิดใช้งานแล้ว ได้รับการสนับสนุน แต่ไม่ได้โฆษณา
- ^เป็นส่วนหนึ่งของC++Builderแต่ไม่ได้วางจำหน่ายเป็นผลิตภัณฑ์เดี่ยว หรือทำการตลาดอีกเลยนับตั้งแต่การแยกตัวของ CodeGear; Borland ยังคงจำหน่ายอยู่จนถึงตอนนั้น เวอร์ชัน 5.0 ซึ่งเป็นเวอร์ชันสุดท้าย มีวันที่ระบุไว้คือปี 1996
- ^ Turbo Assembler ได้รับการพัฒนาขึ้นในชื่อTurbo Editasmโดย Uriah Barnett จาก Speedware Inc (Sacramento, CA) ระหว่างปี 1984 ถึง 1987 จากนั้นจึงถูกขายหรือทำการตลาดโดย Borland ในชื่อ Turbo Assembler ในภายหลัง
- ^เวอร์ชันเสถียรล่าสุด 1.3.0 เปิดตัวในเดือนสิงหาคม 2557 และมีการบำรุงรักษาน้อยลงตั้งแต่นั้นมา:https://github.com/yasm/yasm
เครื่องประกอบ Z80
| แอสเซมเบลอร์ | นักพัฒนา | แพลตฟอร์มโฮสต์ | ฟอสส์ | ใบอนุญาต | การพัฒนาที่กระตือรือร้น |
|---|---|---|---|---|---|
| ไมโครซอฟต์ มาโคร-80 | ไมโครซอฟต์ | CP/M , ISIS-II , TRSDOS , TEKDOS , MSX-DOS | เลขที่ | ทางการค้า | เลขที่ |
| ซุส แอสเซมเบลอร์ | คริสตัลคอมพิวติ้ง | ZX Spectrum | เลขที่ | ทางการค้า | เลขที่ |
| z80asm | ปีเตอร์ โคลเนอร์, พอล โฟล วิลเลียมส์, จอห์น คริตชลีย์, บาส ไวจ์เนน | คล้ายยูนิกส์ , วินโดวส์ | ใช่ | จีเอ็นยู จีพีแอล | เลขที่ |
| ปาสโม | จูเลียน อัลโบ | คล้ายยูนิกส์ , วินโดวส์ | ใช่ | จีเอ็นยู จีพีแอล | เลขที่ |
| sjasmplus | ยอร์ด มาสติจน์, อาปริโซบัล, ปีเตอร์ เฮลมานอฟสกี้, ... | คล้ายยูนิกส์ , วินโดวส์ | ใช่ | บีเอสดี | ใช่ |
| ราสม์ | แบร์จ เอดูอาร์ด | คล้ายยูนิกส์ , วินโดวส์ | ใช่ | เอ็มไอที | ใช่ |
ตัวประกอบเป้าหมายเดี่ยวอื่นๆ
ตัวประกอบที่กำหนดเป้าหมายใหม่ได้/ตัวประกอบข้าม
| แอสเซมเบลอร์ | นักพัฒนา | ฟอสส์ | ใบอนุญาต | ชุดคำสั่ง | แพลตฟอร์มโฮสต์ |
|---|---|---|---|---|---|
| มาโครแอสเซมเบลอร์ AS | อัลเฟรด อาร์โนลด์ | ฟรี | 29xxx, AVR , 65816, ACE, F2MC-8L, F2MC-16L, HMCS400, 6301, 6309, H8/300(H), H8/500, SH7000 / SH7600 / SH7700, HuC6280, PPC403GA, 4004/4040, 8008, MCS-48, MCS-41, MCS-51 , MCS-251, MCS-96/196/296, 8080/8085, [ | Win32 , DOS/DPMI, DOS (ไม่มีการดูแลรักษาอีกต่อไป), OS/2 (ไม่มีการดูแลรักษาอีกต่อไป), Linux | |
| เครื่องประกอบชิ้นส่วนไขว้ ASxxxx | อลัน อาร์. บอลด์วิน | ใช่ | จีเอ็นยู จีพีแอล | 1802, S2650, SC/MP, MPS430, 6100, 61860, 6500 , 6800 (6802/6808), 6801(6803/HD6303), 6804, 6805, 68HC(S)08 , 6809, 68HC11, 68HC(S)12, 68HC16, 740, 78K/0, 78K/0S, 8008 , 8008S, 8048(8041/8022/8021), 8051 , 8085( 8080 ), AT89LP, 8X300(8X305), DS8XCXXX, AVR , EZ80, F2MC8L/FX, F8/3870, Game Boy (sm83), H8/3xx, Cypress PSoC (M8C), PIC , Rabbit 2000/3000 , ST6, ST7 , ST8 , Z8, Z80 (HD64180) และซีรี่ส์ Z280 | Win32 , DOS , Linux , Android |
หมายเหตุและเอกสารอ้างอิง
ลิงก์ภายนอก
- รายชื่อโปรแกรมแอสเซมเบลอร์ที่ทำงานบนฮาร์ดแวร์บัส S100 รวมถึงโปรแกรมแอสเซมเบลอร์ที่โฮสต์บน CP/M สำหรับ 8080 และ Z80
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การเปรียบเทียบแอสเซมเบลอร์
นี่เป็นการ เปรียบเทียบ แอสเซมเบลอร์ ที่ไม่สมบูรณ์ แอสเซมเบลอร์ บางตัวเป็นส่วนประกอบของระบบคอมไพเลอร์สำหรับ ภาษาโปรแกรมระดับสูง...
ในฐานะส่วนหนึ่งของชุดคอมไพเลอร์
GNU Assembler (GAS): GPL: ชุดคำสั่งเป้าหมายมากมาย รวมถึง สถาปัตยกรรม ARM , Atmel AVR , x86 , x86-64 , RISC-V , Freescale 68HC11 , Freescale v4e , Motorola 680x0 , MIPS , PowerPC , IBM System z , TI MSP430 , Zilog Z80 SDAS (โปรแกรมที่แตกแขนงมาจาก ASxxxx Cross...
เครื่องประกอบ 6502 เครื่อง
แอสเซมเบลอร์ นักพัฒนา ฟอสส์ ใบอนุญาต ชุดคำสั่ง แพลตฟอร์ม โฮสต์ โปรแกรมแก้ไขภาษาแอสเซมบลีของ Atari เชพาร์ดสัน ไมโครซิสเต็มส์ เลขที่ กรรมสิทธิ์ เทคโนโลยี MOS 6502 อาตารี 8 บิต โปรแกรมประกอบมาโคร Atari เชพาร์ดสัน ไมโครซิสเต็มส์ เลขที่ กรรมสิทธิ์ เทคโนโลยี MOS...
เครื่องประกอบ 680x0
แอสเซมเบลอร์ นักพัฒนา ฟอสส์ ใบอนุญาต ชุดคำสั่ง แพลตฟอร์ม โฮสต์ การพัฒนาที่กระตือรือร้น ASM-One มาโครแอสเซมเบลอร์ รูน แกรม-แมดเซน เลขที่ ฟรี โมโตโรลา 680x0 คอมโมดอร์ อามิกา เลขที่ แก๊ส โครงการ GNU ใช่ ฟรี โมโตโรลา 680x0 หลากหลาย ใช่ วาสม์ โวลเกอร์...