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

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

CS344-321 Assembly Language Programming Period 5.

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


งานนำเสนอเรื่อง: "CS344-321 Assembly Language Programming Period 5."— ใบสำเนางานนำเสนอ:

1 CS344-321 Assembly Language Programming Period 5

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

3 ตารางแสดงขนาดของ bus และ หน่วยความจำ micro processordata bus widthaddress bus widthmemory size 808616201M 8088 8201M 802861624 16M 80386SX 162416M 80386DX32324G 804863232 4G Pentium6432 4G Pentium Pro6436 64G

4 158 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 Intel 8086/8088 Registers

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

6 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 เลขที่อยู่เชิงกายภาพ วิธีการคำนวณเลขที่อยู่เชิงกายภาพ

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

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

9 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 0

10 The boot Process 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 CS344-321 Assembly Language Programming Period 5.

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


Ads by Google