กลับไปหน้าบทความ

อ่าน 2 นาที

อินท์ 10H

INT 10h , INT 10H หรือ INT 16 เป็นตัวย่อของ คำสั่งเรียกขัดจังหวะ BIOS หมายเลข 10 hex ซึ่ง เป็นเวกเตอร์ขัดจังหวะลำดับ ที่ 17 ในระบบคอมพิวเตอร์แบบ x86 โดยปกติ BIOS จะตั้งค่า...

อินท์ 10H

INT 10h , INT 10HหรือINT 16เป็นตัวย่อของคำสั่งเรียกขัดจังหวะ BIOS หมายเลข 10 hex ซึ่ง เป็นเวกเตอร์ขัดจังหวะลำดับที่ 17 ในระบบคอมพิวเตอร์แบบx86 โดยปกติ BIOSจะตั้งค่าตัวจัดการขัดจังหวะโหมดจริง ที่เวกเตอร์นี้ ซึ่งให้บริการด้านวิดีโอ บริการดังกล่าวรวมถึงการตั้งค่าโหมดวิดีโอ การแสดงผลอักขระและสตริง และฟังก์ชันกราฟิกพื้นฐาน (การอ่านและเขียนพิกเซลในโหมดกราฟิก)

ในการใช้งานฟังก์ชันนี้ ให้โหลดค่า AH ด้วยหมายเลขของฟังก์ชันย่อยที่ต้องการ โหลดพารามิเตอร์อื่นๆ ที่จำเป็นลงในรีจิสเตอร์อื่นๆ แล้วจึงเรียกใช้ฟังก์ชันINT 10h ฟังก์ชันนี้ทำงานค่อนข้างช้า ดังนั้นโปรแกรมจำนวนมากจึงข้ามขั้นตอน BIOS นี้ไปและเข้าถึงฮาร์ดแวร์แสดงผลโดยตรง การตั้งค่าโหมดวิดีโอซึ่งทำไม่บ่อยนัก สามารถทำได้โดยใช้ BIOS ในขณะที่การวาดกราฟิกบนหน้าจอในเกมจำเป็นต้องทำอย่างรวดเร็ว ดังนั้นการเข้าถึง RAM วิดีโอโดยตรงจึงเหมาะสมกว่าการเรียกใช้ BIOS สำหรับทุกพิกเซล

นอกจากนี้ ในระบบ x86 ที่ทันสมัย ​​การเรียกใช้ BIOS สามารถทำได้เฉพาะในโหมดเรียล (real mode ) หรือโหมดเสมือน 8086 (virtual 8086 mode ) เท่านั้น โหมด v8086 ไม่สามารถใช้งานได้ใน โหมดลอง ( long mode ) หมายความว่าระบบปฏิบัติการที่ทันสมัย ​​ซึ่งทำงานในโหมดป้องกัน (protected mode ) (32 บิต) หรือโหมดลอง (64 บิต) จะต้องสลับไปมาระหว่างโหมดเรียลและโหมดลองเพื่อเรียกใช้ BIOS ซึ่งเป็นกระบวนการที่สิ้นเปลืองทรัพยากรอย่างมาก แม้ว่าระบบที่ทันสมัยส่วนใหญ่จะใช้ไดรเวอร์อุปกรณ์ที่ตั้งค่าโหมดวิดีโอโดยตรง แต่ก็เป็นไปไม่ได้ที่ระบบปฏิบัติการสำหรับผู้ใช้งานทั่วไปจะมีไดรเวอร์อุปกรณ์สำหรับทุกการ์ดวิดีโอ ซึ่งเป็นปัญหาที่พบในระบบเก่าที่ไม่ได้รับการสนับสนุน เช่นWindows 98ระบบเหล่านั้นจึงสามารถเปลี่ยนไปใช้โหมดเรียลเพื่อสลับโหมดวิดีโอ แล้ววาดลงในเฟรมบัฟเฟอร์โดยตรงแทน

ใน ระบบ EFI 1.x INT 10H และส่วนขยาย BIOS VESA (VBE) ถูกแทนที่ด้วยโปรโตคอล EFI UGA ใน ระบบ UEFI 2.x ที่ใช้กันอย่างแพร่หลาย INT 10H และ VBE ถูกแทนที่ด้วยUEFI GOP [ 1 ] [ 2 ]

