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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Introduction to C Introduction to C.
Advertisements

ENG2116 การโปรแกรมคอมพิวเตอร์ (C programming)
โครงสร้างโปรแกรมภาษา C
บทที่ 11 โปรแกรมย่อยขั้นต้น
Introduction to C Programming
CS Assembly Language Programming
CS Assembly Language Programming
CS Assembly Language Programming
CS Assembly Language Programming Period 29.
CS Assembly Language Programming Period 16.
ลักษณะการทำงานของ Stack
โครงสร้างภาษาซี.
ภาษาคอมพิวเตอร์.
ขั้นตอนการแปลงไฟล์.
SCC : Suthida Chaichomchuen
Addressing Modes Assembly Programming.
CS Assembly Language Programming
CS Assembly Language Programming Period 7.
CS Assembly Language Programming
CS Assembly Language Programming Period 33.
CS Assembly Language Programming Period 13.
ดีบักเป็นเครื่องมืออันหนึ่งที่ให้ผู้ใช้ ตรวจสอบ และแก้ไขค่าใน หน่วยความจำ โหลด เก็บ ตรวจสอบค่าในเรจิสเตอร์ และสามารถ เขียนโปรแกรมแอสเซมบลีได้อย่าง สะดวก.
บทที่ 15 โปรแกรมย่อยและแสต็ก
บทที่ 17 คำสั่งตารางและการสร้างแมคโคร
ธนาวินท์ รักธรรมานนท์
ธนาวินท์ รักธรรมานนท์
โปรแกรมภาษาแอสเซมบลี้ (2)
ภาควิชาวิทยาศาสตร์ประยุกต์ คณะวิทยาศาสตร์เทคโนโลยีและการเกษตร
Infix to Postfix มหาวิทยาลัยเนชั่น หลักการภาษาชุดคำสั่ง
Page: 1 การพัฒนาโปรแกรมประยุกต์บนเว็บ อ. บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 12 กรกฎาคม 2550 HTML (HyperText Markup Language)
String Class มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
Debug #2 โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้
pyramid มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
อินเทอร์รัพท์ (Interrupt)
อาร์เรย์ หรือแถวลำดับ (Array)
Page: 1 ความรู้เบื้องต้นเกี่ยวกับคำสั่ง DOS DOS Command มหาวิทยาลัยเนชั่น จังหวัดลำปาง ผศ. บุรินทร์
Page: 1 การพัฒนาโปรแกรมประยุกต์บนเว็บ อ. บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 กรกฎาคม 2550 แฟ้มข้อความ (Text File) #1 มหาวิทยาลัยโยนก.
Page: 1 โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้ Debug #1 มหาวิทยาลัยเนชั่น จังหวัดลำปาง ผศ. บุรินทร์
input from keyboard มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2550 Structure Programming มหาวิทยาลัยเนชั่น.
Page: 1 การพัฒนาโปรแกรมประยุกต์บนเว็บ อ. บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 กรกฎาคม 2550 PHP Structure Programming มหาวิทยาลัยโยนก.
Visual Basic Language มหาวิทยาลัยเนชั่น หลักการภาษาชุดคำสั่ง
แอพเพล็ตเบื้องต้น (Applet)
Algorithm มหาวิทยาลัยเนชั่น Java Pre-Test 49 (Series 1, 2 )
GW-Basic Language มหาวิทยาลัยเนชั่น หลักการภาษาชุดคำสั่ง
ผังงาน (Flowchart) มหาวิทยาลัยเนชั่น หลักการภาษาชุดคำสั่ง
Operating System โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 มิถุนายน 2550 Method of Class มหาวิทยาลัยเนชั่น.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 22 มิถุนายน 2550 JAR (Java Archive) มหาวิทยาลัยเนชั่น.
Page: 1 การพัฒนาโปรแกรมประยุกต์บนเว็บ อ. บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 28 มิถุนายน 2550 Get, Post, Session, Cookies มหาวิทยาลัยโยนก.
Page: 1 โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้ ผศ. บุรินทร์ รุจจน พันธุ์.. ปรับปรุง 19 ตุลาคม 2555 Introduction to Batch.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 7 มิถุนายน 2556 Text File Processing มหาวิทยาลัยเนชั่น.
Computer Components โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้
Page: 1 การจัดการแฟ้มดิจิทอลออนไลน์ อ. บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 24 เมษายน 2552 Online File Management มหาวิทยาลัยโยนก จังหวัด ลำปาง ศูนย์กลางความรู้และภูมิปัญญา.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 22 มิถุนายน 2550 ความผิดพลาดที่พบ บ่อย มหาวิทยาลัยเนชั่น.
Page: 1 การพัฒนาโปรแกรมประยุกต์บนเว็บ อ. บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 23 มิถุนายน 2550 Data Selecting by ASP มหาวิทยาลัยโยนก.
Page: 1 การพัฒนาโปรแกรมประยุกต์บนเว็บ อ. บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 กรกฎาคม 2550 File Uploading & Shell มหาวิทยาลัยโยนก.
Page: 1 การพัฒนาโปรแกรมประยุกต์บนเว็บ อ. บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 23 มิถุนายน 2550 ASP Structure Programming มหาวิทยาลัยโยนก.
Page: 1 การพัฒนาโปรแกรมประยุกต์บนเว็บ อ. บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 23 มิถุนายน 2550 echo และ print มหาวิทยาลัยโยนก จังหวัด.
Page: 1 การพัฒนาโปรแกรมประยุกต์บนเว็บ อ. บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 23 มิถุนายน 2550 Data Updating by ASP มหาวิทยาลัยโยนก.
Page: 1 โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้ inkey.com มหาวิทยาลัยเนชั่น จังหวัดลำปาง ผศ. บุรินทร์
Copy by Batch File โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้
Page: 1 การพัฒนาโปรแกรมประยุกต์บนเว็บ อ. บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 กรกฎาคม 2550 แฟ้มข้อความ (Text File) #2 มหาวิทยาลัยโยนก.
Page: 1 การพัฒนาโปรแกรมประยุกต์บนเว็บ อ. บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 กรกฎาคม 2550 Cookie & Session มหาวิทยาลัยโยนก จังหวัด.
การเขียนเว็บเพจด้วย Microsoft Word
Introduction to C Language
ประวัติและขั้นตอนการพัฒนาโปรแกรมภาษาซี
โครงสร้างข้อมูล(Data Structure)
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
โปรแกรมภาษาแอสเซมบลี้เบื้องต้น
ใบสำเนางานนำเสนอ:

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

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 แปล

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

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

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

เซกเมนต์แบบเก่า (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 21h mov ah,4ch main endp cseg ends end main

เซกเมนต์แบบเก่า (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 21h mov ah,4ch main endp cseg ends end main

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

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

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

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

วิธีติดตั้ง 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 - จึงจะแปลโปรแกรมได้สำเร็จ ตามตัวอย่าง

วิธีแปล และประมวลผล 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

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