Group Blog
 
All blogs
 
ทดลองเขียน ASM บน Linux

วันนี้มาลองเขียน asm บน linux กัน
โดยไปดูจากที่นี้ และ (2)
1. ติดตั้งโปรแกรม NASM โดย พิมพ์ sudo apt-get install nasm
และถ้าพิมพ์ whereis nasm ก็จะรู้ตำแหน่งที่ติดตั้งโปรแกรม
ตามจริงเค้าบอกว่า ใน linux มี assembler อยู่แล้วชื่อ gas แต่ syntax จะแตกต่างกับทาง dos เลย กล่าวคือ

AT&T mnemonic source, destination
NASM mnemonic    destination, source
ดังนั้นจึงมาเลือกใช้ nasm แทน

2. การเขียนโปรแกรม asm เหมือนการไปเรียกใช้งาน linux system call ที่มี fucntion ให้ใช้งานจำนวน 190 ตัว
3. เราต้องใส่เบอร์ function ที่ต้องการใช้งาน ใน register EAX และใส่พารามิเตอร์ใน Register EBX ECX และมีอีก รวมประมาณ 6 ตัว
4. เสร็จแล้วเราก็ใช้คำสั่ง int 80h เพื่อเรียกfunction มาใช้งาน
5. นอกจากนี้ยังมีการแบ่ง section เป็น
    section .data เพื่อระบุค่าต่างๆ
    section .text เพื่อเขียนcode
ุ6. การ compile ก็พิมพ์ประมาณนี้
nasm -f elf myfile.asm
  ld -o myfile myfile.o
ก็จะได้ไฟล์ myfile เอาไว้ execute ได้
ึ7.ตัวอย่าง code
     


จาก code จะมีการเรียกใช้ system call 2 function คือ 4 = write กับ 1= exit



Create Date : 08 มีนาคม 2557
Last Update : 8 มีนาคม 2557 21:51:26 น. 0 comments
Counter : 388 Pageviews.

ชื่อ :
Comment :
  *ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก
 
รหัสส่งข้อความ
กรุณายืนยันรหัสส่งข้อความ

wink99_th
Location :
พิษณุโลก Thailand

[Profile ทั้งหมด]

ให้ทิปเจ้าของ Blog [?]
ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 7 คน [?]




New Comments
Friends' blogs
[Add wink99_th's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.