8085 Addressing Modes & Interrupts

ตอนนี้ให้เราพูดถึงโหมดการกำหนดแอดเดรสในไมโครโปรเซสเซอร์ 8085

โหมดที่อยู่ใน 8085

นี่คือคำแนะนำที่ใช้ในการถ่ายโอนข้อมูลจากรีจิสเตอร์หนึ่งไปยังรีจิสเตอร์อื่นจากหน่วยความจำไปยังรีจิสเตอร์และจากรีจิสเตอร์ไปยังหน่วยความจำโดยไม่มีการเปลี่ยนแปลงใด ๆ ในเนื้อหา โหมดการกำหนดแอดเดรสใน 8085 แบ่งออกเป็น 5 กลุ่ม -

โหมดกำหนดแอดเดรสทันที

ในโหมดนี้ข้อมูล 8/16 บิตถูกระบุในคำสั่งเป็นหนึ่งในตัวถูกดำเนินการ For example: MVI K, 20F: หมายถึง 20F ถูกคัดลอกไปยังรีจิสเตอร์ K

ลงทะเบียนโหมดการกำหนดที่อยู่

ในโหมดนี้ข้อมูลจะถูกคัดลอกจากทะเบียนหนึ่งไปยังอีกทะเบียนหนึ่ง For example: MOV K, B: หมายถึงข้อมูลในรีจิสเตอร์ B ถูกคัดลอกไปลงทะเบียน K

โหมดกำหนดแอดเดรสโดยตรง

ในโหมดนี้ข้อมูลจะถูกคัดลอกโดยตรงจากที่อยู่ที่ระบุไปยังรีจิสเตอร์ For example: LDB 5000K: หมายถึงข้อมูลที่อยู่ 5000K ถูกคัดลอกเพื่อลงทะเบียน B

โหมดที่อยู่ทางอ้อม

ในโหมดนี้ข้อมูลจะถูกถ่ายโอนจากรีจิสเตอร์หนึ่งไปยังอีกรีจิสเตอร์โดยใช้แอดเดรสที่ระบุโดยรีจิสเตอร์ For example: MOV K, B: หมายถึงข้อมูลถูกถ่ายโอนจากที่อยู่หน่วยความจำที่ระบุโดยรีจิสเตอร์ไปยังรีจิสเตอร์ K

โหมดการกำหนดแอดเดรสโดยนัย

โหมดนี้ไม่ต้องการตัวถูกดำเนินการใด ๆ ข้อมูลถูกระบุโดย opcode เองFor example: CMP.

ขัดจังหวะใน 8085

อินเทอร์รัปต์คือสัญญาณที่สร้างโดยอุปกรณ์ภายนอกเพื่อขอให้ไมโครโปรเซสเซอร์ทำงาน มีสัญญาณขัดจังหวะ 5 สัญญาณ ได้แก่ TRAP, RST 7.5, RST 6.5, RST 5.5 และ INTR

การขัดจังหวะแบ่งออกเป็นกลุ่มต่อไปนี้ตามพารามิเตอร์ -

  • Vector interrupt - ในอินเทอร์รัปต์ประเภทนี้โพรเซสเซอร์จะทราบแอดเดรสของอินเตอร์รัปต์ For example: RST7.5, RST6.5, RST5.5, TRAP

  • Non-Vector interrupt - ในการขัดจังหวะประเภทนี้โปรเซสเซอร์ไม่ทราบที่อยู่ของการขัดจังหวะดังนั้นอุปกรณ์จะต้องส่งที่อยู่การขัดจังหวะออกจากภายนอกเพื่อดำเนินการขัดจังหวะ For example: INTR.

  • Maskable interrupt - ในการขัดจังหวะประเภทนี้เราสามารถปิดใช้งานการขัดจังหวะโดยเขียนคำสั่งบางอย่างลงในโปรแกรม For example: RST7.5, RST6.5, RST5.5

  • Non-Maskable interrupt - ในการขัดจังหวะประเภทนี้เราไม่สามารถปิดการใช้งานการขัดจังหวะโดยการเขียนคำสั่งบางอย่างลงในโปรแกรม For example: กับดัก

  • Software interrupt- ในการขัดจังหวะประเภทนี้โปรแกรมเมอร์จะต้องเพิ่มคำสั่งลงในโปรแกรมเพื่อดำเนินการขัดจังหวะ มีซอฟต์แวร์ขัดจังหวะ 8 ตัวใน 8085 ได้แก่ RST0, RST1, RST2, RST3, RST4, RST5, RST6 และ RST7

  • Hardware interrupt - มี 5 พินขัดจังหวะใน 8085 ที่ใช้เป็นตัวขัดจังหวะฮาร์ดแวร์ ได้แก่ TRAP, RST7.5, RST6.5, RST5.5, INTA

