สิ่งที่เกี่ยวข้อง

วันศุกร์ที่ ๒๗ กรกฎาคม พ.ศ. ๒๕๕๐

ARM7TDMI Core - 8 Modify The Status Register

8 Modify The Status Registers

ได้มีกำหนดไว้ว่า CPSR และ SPSR เป็น Register ของโปรเซสเซอร์ แต่กลับไม่เป็นส่วนหนึ่งในชุด Register หลัก ดังนั้นการเข้าถึงมันทั้งสองจึงไม่สามารถทำได้ด้วยคำสั่งปกติ โดยจะมีเพียงสองคำสั่งเท่านั้นที่จะจัดการกับ Register ทั้งสองได้โดยตรง คำสั่งนั้นคือ MSR และ MRS ซึ่งจะใช้ในการย้ายข้อมูลภายใน CPSR หรือ SPSR ไปยัง Register ที่เราเลือก ตัวอย่างเช่น หากเราต้องการที่จะไม่รับ IRQ interrupt เราต้องย้าย CPSR ไปที่ Register จากนั้นทำการ Set ค่าที่ I-bit เพื่อทำการปิดการรับ Interrupt จากนั้นนำค่ากลับเข้าไปกำหนดยัง CPSR ใหม่

......

คำสั่ง MSR และ MRS สามารถทำงานได้ในทุกๆ mode ของ Processor ยกเว้น User mode ด้วยเหตุนี้การที่จะเปิด/ปิดการรับ Interrupt ต้องทำผ่าน Exception เช่น Reset, FIQ, IRQ, หรือ SWI


ไม่มีความคิดเห็น:

ผู้สนับสนุน

จัดตามกลุ่ม