rd = rs1 + rs2 → 將 rs1 和 rs2 相加,結果存入 rd。rd = rs1 - rs2 → 將 rs1 減去 rs2,結果存入 rd。rd = rs1 << rs2[4:0] → 將 rs1 向左邊位移 rs2 的低 5 位數,結果存入 rd。rd = rs1 <s rs2 → 如果 rs1 小於 rs2(有號數比較),rd 設為 1,否則設為 0。rd = rs1 <u rs2 → 如果 rs1 小於 rs2(無號數比較),rd 設為 1,否則設為 0。rd = rs1 ^ rs2 → 將 rs1 和 rs2 進行逐位異或,結果存入 rd。rd = rs1 >> rs2[4:0] → 將 rs1 向右邊無號位移 rs2 的低 5 位數,結果存入 rd。rd = rs1 >>s rs2[4:0] → 將 rs1 向右邊有號位移 rs2 的低 5 位數,結果存入 rd。rd = rs1 | rs2 → 將 rs1 和 rs2 進行逐位或運算,結果存入 rd。rd = rs1 & rs2 → 將 rs1 和 rs2 進行逐位與運算,結果存入 rd。rd = rs1 + imm → 將 rs1 加上立即數 imm,結果存入 rd。rd = rs1 <s imm → 如果 rs1 小於立即數 imm(有號數比較),rd 設為 1,否則設為 0。rd = rs1 <u imm → 如果 rs1 小於立即數 imm(無號數比較),rd 設為 1,否則設為 0。rd = rs1 ^ imm → 將 rs1 和立即數 imm 進行逐位異或,結果存入 rd。rd = rs1 | imm → 將 rs1 和立即數 imm 進行逐位或運算,結果存入 rd。rd = rs1 & imm → 將 rs1 和立即數 imm 進行逐位與運算,結果存入 rd。M[rs1 + imm][0:7] = rs2[0:7] → 將 rs2 的低 8 位數儲存到記憶體位置 M[rs1 + imm] 中。M[rs1 + imm][0:15] = rs2[0:15] → 將 rs2 的低 16 位數儲存到記憶體位置 M[rs1 + imm] 中。M[rs1 + imm][0:31] = rs2[0:31] → 將 rs2 的低 32 位數儲存到記憶體位置 M[rs1 + imm] 中。M[rs1 + imm][0:63] = rs2[0:63] → 將 rs2 的低 64 位數儲存到記憶體位置 M[rs1 + imm] 中。if (rs1 >u rs2) pc += imm → 如果 rs1 小於 rs2(無號數比較),跳轉到 pc + imm 的位置。if (rs1 >=s rs2) pc += imm → 如果 rs1 大於等於 rs2(有號數比較),跳轉到 pc + imm 的位置。if (rs1 >=u rs2) pc += imm → 如果 rs1 大於等於 rs2(無號數比較),跳轉到 pc + imm 的位置。lui imm rd → 將立即數 imm 儲存到 rd 的高 20 位數中。auipc imm rd → 將 pc 和立即數 imm 相加,結果存入 rd。jal imm rd → 跳轉到 pc + imm 的位置,並將返回地址存入 rd。