daily pastebin goal
14%
SHARE
TWEET

Untitled

a guest Jul 11th, 2018 66 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // 32-bit Instructions Types
  2.         op  a   b   c   d   f
  3.         _____________________
  4. R-Type  6   5   5   5   5   6
  5. I-type  6   5   5   16
  6. J-Type  6   24
  7.         Bit Length
  8.  
  9. R-Types
  10. //____________________________________________________________________________________________________________________
  11. ADD     overflow    |   000000  RS      RT      RD      00000   100000      AKA (RD = RS + RT)
  12. ADDU    noverflow   |   000000  RS      RT      RD      00000   100001      AKA (RD = RS + RT)
  13. SUB     overflow    |   000000  RS      RT      RD      00000   100010      AKA (RD = RS - RT)
  14. SUBU    noverflow   |   000000  RS      RT      RD      00000   100011      AKA (RD = RS - RT)
  15. MUL     noverflow   |   000000  RS      RT      00000   00000   011000      AKA (HI&&LO = RS * RT)
  16. MULU    noverflow   |   000000  RS      RT      00000   00000   011001      AKA (HI&&LO = RS * RT)
  17. DIV     noverflow   |   000000  RS      RT      00000   00000   011010      AKA (Lo = RS / RT ; Hi = RS mod RT)
  18. DIV     noverflow   |   000000  RS      RT      00000   00000   011011      AKA (Lo = RS / RT ; Hi = RS mod RT)
  19. SLT     noverflow   |   000000  RS      RT      RD      00000   101010      AKA (if[RS < RT] RD = 0 || 1; else RD = 0)
  20. SLTU    noverflow   |   000000  RS      RT      RD      00000   101011      AKA (if[RS < RT] RD = 0 || 1; else RD = 0)
  21. AND     noverflow   |   000000  RS      RT      RD      00000   100100      AKA (RD = RS AND RT)
  22. OR      noverflow   |   000000  RS      RT      RD      00000   100101      AKA (RD = RS OR  RT)
  23. NOR     noverflow   |   000000  RS      RT      RD      00000   100111      AKA (RD = RS NOR RT)
  24. XOR     noverflow   |   000000  RS      RT      RD      00000   101000      AKA (RD = RS XOR RT)
  25. NOP     noverflow   |   000000  00000   00000   00000   00000   000000      AKA (nop)
  26. MFHI    noverflow   |   000000  00000   00000   RD      00000   010000      AKA (RD = HI)
  27. MFLO    noverflow   |   000000  00000   00000   RD      00000   010010      AKA (RD = LO)
  28.  
  29. I-Types
  30. //____________________________________________________________________________________________________________________
  31. ADDI    overflow    |   001000  RS      RT      Imm     AKA (RT = RS + Imm)                         !16 bits!
  32. ADDIU   noverflow   |   001001  RS      RT      Imm     AKA (RT = RS + Imm)                         !16 bits!
  33. SLTI    noverflow   |   001010  RS      RT      Imm     AKA (if[RS < Imm] RT = 0 || 1; else RT = 0) !16 bits!
  34. SLTIU   noverflow   |   001011  RS      RT      Imm     AKA (if[RS < Imm] RT = 0 || 1; else RT = 0) !16 bits!
  35. ANDI    noverflow   |   001100  RS      RT      Imm     AKA (RT = RS AND Imm)                       !16 bits!
  36. ORI     noverflow   |   001101  RS      RT      Imm     AKA (RT = RS OR Imm)                        !16 bits!
  37. XORI    noverflow   |   001110  RS      RT      Imm     AKA (RT = RS XOR Imm)                       !16 bits!
  38. LW      illegal     |   100011  RS      RT      Off     AKA (RT = &{RS+Off})                        !16 bits!   remember to know the difference between memory addresses and values
  39. SW      illegal     |   101011  RS      RT      Off     AKA (&{RS+Off} = RT)                        !16 bits!
  40. LBU     illegal     |   100100  RS      RT      Off     AKA (RT = &{RS + Off})                      !16 bits!
  41. LB      illegal     |   100000  RS      RT      Off     AKA (RT = &{RS + Off})                      !16 bits!
  42. SB      illegal     |   101000  RS      RT      Off     AKA (&{RS + Off} = RT)                      !16 bits!
  43. LUI     illegal     |   001111  00000   RT      Imm     AKA (RT = Imm)
  44. BEQ                 |   000100  RS      RT      Off     AKA (if[RS == RT] goto Off)
  45. BNE                 |   000101  RS      RT      Off     AKA (if[RS != RT] goto Off)
  46. BLEZ                |   000110  RS      00000   Off     AKA (if[RS <= 0] goto Off)
  47. BGTZ                |   000111  RS      00000   Off     AKA (if[RS > 0] goto Off)
  48. BLTZ                |   000001  RS      00000   Off     AKA (if[RS < 0] goto Off)
  49.  
  50. Jumps / J-Types
  51. //____________________________________________________________________________________________________________________
  52. J               |   000010  Off                                         AKA (goto Off)
  53. JAL             |   000011  Off                                         AKA (goto Off)
  54. JR      R-Type  |   000000  RS      00000   00000   00000   001000      AKA (goto RS)
  55. JALR    R-Type  |   000000  RS      00000   RD      00000   001001      AKA (goto ??)
  56.  
  57. Exceptions
  58. //____________________________________________________________________________________________________________________
  59. MFEPC   R-Type  |   010000  00000   RD      01110   00000   000000 AKA (RD = EPC)
  60. MFCO    R-Type  |   010000  00000   RD      01101   00000   000000 AKA (RD = CR)
  61.  
  62. Floating Point
  63. //____________________________________________________________________________________________________________________
  64. LWC1    I-Type  noverflow   |   110001  RS      FT      Off                     AKA (FT = RS + Off)
  65. SWC1    I-Type  noverflow   |   111001  RS      FT      Off                     AKA (RS + Off = FT)
  66. ADD.S   R-Type  overflow    |   010001  00000   FT      FS      FD      000000  AKA (FD = FS + FT)
  67. ADD.D   R-Type  overflow    |   010001  00001   FT      FS      FD      000000  AKA (FD = FS + FT)
  68. SUB.S   R-Type  overflow    |   010001  00000   FT      FS      FD      000001  AKA (FD = FS - FT)
  69. SUB.D   R-Type  overflow    |   010001  00001   FT      FS      FD      000001  AKA (FD = FS - FT)
  70. MUL.S   R-Type  overflow    |   010001  00000   FT      FS      FD      000002  AKA (FD = FS * FT)
  71. MUL.D   R-Type  overflow    |   010001  00001   FT      FS      FD      000002  AKA (FD = FS * FT)
  72. DIV.S   R-Type  overflow    |   010001  00000   FT      FS      FD      000003  AKA (FD = FS * FT)
  73. DIV.D   R-Type  overflow    |   010001  00001   FT      FS      FD      000003  AKA (FD = FS * FT)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top