กลับไปหน้าบทความ

อ่าน 3 นาที

เอฟเอสเอ็ม

FASM ( flat assembler ) เป็น แอสเซมเบลอร์ สำหรับ โปรเซสเซอร์ x86 รองรับ ภาษาแอสเซมบลี แบบ Intel บน สถาปัตยกรรมคอมพิวเตอร์ IA-32 และ x86-64 อ้างว่ามีความเร็วสูง...

เอฟเอสเอ็ม

เอฟเอสเอ็ม
นักพัฒนาโทมัสซ์ กรีสตาร์
ปล่อยมีนาคม พ.ศ. 2543 ( 2000-03 )
เวอร์ชันเสถียร
1.73.35 [ 1 ] แก้ไขข้อมูลนี้บนวิกิดาต้า / 24 กุมภาพันธ์ 2026 ( 24 กุมภาพันธ์ 2569 )
เขียนเป็นการประกอบ
ระบบปฏิบัติการระบบปฏิบัติการแบบ Unix , Linux , Windowsและ IDE, MS-DOSและ IDE, OpenBSD , MenuetOS , KolibriOS , OctaOS , DexOS และ IDE, SkyOS , SolarOS
แพลตฟอร์มx86 , x86-64
พิมพ์แอสเซมเบลอร์
ใบอนุญาตBSD แบบง่ายที่มีข้อกำหนดลิขสิทธิ์แบบอ่อน
เว็บไซต์flatassembler .net
ที่เก็บข้อมูล
  • github.com/tgrysztar/fasm

FASM ( flat assembler ) เป็นแอสเซมเบลอร์สำหรับ โปรเซสเซอร์ x86รองรับภาษาแอสเซมบลีแบบ Intel บน สถาปัตยกรรมคอมพิวเตอร์ IA-32และx86-64อ้างว่ามีความเร็วสูง การเพิ่มประสิทธิภาพขนาด ความสามารถในการพกพา ระบบปฏิบัติการ (OS) และความสามารถด้านมาโคร[ 2 ] [ 3 ]เป็นแอสเซมเบลอร์ระดับต่ำ[ 3 ]และตั้งใจใช้ ตัวเลือก บรรทัดคำสั่ง น้อยมาก เป็นซอฟต์แวร์ฟรีและโอเพนซอร์ส

FASM ทุกเวอร์ชันสามารถส่งออกข้อมูลต่อไปนี้ได้โดยตรง: ไบนารี แบบ "ดิบ" (สามารถใช้เป็นไฟล์ปฏิบัติการ MS-DOS COMหรือไดรเวอร์ SYS ได้เช่นกัน), ออบเจ็กต์: รูปแบบไฟล์ปฏิบัติการและเชื่อมโยง (ELF) หรือรูปแบบไฟล์ออบเจ็กต์ทั่วไป (COFF) (แบบคลาสสิกหรือเฉพาะของ MS) หรือไฟล์ปฏิบัติการใน รูปแบบ MZ , ELF หรือPortable Executable (PE) (รวมถึงไดรเวอร์ WDM ซึ่งอนุญาตให้ใช้สตับ MZ DOS แบบกำหนดเองได้) นอกจากนี้ ยังมีพอร์ตที่ไม่เป็นทางการที่กำหนดเป้าหมายสถาปัตยกรรม ARM อีกด้วย [ 4 ​​]

ประวัติศาสตร์

โครงการนี้เริ่มต้นในปี 1999 โดย Tomasz Grysztar หรือที่ รู้จักกันในชื่อ Privalovซึ่งในขณะนั้นเป็นนักศึกษาปริญญาตรีสาขาคณิตศาสตร์จากโปแลนด์มีการเผยแพร่สู่สาธารณะในเดือนมีนาคม 2000 [ 5 ] [ 6 ] FASM เขียนขึ้นด้วยภาษาแอสเซมบลี ทั้งหมด และมาพร้อมกับซอร์สโค้ดแบบเต็มรูปแบบ สามารถทำงานได้ด้วยตนเองและสามารถประกอบตัวเองได้ตั้งแต่เวอร์ชัน 0.90 (4 พฤษภาคม 1999)

FASM เดิมทีทำงานใน โหมดเรียลแบบ 16 บิตต่อมาได้เพิ่มการรองรับ 32 บิต และเสริมด้วย การรองรับ DPMI ที่เป็นตัวเลือก ได้ รับการออกแบบให้ง่ายต่อการพอร์ตไปยังระบบปฏิบัติการใด ๆ ที่ใช้การกำหนดแอดเดรสแบบ 32 บิต จึงถูกพอร์ตไปยัง Windows แล้วจึงไปยัง Linux

ออกแบบ

