ขั้นตอนการแปลงไฟล์
การเขียนโปรแกรมภาษา Assembly Object File : จะเป็นไฟล์ที่มี นามสกุล .OBJ ซึ่งจะประกอบด้วยภาษาเครื่องที่ ใช้สำหรับแปลงเป็น .EXE (Executable File) โดยโปรแกรม Link List File : เป็นไฟล์ที่มีนามสกุล .LST จะบรรจุภาษาเครื่อง และโปรแกรม อธิบายข้อผิดพลาด ที่เกิดขึ้น(error)เพื่อให้เราสามารถ แก้ไข้ผิดพลาดได้ง่าย Cross-Reference File : เป็นไฟล์ที่ นามสกุล .CRF จะรวบรวมชื่อต่างๆที่ใช้ โปรแกรมทั้งหมด LINK จะทำการแปลง ไฟล์รหัสภาษาเครื่อง (Object File) เป็น Executable File จากนั้นจะได้ ไฟล์ใหม่ 2 ไฟล์ - Run File : เป็นไฟล์ที่มีนามสกุล .EXE ซึ่งสามารถโหลดลงหน่วยความจำ
การ complie ในภาษา Assembly ในที่นี้ใน Turbo Assembly ในการทำงานจะ ต้องมีการพิมพ์ โปรแกรม ด้วย ตัวช่วยพิมพ์ (Editor) บันทึกให้เป็น นามสกุล . ASM ก่อน ตัวอย่าง Editor ที่ ทำการใช้งาน เช่น Qedit , EditPlus ,NotePad, MsWord หรืออื่นๆ TASM ชื่อแฟ้ม ที่เขียนด้วย Editor.ASM
การ complie ในภาษา Assembly ความหมาย บอกชื่อแฟ้มที่ได้ทำการ complie Error message : None หมายถึงไม่มีข้อผิดพลาด หากมีจะบอกหมายเลขบรรทัดที่ผิด Warnning message : None หมายถึงไม่มีการเตือน Remaining Memory : ขนาดของไฟล์ที่ผ่านการคอมไพล์ จากนั้น จะได้ Object filename คือ .Obj หากมีข้อผิดพลาดให้ทำการแก้ไขก่อน จากนั้น ทำการ Link โปรแกรม ( .Obj) โดยใช้ Tlink รูปแบบ Tlink ชื่อแฟ้ม ซึ่งแฟ้ม .Obj จากจะได้แฟ้ม .EXE สามารถ เรียกใช้งานได้
การ complie ในภาษา Assembly หากต้องการ Compile เพื่อดูรหัสคำสั่งเลขฐาน 16 ต้องทำการ Compile ด้วยรูปแบบ ดังนี้ TASM ชื่อแฟ้ม ที่เขียนด้วย Editor.ASM -L จะได้ แฟ้ม Listing File คือ .LST ซึ่งสามารถดู รหัสคำสั่งเลขฐาน 16 ได้ เช่น
Interrupt Function ต่างๆ ฟังก์ชั่นที่ 1: ฟังก์ชั่นที่ 2: Single-key Input Input AH = 01h Output AL = รหัสแอสกี ถ้ามีการกดคีย์ตัวอักษร = 0 ถ้าไม่มีการกดคีย์ตัวอักษร ฟังก์ชั่นที่ 2: Display a Character Input AH = 02h DL = รหัสแอสกีของตัวอักขระที่จะแสดงผล Output AL =รหัสแอสกีของตัวอักขระที่แสดงผล
Interrupt (ต่อ) Function ต่างๆ ตัวอย่าง Mov AH,1 INT 21h ------------------------------------------------------- Mov AH,2 Mov DL,’?’
Interrupt (ต่อ) Function ต่างๆ ฟังก์ชั่นที่ 8: Single-key Input Input AH = 08h Output AL = รหัสแอสกี ถ้ามีการกดคีย์ตัวอักษร = 0 ถ้าไม่มีการกดคีย์ตัวอักษร
Interrupt (ต่อ) Function ต่างๆ ฟังก์ชั่นที่ 9: Display String Input DX = ตำแหน่งแอเดรสของสตริง โดยจุดสิ้นสุดของสตริงจะมีตัวอักขระ $ เช่น คำสั่ง LEA (Load Effective Address) LEA DX,MSG ; MSG คือ เป็นตัวแปรที่กำหนดค่าของ สตริงเอาไว้ เช่น ; MSG DB ‘COMPUTER$’ คือ เก็บข้อความว่า COMPUTER เมื่อโปรแกรมต้องการอ่านค่าจากหน่วยความจำ เราจะต้องมีการกำหนด เซกเมนต์ของหน่วยความจำที่ข้อมูลอยู่ให้กับรีจีสเตอร์ DS สามารถเขียนคำสั่งได้ดังนี้ รูปแบบของคำสั่ง LEA destination ,source
Interrupt (ต่อ) MOV AX,@DATA ; @DATA เป็นการบอกชื่อเซกเมนต์ของข้อมูลที่กำหนดโดย .DATA MOV DS,AX ;หมายเหต เราต้องใช้ 2 คำสั่ง เพราะเนื่องจากว่เราไม่สามารถกำหนด ค่าให้กับ รีจีสเตอร์ DS ได้โดยตรง ต้องมีการใช้รีจีสเตอร์ AX เข้ามาช่วย
Interrupt (ต่อ)
Interrupt (ต่อ)
Interrupt (ต่อ)
Interrupt (ต่อ)
Interrupt (ต่อ)