21/2/25 异或

1,异或
英文为exclusive OR, 略称为XOR、EOR、EX-OR
数学符号为“⊕”
程序中有三种演算子:XOR、eor、⊕。
运算法则为:a⊕b = (¬a ∧ b) ∨ (a ∧¬b)
如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
0⊕0=0,0⊕1=1
1⊕0=1,1⊕1=0
运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。

运算法则

  1. 归零律:a ⊕ a = 0
  2. 恒等律:a ⊕ 0 = a
  3. 交换律:a ⊕ b = b ⊕ a
  4. 结合律:a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c;
  5. 自反:a ⊕ b ⊕ a = b.
  6. d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b ⊕ c.
  7. .若x是二进制数0101,y是二进制数1011;
    则x⊕y=1110
    只有在两个比较的位不同时其结果是1,否则结果为0
    即“两个输入相同时为0,不同则为1”
通过verilog代码设计一款支持RV32I基础指令集的RISC-V处理器,完成RTL设计,并且通过整体设计而不是分模块设计,实现以下指令1. 整数计算指令(Integer Computational Instructions)10个 1.1 寄存器-寄存器操作(R-type) ADD rd, rs1, rs2 // 加法 SUB rd, rs1, rs2 // 减法 SLL rd, rs1, rs2 // 逻辑左移 SLT rd, rs1, rs2 // 有符号比较(set if less than) SLTU rd, rs1, rs2 // 无符号比较 XOR rd, rs1, rs2 // 异或 SRL rd, rs1, rs2 // 逻辑右移 SRA rd, rs1, rs2 // 算术右移 OR rd, rs1, rs2 // 或 AND rd, rs1, rs2 // 与 1.2 立即数操作(I-type) 9个 ADDI rd, rs1, imm // 加立即数 SLTI rd, rs1, imm // 有符号比较立即数 SLTIU rd, rs1, imm // 无符号比较立即数 XORI rd, rs1, imm // 异或立即数 ORI rd, rs1, imm // 或立即数 ANDI rd, rs1, imm // 与立即数 SLLI rd, rs1, imm // 立即数逻辑左移(imm[5:0]) SRLI rd, rs1, imm // 立即数逻辑右移 SRAI rd, rs1, imm // 立即数算术右移 ________________________________________ 2. 控制转移指令(Control Transfer Instructions) 8个 2.1 无条件跳转 JAL rd, offset // 跳转并链接(保存PC+4到rd) JALR rd, rs1, offset // 间接跳转(PC = rs1 + offset) 2.2 条件分支(B-type) BEQ rs1, rs2, offset // 相等跳转 BNE rs1, rs2, offset // 不等跳转 BLT rs1, rs2, offset // 有符号小于跳转 BGE rs1, rs2, offset // 有符号大于等于跳转 BLTU rs1, rs2, offset // 无符号小于跳转 BGEU rs1, rs2, offset // 无符号大于等于跳转 3. 加载与存储指令(Load & Store, I-type & S-type) 8个 LB rd, offset(rs1) // 加载字节(符号扩展) LBU rd, offset(rs1) // 加载字节(无符号扩展) SB rs2, offset(rs1) // 存储字节
最新发布
06-12
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值