This page contains the errata for various information sources used by CS61C, including the text books and any software. Potential additions should be reported to the course staff, or on the newsgroup.
slt
and similar instructions are often listed as "branches" which they most definitely are not.
These instructions are listed this way because they are commonly used with branches.lbu
, lhu
, and lw
do
not have an opcode of 0
. The green card mislabels their opcode
as their funct
field.
Scratching out the 0/
will correct these entries.sll
and srl
shift rt
,
not rs
. Changing R[rs]
to R[rt]
will correct these entries.$ra
listed as preserved across calls, when it is not. Changing
Yes
to No
will correct this.JumpAddr = {PC[31:28], Immediate, 2'b00}
, when it should
be JumpAddr = {(PC+4)[31:28], Immediate, 2'b00}
.BranchAddr = {14{Immediate[15]}, Immediate, 2'b00}
, which is fine,
but when used in the above beq
and bne
instructions this is
multiplied by four. Either the concatenation should include 2'b00
at the right or the resulting branch address should be multiplied by four, but not
both.