จะทราบรูปแบบคำสั่ง MIPS R, I หรือ J ได้อย่างไร

จะทราบได้อย่างไรว่า opcode ของคำสั่ง MIPS คือ Register, Imidiate หรือ Jump รับตารางนี้จากหนังสือ แต่มีวิธีใดในการกำหนดรูปแบบของ opcode หรือไม่

http://i.imgur.com/uNK6eby.png


person user3025956    schedule 02.12.2013    source แหล่งที่มา


คำตอบ (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
comment
ฉันรู้ว่า 6 บิตแรกพูดถึง opcode และอีก 64 บิตที่แตกต่างกัน จากภาพที่ฉันแนบมา คุณอธิบายได้ดีขึ้นนิดหน่อยใช่ไหม - person user3025956; 03.12.2013
comment
@dwelch ฉันเข้าใจตาราง แต่สิ่งที่ฉันไม่เข้าใจก็คือ Seva เขียน คำตอบของเขาคือคำตอบสำหรับคำถามของฉัน แต่ฉันยังต้องการใครสักคนมาอธิบาย - person user3025956; 03.12.2013
comment
ฉันกำลังบอกว่ารูปแบบของคำสั่งสามารถอนุมานได้จากฟิลด์ opcode opcodes ที่รู้จักทั้งหมดได้รับการบันทึกไว้ บางตัวตรงกับโอเปอเรเตอร์ I บางตัวตรงกับ R บางตัวตรงกับเจ - person Seva Alekseyev; 03.12.2013