จะทราบได้อย่างไรว่า opcode ของคำสั่ง MIPS คือ Register, Imidiate หรือ Jump รับตารางนี้จากหนังสือ แต่มีวิธีใดในการกำหนดรูปแบบของ opcode หรือไม่
จะทราบรูปแบบคำสั่ง MIPS R, I หรือ J ได้อย่างไร
คำตอบ (1)
ดูที่บิต opcode - 6 บิตที่สำคัญที่สุด ใน C ถ้า n
เป็นคำสั่ง 32 บิต นิพจน์สำหรับ opcode จะเป็น (n >> 26) & 0x3f
หาก opcode เป็น 0 แสดงว่าเป็นคำสั่ง register
หากเป็น 2 (j
), 3 (jal
) หรือ 26 (trap
) แสดงว่ามันเป็นการกระโดด
อย่างอื่นทันที.
มีข้อมูลสรุปการเข้ารหัส MIPS รวมถึงรายการ opcodes ทั้งหมด ที่นี่ และอาจจะอยู่ที่อื่นด้วย
person
Seva Alekseyev
schedule
02.12.2013
ฉันรู้ว่า 6 บิตแรกพูดถึง opcode และอีก 64 บิตที่แตกต่างกัน จากภาพที่ฉันแนบมา คุณอธิบายได้ดีขึ้นนิดหน่อยใช่ไหม
- person user3025956; 03.12.2013
@dwelch ฉันเข้าใจตาราง แต่สิ่งที่ฉันไม่เข้าใจก็คือ Seva เขียน คำตอบของเขาคือคำตอบสำหรับคำถามของฉัน แต่ฉันยังต้องการใครสักคนมาอธิบาย
- person user3025956; 03.12.2013
ฉันกำลังบอกว่ารูปแบบของคำสั่งสามารถอนุมานได้จากฟิลด์
opcode
opcodes ที่รู้จักทั้งหมดได้รับการบันทึกไว้ บางตัวตรงกับโอเปอเรเตอร์ I บางตัวตรงกับ R บางตัวตรงกับเจ
- person Seva Alekseyev; 03.12.2013