CS Assembly Language Programming

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โครงสร้างโปรแกรมภาษา C
Advertisements

บทที่ 11 โปรแกรมย่อยขั้นต้น
โครงสร้างของระบบปฏิบัติการ Operating System Structure
Central Processing Unit
CS Assembly Language Programming
CS Assembly Language Programming
CS Assembly Language Programming
CS Assembly Language Programming
CS Assembly Language Programming
CS Assembly Language Programming
CS Assembly Language Programming Period 16.
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
ความหมายของซอฟท์แวร์ (Software, Program)
หลักการทำงานคอมพิวเตอร์
ASCII รหัสแอสกี (ASCII Code) หรือ American Standard Code for Information Interchange เป็นรหัสที่ มีการใช้แพร่หลายกันมากที่สุด เช่น ในไมโครคอมพิวเตอร์
หลักการทำงาน ของคอมพิวเตอร์
หลักการทำงานของคอมพิวเตอร์
Number Representations
ขั้นตอนการแปลงไฟล์.
ส่วนประกอบของคอมพิวเตอร์ (Personal Computer : PC)
Operating System ฉ NASA 4.
Control Transfer Instructions
Addressing Modes Assembly Programming.
BIT & STRING OPERATIONS
Arithmetic Instruction
8086/8088 Chip Wannachai Wannasawade 8086/8088 Chip.
การประยุกต์ ใช้งานมัลติมีเดีย
การทำงานของคอมพิวเตอร์
Register.
ปฏิบัติการประกอบเครื่องคอมพิวเตอร์
องค์ประกอบของระบบคอมพิวเตอร์
CS Assembly Language Programming
CS Assembly Language Programming Period 7.
CS Assembly Language Programming
CS Assembly Language Programming Period 6.
CS Assembly Language Programming Period 30.
CS Assembly Language Programming Period 17.
Functional components of a computer
ดีบักเป็นเครื่องมืออันหนึ่งที่ให้ผู้ใช้ ตรวจสอบ และแก้ไขค่าใน หน่วยความจำ โหลด เก็บ ตรวจสอบค่าในเรจิสเตอร์ และสามารถ เขียนโปรแกรมแอสเซมบลีได้อย่าง สะดวก.
ASSIGN3-4. InstructionResult Z-FlagC-FlagP-FlagS-FlagO-Flag MOV AL,9Eh 9Eh H ????? ADDAL,9Eh 3C ADD AL,1Eh 5A
บทที่ 15 โปรแกรมย่อยและแสต็ก
ธนาวินท์ รักธรรมานนท์
ธนาวินท์ รักธรรมานนท์
ภาควิชาวิทยาศาสตร์ประยุกต์ คณะวิทยาศาสตร์เทคโนโลยีและการเกษตร
Debug #2 โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้
เซกเมนต์ (Segment) โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้
อินเทอร์รัพท์ (Interrupt)
Page: 1 โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้ Debug #1 มหาวิทยาลัยเนชั่น จังหวัดลำปาง ผศ. บุรินทร์
โครงสร้างการจัดเก็บข้อมูลเชิงกายภาพ
หน่วยประมวลผลกลางและหน่วยความจำ Central Processing Unit and Memory
Charter 11 1 Chapter 11 ระบบปฏิบัติการ Operation System : OS.
กิจกรรมที่ 1 ซอฟต์แวร์ระบบ จุดประสงค์ 1. บอกความหมายของซอฟต์แวร์
CS Assembly Language Programming
ระบบคอมพิวเตอร์และการประมวลผล
การกระโดดและการวนรอบ
TCP Protocol.
บทที่ 3 การจ่ายงาน (Process Management).
หลักการทำงานของคอมพิวเตอร์
อธิบายหลักการทำงาน บทบาท และประโยชน์ของคอมพิวเตอร์
เครื่องคอมพิวเตอร์. ? เครื่องคำนวณอิเล็กทรอนิกส์ ประกอบด้วยวงจร อิเล็กทรอนิกส์และไอซี ชิปเซ็ต ต่างๆ ที่สามารถจดจำ ประมวลผลข้อมูล เปรียบเทียบ ตัดสินใจทาง.
เครื่องคอมพิวเตอร์ และอุปกรณ์
องค์ประกอบของคอมพิวเตอร์
Input / Output ธนวัฒน์ แซ่เอียบ.
Assembly Languages: PDP8
คณะผู้จัดทำ นายณัฐเชษฐ์ ชิณวงศ์ นางสาวตวงพร ตั้งกิจเจริญพงษ์ นางสาวเทวิกาจันทอง
การทำงานของระบบคอมพิวเตอร์
หน่วยรับเข้า ทำหน้าที่รับข้อมูลจากผู้ใช้เข้าสู่หน่วยความจำหลัก ปัจจุบันมีสื่อต่าง ๆ ให้เลือกใช้ได้มากมาย แบ่งเป็นประเภทต่าง ๆ 1.แป้นพิมพ์ (Keyboard) 2.เมาส์
วิชาเทคโนโลยีคอมพิวเตอร์และระบบปฏิบัติการ รหัสวิชา Computer Technology and Operating System บทที่ 1 เทคโนโลยีคอมพิวเตอร์ อ.รจนา วานนท์ Master.
โปรแกรมภาษาแอสเซมบลี้เบื้องต้น
ระบบตัวเลข, Machine code, และ Register
ใบสำเนางานนำเสนอ:

