Sunday, July 12, 2015

เขียนโปรแกรม Assembly บนระบบปฏิบัติการ Linux (Assembler and Linker)

บทความด้านล่างเป็นการอธิบายการเขียนโปรแกรม Assembly และวิธีการทำ Assembler and Linker ด้วยโปรแกรม NASM
 
1. ตรวจสอบว่ามีโปรแกรม The Netwide Assembler (NASM) ติดตั้งบนระบบปฏิบัติการ Linux หรือยัง โดยการพิมพ์คำสั่ง whereis nasm บน Terminal

whereis nasm

2. ถ้าโปรแกรม NASM ติดตั้งบนระบบปฏิบัติการเรียบร้อยแล้ว จะพบข้อความ nasm: /usr/bin/nasm ... ปรากฎขึ้นมาให้เห็น กรณีโปรแกรมยังไม่ได้ติดตั้ง ต้องดำเนินการติดตั้งโปรแกรมก่อน

3. เมื่อโปรแกรม NASM ติดตั้งบนระบบปฏิบัติการ Linux เรียบร้อยแล้ว ก็เปิดโปรแกรม Text Editor ตัวที่ท่านชอบ จากนั้นลองมาเขียนโปรแกรม Assembly ได้เลย ผมเขียนด้วย gedit

โปรแกรม Assembly นี้ จะพิมพ์คำว่า Hello, Bangkok !!! บนจอผ่านทาง Terminal

4.เมื่อเขียนโปรแกรม Assembly เรียบร้อยแล้วให้บันทึก (Save) โดยใช้นามสกุล .asm ผมบันทึกเป็นชื่อ sayhi.asm

5.เปิด Terminal แล้วเข้าไปยังไดเร็กทอรี่ ที่เราบันทึกโปรแกรม


6.ทำการ Assembler โดยการพิมพ์คำสั่ง nasm -f elf sayhi.asm จากนั้นกดปุ่ม Enter ถ้าทุกอย่างผ่านไปด้วยดีเราจะได้ Object file ที่มีนามสกุล .o

nasm -f elf [source_file.asm]

7. ทำการ Linker โดยการพิมพ์คำสั่ง ld -s -o sayhi  sayhi.o จากนั้นกดปุ่ม Enter จะได้ Executable file

ld -s -o [executable file] [object_file.o]

8. ถ้าไม่มีข้อความอะไรแจ้งเตือนออกมา แสดงว่าเราจะได้ Executable file ที่พร้อมจะทำงาน พิมพ์คำสั่ง ./sayhi แล้วกดปุ่ม Enter ได้เลย

./executable_file

9. โปรแกรมจะทำงาน โดยจะพิมพ์ Hello, Bangkok !!! บนจอผ่านทาง Terminal


No comments:

Post a Comment