โปรแกรมสกุล exe
|
ปรับปรุง : 2562-02-01 (ปรับ template) |
Digital logic | OS | คำสั่งดอส | Batch | Debug | Assembly | GWBasic | Docker | |
x1.asm [แนวการเขียน .com]
โปรแกรมแสดงอักษร aaa แล้วหยุดรอรับค่าจากแป้นพิมพ์ 1 ตัวอักษร และพิมพ์ aaa ใหม่ โปรแกรมจะเลิกทำงานต่อเมื่อกดปุ่ม Ctrl-C ผลการแปล x1.asm จะได้ x1.exe ขนาด 536 Byte warnning 2 บรรทัดนี้ เกิดเพราะโปรแกรมถูกแปลเป็น exe แต่หลักการของโปรแกรมนี้มีการทำงานแบบ .com ไม่จำเป็นต้องใช้ stack segment ซึ่งโปรแกรม link จะเตือนเช่นนี้เสมอเมื่อโปรแกรมไม่มี stack segment After compiling by MASM6.11 : LINK : warning L4021: no stack segment LINK : warning L4038: program has no starting address ในการประมวลผลจะวน loop ไม่รู้จบให้กดปุ่ม CTRL-C เพื่อเลิกการทำงาน |
|
x2.asm [แนวการเขียน .com]
นำโปรแกรม x มาปรับ แล้วให้หยุดรับอักษรเพียง 2 ครั้ง จึงเลิกทำงานด้วย interrupt 20H จะได้ x2.exe ขนาด 548 Byte [โปรแกรมนี้ error เมื่อจบการทำงานเพราะ int 20h และเกิด error ใน Win98 ไม่พบ error ใน WinXP ต้องใช้ exe2bin แปลงเป็น .com จึงจะไม่มีปัญหา] |
|
x3.asm :: การสั่งประมวลผลเช่น c:\x3.exe test.doc [แนวการเขียน .com]
โปรแกรมเปลี่ยน attribute ของแฟ้มเป็น R อย่างเดียว สามารถตรวจสอบแฟ้มด้วยการพิมพ์ attrib หากต้องการลบแฟ้มต้องพิมพ์ attrib -r test.doc จึงจะลบแฟ้มนี้ได้ จะได้ x3.exe ขนาด 796 Byte [โปรแกรมนี้ error เมื่อจบการทำงานเพราะ int 20h และเกิด error ใน Win98 ไม่พบ error ใน WinXP ต้องใช้ exe2bin แปลงเป็น .com จึงจะไม่มีปัญหา] |
|
x4.asm
โปรแกรมพิมพ์ a และไม่ error เมื่อจบการทำงาน เป็นการเขียนโปแรกรมแบบ .exe เพราะถ้าเขียนแบบ .com โปรแกรมจะ error เหมือน 3 โปรแกรมด้านบน [โปรแกรมนี้ไม่ error เมื่อเป็น .exe] |
|
|
"Imagination is more important than knowledge" - Albert Einstein |