รายการฟังก์ชันที่รองรับ

รายการนี้ไม่สมบูรณ์ โปรดใช้รายการอินเตอร์รัปต์ของ Ralf Brownสำหรับข้อมูลที่ครบถ้วนสมบูรณ์ กรุณาเพิ่มเฉพาะฟังก์ชันมาตรฐานทั่วไปของ IBM/PC หรืออื่นๆ เท่านั้น 00h ถึง 0fh เป็นฟังก์ชัน CGA

การทำงาน รหัสฟังก์ชัน พารามิเตอร์ กลับ
ตั้งค่าโหมดวิดีโอ AH=00h AL = โหมดวิดีโอ

AL = โหมดวิดีโอ (สำหรับ IBM รุ่นเก่าเท่านั้น)

AL = แฟล็กโหมดวิดีโอ / ไบต์โหมดตัวควบคุม CRT
ตั้งค่ารูปร่างเคอร์เซอร์ในโหมดข้อความ AH=01h CH = จุดเริ่มต้นแถวสแกน, CL = จุดสิ้นสุดแถวสแกน

โดยปกติเซลล์อักขระจะมีเส้นสแกน 8 เส้น คือ 0–7 ดังนั้น CX=0607h คือเคอร์เซอร์แบบขีดเส้นใต้ปกติ และ CX=0007h คือเคอร์เซอร์แบบเต็มบล็อก หากบิตที่ 5 ของ CH ถูกตั้งค่า มักจะหมายถึง "ซ่อนเคอร์เซอร์" ดังนั้น CX=2607h คือเคอร์เซอร์ที่มองไม่เห็น

การ์ดแสดงผลบางรุ่นมีเส้นสแกน 16 เส้น ตั้งแต่ 00h ถึง 0Fh

การ์ดแสดงผลบางรุ่นไม่ใช้บิตที่ 5 ของ CH ในกรณีเหล่านี้ ให้ตั้งค่า Start>End (เช่น CX=0706h)

ตั้งตำแหน่งเคอร์เซอร์ AH=02h BH = หมายเลขหน้า, DH = แถว, DL = คอลัมน์
รับตำแหน่งและรูปร่างของเคอร์เซอร์ AH=03h BH = หมายเลขหน้า AX = 0, CH = บรรทัดสแกนเริ่มต้น, CL = บรรทัดสแกนสิ้นสุด, DH = แถว, DL = คอลัมน์
อ่าน ตำแหน่ง ปากกาแสง (ใช้ไม่ได้กับ ระบบ VGA ) AH=04h AH = สถานะ (0=ไม่ถูกกระตุ้น, 1=ถูกกระตุ้น), BX = พิกเซล X, CH = พิกเซล Y, CX = หมายเลขบรรทัดพิกเซลสำหรับโหมด 0Fh-10h, DH = ตัวอักษร Y, DL = ตัวอักษร X
เลือกหน้าแสดงผลที่ใช้งานอยู่ AH=05h AL = หมายเลขหน้า
เลื่อนหน้าต่างขึ้น AH=06h AL = จำนวนบรรทัดที่จะเลื่อน (0 = ล้างทั้งหมด, CH, CL, DH, DL ถูกใช้ในเวอร์ชันนี้)

BH = สีพื้นหลังและสีพื้นหน้า BH = 43h หมายความว่าสีพื้นหลังเป็นสีแดงและสีพื้นหน้าเป็นสีฟ้าอมเขียว โปรดดูคุณสมบัติสีใน BIOS

CH = หมายเลขแถวบน, CL = หมายเลขคอลัมน์ซ้าย, DH = หมายเลขแถวล่าง, DL = หมายเลขคอลัมน์ขวา

