งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

เซกเมนต์ (Segment) โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "เซกเมนต์ (Segment) โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้"— ใบสำเนางานนำเสนอ:

1 เซกเมนต์ (Segment) โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้
ผศ.บุรินทร์ รุจจน พันธุ์ . ปรับปรุง 19 ตุลาคม มหาวิทยาลัยเนชั่น จังหวัดลำปาง

2 1. เซกเมนต์ข้อมูล (Data Segment) 2. เซกเมนต์คำสั่ง (Code Segment)
4 Segments (1/2) 1. เซกเมนต์ข้อมูล (Data Segment) 2. เซกเมนต์คำสั่ง (Code Segment) 3. เซกเมนต์สแตก (Stack Segment) 4. เซกเมนต์พิเศษ (Extra Segment) Interrupt บางตัวใช้ใน Debug ไม่ได้ ต้องเขียนเป็นชุดคำสั่งให้ Compiler แปล

3 4 Segment (2/2) 1. เซกเมนต์ข้อมูล (Data Segment)
.data เป็นเซกเมนต์ที่เก็บข้อมูลของโปรแกรม มักถูกอ้างอิงด้วยรีจิสเตอร์ DS 2. เซกเมนต์คำสั่ง (Code Segment) .code เป็นเซกเมนต์ที่เก็บคำสั่งโปรแกรมทั้งหมด มักทำงานร่วมกับรีจิสเตอร์ชี้คำสั่ง IP ซึ่งเป็นออฟเซตในการชี้ตำแหน่งคำสั่ง 3. เซกเมนต์สแตก (Stack Segment) .stack เป็นเซกเมนต์ที่เป็นหน่วยความจำแสตก การใช้หน่วยความจำส่วนนี้เป็นแบบ Last in first out (LIFO) ใช้ร่วมกับรีจิสเตอร์ SP หรือตัวชี้แสตก 4. เซกเมนต์พิเศษ (Extra Segment) เป็นเซกเมนต์ที่เป็นหน่วยความจำพิเศษ ใช้ร่วมกับรีจิสเตอร์ DI

4 เซกเมนต์แบบเก่า (1/4) cseg segment main proc mov ah,4ch int 21h
main endp cseg ends end main

5 เซกเมนต์แบบเก่า (2/4) cseg segment main proc mov ah,2h mov dl,62h
int h mov ah,4ch main endp cseg ends end main

6 เซกเมนต์แบบเก่า (3/4) dseg segment a db 63h dseg ends cseg segment
main proc far assume cs:cseg,ds:dseg mov ax,dseg mov ds,ax mov ah,2 mov dl,a int h mov ah,4ch main endp cseg ends end main

7 เซกเมนต์แบบเก่า (4/4) dseg segment a db 'abc $' dseg ends cseg segment
main proc far assume cs:cseg,ds:dseg mov ax,dseg mov ds,ax mov ah,9h lea dx,a int h mov ah,4ch main endp cseg ends end main

8 เซกเมนต์แบบใหม่ สั้นสุด 1 (1/4)
.model small .data .code pmain proc near push ds mov ax,0 push ax mov mov ds,ax ret pmain endp end pmain

9 เซกเมนต์แบบใหม่ สั้นสุด 2 (2/4)
.model small .data .code main proc mov mov ds,ax mov ah,4ch int h main endp end main

10 เซกเมนต์แบบใหม่ (3/4) .model small .stack 64h .data data1 db ‘abc $’
เซกเมนต์แบบใหม่ (3/4) .model small .stack 64h .data data1 db ‘abc $’ .code main proc mov mov ds,ax mov ah,9h lea dx,data1 int h mov ah,4ch main endp end main

11 เซกเมนต์แบบใหม่มีโมดูล (4/4)
เซกเมนต์แบบใหม่มีโมดูล (4/4) setproc macro push ds mov ax,0 push ax mov mov ds,ax endm prtout macro mov ah,9 lea dx,msg int h .model small .data msg db 'abc $' .code pmain proc far setproc prtout ret pmain endp .stack 200h ; not required end pmain

12 วิธีติดตั้ง Macro Assembly
1. Download ตัวแปรภาษา เช่น masm611.zip 4.7 MB 2. คลาย zip ลงในเครื่อง 3. สั่ง run โปรแกรม setup.exe 4. กด Enter ประมาณ 20 ครั้ง - เมื่อ enter ที่ 12 ควรเปลี่ยน binr เป็น bin 5. ถ้าพบ Setup Successfully กด Ctrl-C ได้ 6. โปรแกรมทั้งหมดอยู่ในห้อง c:\masm611 7. พบตัวแปลภาษาใน c:\masm611\bin\ 8. ถ้าขณะ install ถ้าไม่เปลี่ยน bin เป็น binr - ต้อง cd c:\masm611\binr - ต้อง copy *.* c:\masm611\bin - จึงจะแปลโปรแกรมได้สำเร็จ ตามตัวอย่าง

13 วิธีแปล และประมวลผล 1. เขียนโปรแกรมเก็บไว้ในแฟ้มที่มีนามสกุล .asm เช่น x.asm 2. การแปลโปรแกรมเป็น Object โปรแกรม DOS> masm x.asm 3. การลิงค์เชื่อมกับแฟ้มต่าง ๆ เพื่อให้ได้ .exe DOS> link x,,,,, Object Modules [.obj] Run File [.exe] List File [.map] Libraries [.lib] Definitions File [.def] 4. ประมวลผล DOS> x

14 แบทไฟล์ช่วยแปลโปรแกรม
DOS>a.bat x masm %1.asm link %1,,,,, %1


ดาวน์โหลด ppt เซกเมนต์ (Segment) โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้

งานนำเสนอที่คล้ายกัน


Ads by Google