CS344-321 Assembly Language Programming Period 5

สถาปัตยกรรมของเครื่องไอบีเอ็มพีซี ADDRESS BUS นาฬิกา ซีพียู DATA BUS CONTROL BUS หน่วยความจำหลัก หน่วยรับเข้า/ส่งออก

ตารางแสดงขนาดของ bus และ หน่วยความจำ micro processor data bus width address bus width memory size 8086 16 20 1M 8088 8 20 1M 80286 16 24 16M 80386SX 16 24 16M 80386DX 32 32 4G 80486 32 32 4G Pentium 64 32 4G Pentium Pro 64 36 64G

Intel 8086/8088 Registers 15 8 7 0 15 0 AX AH AL Accumulator CS Code Segment BX BH BL Base DS Data Segment CX CH CL Count SS Stack Segment DX DH DL Data ES Extra Segment 15 0 15 0 BP Base Pointer IP Instruction Pointer SP Stack Pointer 15 0 SI Source Index FLAGS Status Word DI Destination Index

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF AF PF CF เรจิสเตอร์ FLAGS - CF (Carry Flag) การคำนวณมีการทด - OF (Overflow Flag) การคำนวณล้น - ZF (Zero Flag) ผลลัพธ์เป็นศูนย์ หรือการเปรียบเทียบเท่ากัน - SF (Sign Flag) ผลลัพธ์ (หรือการเปรียบเทียบ) เป็นลบ - PF (Parity Flag) มีบิตที่เป็น 1 จำนวนคู่ - AF (Auxiliary carry Flag) การคำนวณเลขฐาน 10 ด้วยรหัสเลขฐาน 2 (BCD-Binary-Code Decimal) ต้องมีการปรับค่าให้ถูกต้อง - DF (Direction Flag) ควบคุมทิศทางการเคลื่อนย้ายข้อมูล - IF (Interrupt Flag) ควบคุมการขัดจังหวะ - TF (Trap Flag) ควบคุมการปฏิบัติการของคำสั่งทีละคำสั่ง มักใช้ในโปรแกรม DEBUG

วิธีการคำนวณเลขที่อยู่เชิงกายภาพ 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 เซกเมนต์ 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ออฟเซต 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 เลขที่อยู่เชิงกายภาพ

32-bit names 16-bit names 8-bit names 31 15 8 7 0 15 0 EAX AX AH AL Accumulator CS Code Segment EBX BX BH BL Base DS Data Segment ECX CX CH CL Count SS Stack Segment EDX DX DH DL Data ES Extra Segment 31 15 0 FS EBP BP Base Pointer GS ESP SP Stack Pointer ESI SI Source Index EDI DI Destination Index 31 15 0 EIP IP Instruction pointer EFLAGS FLAGS Flags

DOS application program DOS service ROM BIOS Service I/O port or memory map I/O MS-DOS layer service

FFFFF 1024 K cold boot FFFF0 ROM start here 768 K 128K monochrome and graphics/ display video buffer (RAM) 640 K transient portion of COMMAND.COM Memory available for user programs resident part of COMMAND.COM DOS kernel, Device Drivers, etc. 00400 BIOS and DOS Data Area 1K Interrupt vectors

The boot Process เมื่อเริ่มเปิดเครื่อง จะเกิดขบวนการ “cold boot” ดังนี้ ซีพียูเข้าสู่สถานะ reset จากนั้นเริ่มล้างหน่วยความจำให้มีค่าเป็น 0 ตรวจสอบความถูกต้องของหน่วยความจำ (parity check) แล้วกำหนดให้ เรจิสเตอร์ CS มีค่าเท่ากับ FFFFH และเรจิสเตอร์ IP มีค่าเท่ากับ 0 ซึ่งเป็นตำแหน่งของคำสั่งแรกที่จะกระทำการ ตำแหน่งนี้จะอยู่ใน ROM BIOS จากนั้น BIOS จะตรวจสอบอุปกรณ์ต่าง ๆ และ initialize อุปกรณ์ที่ติดตั้งเหล่านั้น จากนั้นจะสร้าง ตาราง BIOS interrupt service ที่บริเวณ interrupt vector และ BIOS data เริ่มตั้งแต่ตำแหน่ง 400H จากนั้นไปตรวจสอบว่าจานแม่เหล็กมี DOS หรือไม่ ถ้ามีจะอ่านข้อมูลใน boot sector เข้ามายังหน่วยความจำ ข้อมูลดังกล่าว คือ bootstrap loader ซึ่งทำหน้าที่บรรจุระบบปฏิบัติการ DOS จากจานแม่เหล็กเข้าสู่หน่วยความจำ RAM แฟ้มข้อมูล 3 แฟ้ม คือ IBMBIO.COM (หรือ IO.SYS), IBMDOS.COM(หรือ MSDOS.SYS), และ COMMAND.COM จะถูกบรรจุลงหน่วยความจำ จากนั้นระบบปฏิบัติการ DOS จะอ่าน config.sys เพื่อติดตั้ง driver เพิ่ม และอ่านแฟ้ม autoexec.bat และปฏิบัติตามคำสั่งในนั้น จากนั้นขึ้น prompt เพื่อรอรับคำสั่ง