FASM ไม่รองรับ คำสั่ง ระดับสูง มาก เท่ากับMASMหรือTASM [ 3 ] FASM มีคุณสมบัติทางไวยากรณ์และมาโคร ซึ่งทำให้สามารถปรับแต่งหรือสร้างคำสั่งที่ขาดหายไปได้[ 5 ] ไวยากรณ์การกำหนดแอดเดรสหน่วยความจำคล้ายกับโหมดอุดมคติของ TASM และNASMวงเล็บใช้เพื่อระบุตัวดำเนินการหน่วยความจำเช่นเดียวกับในแอสเซมเบลอร์ทั้งสอง แต่ขนาดของตัวดำเนินการจะอยู่นอกวงเล็บ เช่นเดียวกับใน NASM [ 7 ]

FASM เป็นแอสเซมเบลอร์แบบหลายรอบ ทำการเพิ่มประสิทธิภาพขนาดโค้ดอย่างกว้างขวางและอนุญาตให้มีการอ้างอิงไปข้างหน้าโดยไม่จำกัด[ 3 ] [ 7 ] โครงสร้าง FASM ที่ไม่ธรรมดาคือการกำหนดขั้นตอนเฉพาะเมื่อมีการใช้ขั้นตอนเหล่านั้นในโค้ด ซึ่งในภาษาส่วนใหญ่จะดำเนินการต่อออบเจ็กต์โดยลิง เกอร์

FASM ใช้หลักการ "แหล่งที่มาเดียวกัน ผลลัพธ์เดียวกัน" กล่าวคือ เนื้อหาของไฟล์ที่ได้จะไม่ได้รับผลกระทบจากบรรทัดคำสั่ง[ 7 ]แนวทางดังกล่าวช่วยป้องกันปัญหาการคอมไพล์ซอร์สโค้ดของ FASM ซึ่งมักพบในโครงการแอสเซมบลีหลายโครงการ ในทางกลับกัน มันทำให้การบำรุงรักษาโครงการที่ประกอบด้วยไฟล์ซอร์สโค้ดที่คอมไพล์แยกกันหลายไฟล์หรือโครงการภาษาผสมทำได้ยากขึ้น อย่างไรก็ตาม มีตัวห่อ Win32 ที่เรียกว่า FA ซึ่งช่วยลดปัญหานี้ได้[ 8 ]โครงการ FASM สามารถสร้างจากไฟล์ซอร์สโค้ดไฟล์เดียวโดยตรงเป็นไฟล์ปฏิบัติการได้โดยไม่ต้องมีขั้นตอนการเชื่อมโยง[ 3 ]

IDE

Freshซึ่งเป็นโครงการที่เริ่มต้นโดย John Found เป็นสภาพแวดล้อมการพัฒนาแบบบูรณาการสำหรับ FASM ภายใต้ Windows และ Linux [ 9 ]

ใช้

ระบบปฏิบัติการที่เขียนด้วย FASM:

คอมไพเลอร์ที่ใช้ FASM เป็นแบ็กเอนด์:

ดูเพิ่มเติม

  • โครงการ FASM: เว็บไซต์อย่างเป็นทางการ
  • FASMLIB 0.8.0 – ไลบรารี asm แบบพกพา 32 บิต x86 สำหรับ FASM/MASM/YASM/NASM/GASM
  • FASMARM – FASM สำหรับโปรเซสเซอร์ ARM เวอร์ชัน 1.27 วันที่ 9 มิถุนายน 2555 ( 9 มิถุนายน 2012 )
  • IDE ใหม่ล่าสุด
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=FASM&oldid=1358538300 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เอฟเอสเอ็ม

FASM ( flat assembler ) เป็น แอสเซมเบลอร์ สำหรับ โปรเซสเซอร์ x86 รองรับ ภาษาแอสเซมบลี แบบ Intel บน สถาปัตยกรรมคอมพิวเตอร์ IA-32 และ x86-64 อ้างว่ามีความเร็วสูง...

ประวัติศาสตร์

โครงการนี้เริ่มต้นในปี 1999 โดย Tomasz Grysztar หรือที่ รู้จักกันในชื่อ Privalov ซึ่งในขณะนั้นเป็นนักศึกษาปริญญาตรีสาขาคณิตศาสตร์จาก โปแลนด์ มีการเผยแพร่สู่สาธารณะในเดือนมีนาคม 2000 [ 5 ] [ 6 ] FASM เขียนขึ้นด้วย ภาษาแอสเซมบลี ทั้งหมด...

ออกแบบ

FASM ไม่รองรับ คำสั่ง ระดับสูง มาก เท่ากับ MASM หรือ TASM [ 3 ] FASM มีคุณสมบัติทางไวยากรณ์และมาโคร ซึ่งทำให้สามารถปรับแต่งหรือสร้างคำสั่งที่ขาดหายไปได้ [ 5 ] ไวยากรณ์ การกำหนดแอดเดรสหน่วยความจำคล้ายกับโหมดอุดมคติของ TASM และ NASM...

IDE

Fresh ซึ่งเป็นโครงการที่เริ่มต้นโดย John Found เป็น สภาพแวดล้อมการพัฒนาแบบบูรณาการ สำหรับ FASM ภายใต้ Windows และ Linux [ 9 ]