[61C FA22] 61C Reference CardInstruction Name Description Type Opcode Funct3 Funct7add rd rs1 rs2 ADD rd = rs1 + rs2 R XXXXXXXXXX0000sub rd rs1 rs2 SUBtract rd = rs1 - rs2 R...

1 answer below »

The midterm covers the following topics:



  • Every lecture through Lecture 17

  • Every lab through Lab 5

  • Every discussion through Discussion 6

  • Every homework through Homework 5

  • Projects 1 and 2




[61C FA22] 61C Reference Card Instruction Name Description Type Opcode Funct3 Funct7 add rd rs1 rs2 ADD rd = rs1 + rs2 R 011 0011 000 000 0000 sub rd rs1 rs2 SUBtract rd = rs1 - rs2 R 011 0011 000 010 0000 and rd rs1 rs2 bitwise AND rd = rs1 & rs2 R 011 0011 111 000 0000 or rd rs1 rs2 bitwise OR rd = rs1 | rs2 R 011 0011 110 000 0000 xor rd rs1 rs2 bitwise XOR rd = rs1 ^ rs2 R 011 0011 100 000 0000 sll rd rs1 rs2 Shift Left Logical rd = rs1 < rs2="" r="" 011="" 0011="" 001="" 000="" 0000="" srl="" rd="" rs1="" rs2="" shift="" right="" logical="" rd="rs1">> rs2 (Zero-extend) R 011 0011 101 000 0000 sra rd rs1 rs2 Shift Right Arithmetic rd = rs1 >> rs2 (Sign-extend) R 011 0011 101 010 0000 slt rd rs1 rs2 Set Less Than (signed) rd = (rs1 < rs2)="" 1="" :="" 0="" r="" 011="" 0011="" 010="" 000="" 0000="" sltu="" rd="" rs1="" rs2="" set="" less="" than="" (unsigned)="" r="" 011="" 0011="" 011="" 000="" 0000="" addi="" rd="" rs1="" imm="" add="" immediate="" rd="rs1" +="" imm="" i="" 001="" 0011="" 000="" andi="" rd="" rs1="" imm="" bitwise="" and="" immediate="" rd="rs1" &="" imm="" i="" 001="" 0011="" 111="" ori="" rd="" rs1="" imm="" bitwise="" or="" immediate="" rd="rs1" |="" imm="" i="" 001="" 0011="" 110="" xori="" rd="" rs1="" imm="" bitwise="" xor="" immediate="" rd="rs1" ^="" imm="" i="" 001="" 0011="" 100="" slli="" rd="" rs1="" imm="" shift="" left="" logical="" immediate="" rd="rs1">< imm="" i*="" 001="" 0011="" 001="" 000="" 0000="" srli="" rd="" rs1="" imm="" shift="" right="" logical="" immediate="" rd="rs1">> imm (Zero-extend) I* 001 0011 101 000 0000 srai rd rs1 imm Shift Right Arithmetic Immediate rd = rs1 >> imm (Sign-extend) I* 001 0011 101 010 0000 slti rd rs1 imm Set Less Than Immediate (signed) rd = (rs1 < imm)="" 1="" :="" 0="" i="" 001="" 0011="" 010="" sltiu="" rd="" rs1="" imm="" set="" less="" than="" immediate="" (unsigned)="" i="" 001="" 0011="" 011="" lb="" rd="" imm(rs1)="" load="" byte="" rd="1" byte="" of="" memory="" at="" address="" rs1="" +="" imm,="" sign-extended="" i="" 000="" 0011="" 000="" lbu="" rd="" imm(rs1)="" load="" byte="" (unsigned)="" rd="1" byte="" of="" memory="" at="" address="" rs1="" +="" imm,="" zero-extended="" i="" 000="" 0011="" 100="" lh="" rd="" imm(rs1)="" load="" half-word="" rd="2" bytes="" of="" memory="" starting="" at="" address="" rs1="" +="" imm,="" sign-extended="" i="" 000="" 0011="" 001="" lhu="" rd="" imm(rs1)="" load="" half-word="" (unsigned)="" rd="2" bytes="" of="" memory="" starting="" at="" address="" rs1="" +="" imm,="" zero-extended="" i="" 000="" 0011="" 101="" lw="" rd="" imm(rs1)="" load="" word="" rd="4" bytes="" of="" memory="" starting="" at="" address="" rs1="" +="" imm="" i="" 000="" 0011="" 010="" sb="" rs2="" imm(rs1)="" store="" byte="" stores="" least-significant="" byte="" of="" rs2="" at="" the="" address="" rs1="" +="" imm="" in="" memory="" s="" 010="" 0011="" 000="" sh="" rs2="" imm(rs1)="" store="" half-word="" stores="" the="" 2="" least-significant="" bytes="" of="" rs2="" starting="" at="" the="" address="" rs1="" +="" imm="" in="" memory="" s="" 010="" 0011="" 001="" sw="" rs2="" imm(rs1)="" store="" word="" stores="" rs2="" starting="" at="" the="" address="" rs1="" +="" imm="" in="" memory="" s="" 010="" 0011="" 010="" a="" rit="" hm="" et="" ic="" m="" em="" or="" y="" cs="" 61c="" reference="" card="" version="" 1.5.0="" instruction="" name="" description="" type="" opcode="" funct3="" beq="" rs1="" rs2="" label="" branch="" if="" equal="" if="" (rs1="=" rs2)="" pc="PC" +="" offset="" b="" 110="" 0011="" 000="" bge="" rs1="" rs2="" label="" branch="" if="" greater="" or="" equal="" (signed)="" if="" (rs1="">= rs2) PC = PC + offset B 110 0011 101 bgeu rs1 rs2 label Branch if Greater or Equal (Unsigned) B 110 0011 111 blt rs1 rs2 label Branch if Less Than (signed) if (rs1 < rs2)="" pc="PC" +="" offset="" b="" 110="" 0011="" 100="" bltu="" rs1="" rs2="" label="" branch="" if="" less="" than="" (unsigned)="" b="" 110="" 0011="" 110="" bne="" rs1="" rs2="" label="" branch="" if="" not="" equal="" if="" (rs1="" !="rs2)" pc="PC" +="" offset="" b="" 110="" 0011="" 001="" jal="" rd="" label="" jump="" and="" link="" rd="PC" +="" 4="" pc="PC" +="" offset="" j="" 110="" 1111="" jalr="" rd="" rs1="" imm="" jump="" and="" link="" register="" rd="PC" +="" 4="" pc="rs1" +="" imm="" i="" 110="" 0111="" 000="" auipc="" rd="" imm="" add="" upper="" immediate="" to="" pc="" rd="PC" +="" (imm="">< 12)="" u="" 001="" 0111="" lui="" rd="" imm="" load="" upper="" immediate="" rd="imm">< 12="" u="" 011="" 0111="" ebreak="" environment="" break="" asks="" the="" debugger="" to="" do="" something="" (imm="0)" i="" 111="" 0011="" 000="" ecall="" environment="" call="" asks="" the="" os="" to="" do="" something="" (imm="1)" i="" 111="" 0011="" 000="" mul="" rd="" rs1="" rs2="" multiply="" (part="" of="" mul="" isa="" extension)="" rd="rs1" *="" rs2="" (omitted)="" pseudoinstruction="" name="" description="" translation="" beqz="" rs1="" label="" branch="" if="" equals="" zero="" if="" (rs1="=" 0)="" pc="PC" +="" offset="" beq="" rs1="" x0="" label="" bnez="" rs1="" label="" branch="" if="" not="" equals="" zero="" if="" (rs1="" !="0)" pc="PC" +="" offset="" bne="" rs1="" x0="" label="" j="" label="" jump="" pc="PC" +="" offset="" jal="" x0="" label="" jr="" rs1="" jump="" register="" pc="rs1" jalr="" x0="" rs1="" 0="" la="" rd="" label="" load="" absolute="" address="" rd="&label" auipc,="" addi="" li="" rd="" imm="" load="" immediate="" rd="imm" lui="" (if="" needed),="" addi="" mv="" rd="" rs1="" move="" rd="rs1" addi="" rd="" rs1="" 0="" neg="" rd="" rs1="" negate="" rd="-rs1" sub="" rd="" x0="" rs1="" nop="" no="" operation="" do="" nothing="" addi="" x0="" x0="" 0="" not="" rd="" rs1="" bitwise="" not="" rd="~rs1" xori="" rd="" rs1="" -1="" ret="" return="" pc="ra" jalr="" x0="" x1="" 0="" 31="" 25="" 24="" 20="" 19="" 15="" 14="" 12="" 11="" 7="" 6="" 0="" r="" funct7="" rs2="" rs1="" funct3="" rd="" opcode="" i="" imm[11:0]="" rs1="" funct3="" rd="" opcode="" i*="" funct7="" imm[4:0]="" rs1="" funct3="" rd="" opcode="" s="" imm[11:5]="" rs2="" rs1="" funct3="" imm[4:0]="" opcode="" b="" imm[12|10:5]="" rs2="" rs1="" funct3="" imm[4:1|11]="" opcode="" u="" imm[31:12]="" rd="" opcode="" j="" imm[20|10:1|11|19:12]="" rd="" opcode="" #="" name="" description="" #="" name="" desc="" x0="" zero="" constant="" 0="" x16="" a6="" args="" x1="" ra="" return="" address="" x17="" a7="" x2="" sp="" stack="" pointer="" x18="" s2="" x3="" gp="" global="" pointer="" x19="" s3="" x4="" tp="" thread="" pointer="" x20="" s4="" x5="" t0="" temporary="" registers="" x21="" s5="" x6="" t1="" x22="" s6="" x7="" t2="" x23="" s7="" x8="" s0="" saved="" registers="" x24="" s8="" x9="" s1="" x25="" s9="" x10="" a0="" function="" arguments="" or="" return="" values="" x26="" s10="" x11="" a1="" x27="" s11="" x12="" a2="" function="" arguments="" x28="" t3="" x13="" a3="" x29="" t4="" x14="" a4="" x30="" t5="" x15="" a5="" x31="" t6="" s="" av="" ed="" r="" eg="" is="" te="" rs="" te="" m="" po="" ra="" rie="" s="" c="" on="" tro="" l="" o="" th="" er="" caller="" saved="" registers="" callee="" saved="" registers="" (except="" x0,="" gp,="" tp)="" immediates="" are="" sign-extended="" to="" 32="" bits,="" except="" in="" i*="" type="" instructions="" and="" sltiu.="" e="" xt="" si="" prefixes="" size="" prefix="" symbol="" size="" prefix="" symbol="" size="" prefix="" symbol="" 10-3="" milli-="" m="" 103="" kilo-="" k="" 210="" kibi-="" ki="" 10-6="" micro-="" μ="" 106="" mega-="" m="" 220="" mebi-="" mi="" 10-9="" nano-="" n="" 109="" giga-="" g="" 230="" gibi-="" gi="" 10-12="" pico-="" p="" 1012="" tera-="" t="" 240="" tebi-="" ti="" 10-15="" femto-="" f="" 1015="" peta-="" p="" 250="" pebi-="" pi="" 10-18="" atto-="" a="" 1018="" exa-="" e="" 260="" exbi-="" ei="" 10-21="" zepto-="" z="" 1021="" zetta-="" z="" 270="" zebi-="" zi="" 10-24="" yocto-="" y="" 1024="" yotta-="" y="" 280="" yobi-="" yi="" hex="" dec="" char="" hex="" dec="" char="" hex="" dec="" char="" hex="" dec="" char="" hex="" dec="" char="" hex="" dec="" char="" 0x20="" 32="" space="" 0x30="" 48="" 0="" 0x40="" 64="" @="" 0x50="" 80="" p="" 0x60="" 96="" `="" 0x70="" 112="" p="" 0x21="" 33="" !="" 0x31="" 49="" 1="" 0x41="" 65="" a="" 0x51="" 81="" q="" 0x61="" 97="" a="" 0x71="" 113="" q="" 0x22="" 34="" "="" 0x32="" 50="" 2="" 0x42="" 66="" b="" 0x52="" 82="" r="" 0x62="" 98="" b="" 0x72="" 114="" r="" 0x23="" 35="" #="" 0x33="" 51="" 3="" 0x43="" 67="" c="" 0x53="" 83="" s="" 0x63="" 99="" c="" 0x73="" 115="" s="" 0x24="" 36="" $="" 0x34="" 52="" 4="" 0x44="" 68="" d="" 0x54="" 84="" t="" 0x64="" 100="" d="" 0x74="" 116="" t="" 0x25="" 37="" %="" 0x35="" 53="" 5="" 0x45="" 69="" e="" 0x55="" 85="" u="" 0x65="" 101="" e="" 0x75="" 117="" u="" 0x26="" 38="" &="" 0x36="" 54="" 6="" 0x46="" 70="" f="" 0x56="" 86="" v="" 0x66="" 102="" f="" 0x76="" 118="" v="" 0x27="" 39="" '="" 0x37="" 55="" 7="" 0x47="" 71="" g="" 0x57="" 87="" w="" 0x67="" 103="" g="" 0x77="" 119="" w="" 0x28="" 40="" (="" 0x38="" 56="" 8="" 0x48="" 72="" h="" 0x58="" 88="" x="" 0x68="" 104="" h="" 0x78="" 120="" x="" 0x29="" 41="" )="" 0x39="" 57="" 9="" 0x49="" 73="" i="" 0x59="" 89="" y="" 0x69="" 105="" i="" 0x79="" 121="" y="" 0x2a="" 42="" *="" 0x3a="" 58="" :="" 0x4a="" 74="" j="" 0x5a="" 90="" z="" 0x6a="" 106="" j="" 0x7a="" 122="" z="" 0x2b="" 43="" +="" 0x3b="" 59="" ;="" 0x4b="" 75="" k="" 0x5b="" 91="" [="" 0x6b="" 107="" k="" 0x7b="" 123="" {="" 0x2c="" 44="" ,="" 0x3c="" 60="">< 0x4c="" 76="" l="" 0x5c="" 92="" \="" 0x6c="" 108="" l="" 0x7c="" 124="" |="" 0x2d="" 45="" -="" 0x3d="" 61="0x4D" 77="" m="" 0x5d="" 93="" ]="" 0x6d="" 109="" m="" 0x7d="" 125="" }="" 0x2e="" 46="" .="" 0x3e="" 62=""> 0x4E 78 N 0x5E 94 ^ 0x6E 110 n 0x7E 126 ~ 0x2F 47 / 0x3F 63 ? 0x4F 79 O 0x5F 95 _ 0x6F 111 o 0x00 0 NULL Selected ASCII values IEEE 754 Floating Point Standard Sign Exponent Significand Single Precision 1 bit 8 bits (bias = -127) 23 bits Double Precision 1 bit 11 bits (bias = -1023) 52 bits Quad Precision 1 bit 15 bits (bias = -16383) 112 bits Standard exponent bias: - (2E-1-1) where E is the number of exponent bits C Format String Specifiers Specifier Output d or i Signed decimal integer u Unsigned decimal integer o Unsigned octal x Unsigned hexadecimal integer, lowercase X Unsigned hexadecimal integer, uppercase f Decimal floating point, lowercase F Decimal floating point, uppercase e Scientific notation (significand/exponent), lowercase E Scientific notation (significand/exponent), uppercase g Use the shortest representation: %e or %f G Use the shortest representation: %E or %F a Hexadecimal floating point, lowercase A Hexadecimal floating point, uppercase c Character s String of characters p Pointer address Laws of Boolean Algebra [61C FA22] 61C Reference Card Instruction Name Description Type Opcode Funct3 Funct7 add rd rs1 rs2 ADD rd = rs1 + rs2 R 011 0011 000 000 0000 sub rd rs1 rs2 SUBtract rd = rs1 - rs2 R 011 0011 000 010 0000 and rd rs1 rs2 bitwise AND rd = rs1 & rs2 R 011 0011 111 000 0000 or rd rs1 rs2 bitwise OR rd = rs1 | rs2 R 011 0011 110 000 0000 xor rd rs1 rs2 bitwise XOR rd = rs1 ^ rs2 R 011 0011 100 000 0000 sll rd rs1 rs2 Shift Left Logical rd = rs1 < rs2="" r="" 011="" 0011="" 001="" 000="" 0000="" srl="" rd="" rs1="" rs2="" shift="" right="" logical="" rd="rs1">> rs2 (Zero-extend) R 011 0011 101 000 0000 sra rd rs1 rs2 Shift Right Arithmetic rd = rs1 >> rs2 (Sign-extend) R 011 0011 101 010 0000 slt
Answered Same DayOct 13, 2022

Answer To: [61C FA22] 61C Reference CardInstruction Name Description Type Opcode Funct3 Funct7add rd rs1...

Nidhi answered on Oct 14 2022
44 Votes
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here