Note- NTA ไม่ใช่การขัดจังหวะ แต่จะใช้โดยไมโครโปรเซสเซอร์เพื่อส่งการตอบรับ TRAP มีลำดับความสำคัญสูงสุดตามด้วย RST7.5 และอื่น ๆ

Interrupt Service Routine (ISR)

โปรแกรมขนาดเล็กหรือรูทีนที่เมื่อเรียกใช้งานจะให้บริการที่มาของการขัดจังหวะที่เกี่ยวข้องเรียกว่า ISR

กับดัก

เป็นการขัดจังหวะแบบไม่ปิดบังซึ่งมีลำดับความสำคัญสูงสุดในบรรดาอินเทอร์รัปต์ทั้งหมด Bydefault จะเปิดใช้งานจนกว่าจะได้รับการตอบรับ ในกรณีที่เกิดความล้มเหลวจะดำเนินการเป็น ISR และส่งข้อมูลไปยังหน่วยความจำสำรอง การขัดจังหวะนี้จะถ่ายโอนการควบคุมไปยังตำแหน่ง 0024H

RST7.5

เป็นการขัดจังหวะแบบสวมหน้ากากได้ซึ่งมีลำดับความสำคัญสูงสุดเป็นอันดับสองในบรรดาอินเทอร์รัปต์ทั้งหมด เมื่อการขัดจังหวะนี้ถูกดำเนินการโปรเซสเซอร์จะบันทึกเนื้อหาของการลงทะเบียนพีซีลงในสแต็กและแตกแขนงไปยังที่อยู่ 003CH

RST 6.5

เป็นการขัดจังหวะแบบสวมหน้ากากได้ซึ่งมีลำดับความสำคัญสูงสุดเป็นอันดับสามในบรรดาอินเทอร์รัปต์ทั้งหมด เมื่อการขัดจังหวะนี้ถูกดำเนินการโปรเซสเซอร์จะบันทึกเนื้อหาของการลงทะเบียนพีซีลงในสแต็กและแตกแขนงไปยังที่อยู่ 0034H

RST 5.5

เป็นการขัดจังหวะแบบสวมหน้ากากได้ เมื่อการขัดจังหวะนี้ถูกเรียกใช้โปรเซสเซอร์จะบันทึกเนื้อหาของการลงทะเบียนพีซีลงในสแต็กและแตกแขนงไปยังที่อยู่ 002CH

INTR

เป็นการขัดจังหวะแบบสวมหน้ากากได้ซึ่งมีลำดับความสำคัญต่ำที่สุดในบรรดาอินเทอร์รัปต์ทั้งหมด สามารถปิดใช้งานได้โดยการรีเซ็ตไมโครโปรเซสเซอร์

เมื่อไหร่ INTR signal goes highเหตุการณ์ต่อไปนี้สามารถเกิดขึ้นได้ -

  • ไมโครโปรเซสเซอร์จะตรวจสอบสถานะของสัญญาณ INTR ระหว่างการดำเนินการของแต่ละคำสั่ง

  • เมื่อสัญญาณ INTR สูงไมโครโปรเซสเซอร์จะดำเนินการตามคำสั่งปัจจุบันและส่งสัญญาณรับทราบการขัดจังหวะต่ำที่ใช้งานอยู่

  • เมื่อได้รับคำแนะนำไมโครโปรเซสเซอร์จะบันทึกที่อยู่ของคำสั่งถัดไปบนสแตกและดำเนินการตามคำสั่งที่ได้รับ