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

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

CS Assembly Language Programming

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


งานนำเสนอเรื่อง: "CS Assembly Language Programming"— ใบสำเนางานนำเสนอ:

1 CS344-321 Assembly Language Programming
Period 5

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

3 ตารางแสดงขนาดของ bus และ หน่วยความจำ
micro processor data bus width address bus width memory size M M M 80386SX M 80386DX G G Pentium G Pentium Pro G

4 Intel 8086/8088 Registers 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 BP Base Pointer IP Instruction Pointer SP Stack Pointer SI Source Index FLAGS Status Word DI Destination Index

5 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

6 วิธีการคำนวณเลขที่อยู่เชิงกายภาพ
เซกเมนต์ ออฟเซต เลขที่อยู่เชิงกายภาพ

7 32-bit names 16-bit names 8-bit names
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 FS EBP BP Base Pointer GS ESP SP Stack Pointer ESI SI Source Index EDI DI Destination Index EIP IP Instruction pointer EFLAGS FLAGS Flags

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

9 FFFFF K cold boot FFFF ROM start here 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. BIOS and DOS Data Area K Interrupt vectors

10 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 เพื่อรอรับคำสั่ง


ดาวน์โหลด ppt CS Assembly Language Programming

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


Ads by Google