เลื่อนหน้าต่างลง AH=07h เหมือนข้างบน
อ่านค่าตัวอักษรและคุณลักษณะ ณ ตำแหน่งเคอร์เซอร์ AH=08h BH = หมายเลขหน้า AH = สี , AL = ตัวอักษร
เขียนอักขระและคุณลักษณะ ณ ตำแหน่งเคอร์เซอร์ AH=09h AL = อักขระ, BH = หมายเลขหน้า, BL = สี , CX = จำนวนครั้งที่พิมพ์อักขระ
เขียนอักขระเฉพาะตำแหน่งเคอร์เซอร์เท่านั้น AH=0Ah AL = อักขระ, BH = หมายเลขหน้า, CX = จำนวนครั้งที่พิมพ์อักขระ
ตั้งค่าสีพื้นหลัง/ขอบ AH=0Bh, BH = 00h BL = สีพื้นหลัง/สีขอบ (เฉพาะขอบในโหมดข้อความ)
ชุดจานสี AH=0Bh, BH = 01h BL = Palette ID (เดิมใช้ได้เฉพาะในโหมด CGAแต่การ์ดรุ่นใหม่รองรับในโหมดกราฟิกหลายโหมดหรือทุกโหมด)
เขียนพิกเซลกราฟิก AH=0Ch AL = สี , BH = หมายเลขหน้า, CX = x, DX = y
อ่านพิกเซลกราฟิก AH=0Dh BH = หมายเลขหน้า, CX = x, DX = y AL = สี
เอาต์พุตเทเลไทป์ AH=0Eh AL = ตัวอักษร, BH = หมายเลขหน้า, BL = สี (เฉพาะในโหมดกราฟิก)
เลือกโหมดวิดีโอปัจจุบัน AH=0Fh AL = โหมดวิดีโอ, AH = จำนวนคอลัมน์ตัวอักษร, BH = หน้าที่ใช้งานอยู่
เปลี่ยนชุดอักขระโหมดข้อความ[ 3 ]AH=11h BH = จำนวนไบต์ต่ออักขระ, CX = จำนวนอักขระที่จะเปลี่ยนแปลง, DX = อักขระเริ่มต้นที่จะเปลี่ยนแปลง, ES:BP = ตำแหน่งออฟเซ็ตของข้อมูลอักขระ
เขียนสตริง (EGA+ หมายถึงPC ATขั้นต่ำ) AH=13h AL = โหมดการเขียน, BH = หมายเลขหน้า, BL = สี , CX = จำนวนอักขระในสตริง, DH = แถว, DL = คอลัมน์, ES:BP = ตำแหน่งออฟเซ็ตของสตริง
ตั้งค่าโหมดวิดีโอที่สอดคล้องกับมาตรฐาน VESA โดยเริ่มตั้งแต่ 640 x 480 พิกเซล และสูงสุดถึง 1280 x 1024 พิกเซล พร้อม 256 สี AX=4f02h BX = โหมดวิดีโอ ถ้าบิตเครื่องหมาย (บิตที่ 15) ถูกตั้งค่า หน่วยความจำวิดีโอจะไม่ได้รับการรีเฟรช
คำสั่งVESA VBEอื่นๆAX=4F00h ถึง 4F15h ดูรายละเอียดเพิ่มเติม ดูรายละเอียดเพิ่มเติม

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=INT_10H&oldid=1296382288 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ อินท์ 10H

INT 10h , INT 10H หรือ INT 16 เป็นตัวย่อของ คำสั่งเรียกขัดจังหวะ BIOS หมายเลข 10 hex ซึ่ง เป็นเวกเตอร์ขัดจังหวะลำดับ ที่ 17 ในระบบคอมพิวเตอร์แบบ x86 โดยปกติ BIOS จะตั้งค่า...

รายการฟังก์ชันที่รองรับ

รายการนี้ไม่สมบูรณ์ โปรดใช้ รายการอินเตอร์รัปต์ของ Ralf Brown สำหรับข้อมูลที่ครบถ้วนสมบูรณ์ กรุณาเพิ่มเฉพาะฟังก์ชันมาตรฐานทั่วไปของ IBM/PC หรืออื่นๆ เท่านั้น 00h ถึง 0fh เป็นฟังก์ชัน CGA

ดูเพิ่มเติม

การเรียกขัดจังหวะ BIOS โหมด 13 ชั่วโมง ส่วนขยาย BIOS ของ VESA รายการขัดจังหวะของราล์ฟ บราวน์ ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=INT_10H&oldid=1296382288 "