Hi, The processor simulator we supplied you with runs AND, OR, and XOR as signed operations, though they should be unsigned, as pointed out by someone on this newsgroup. Attached is a patch that will fix this. You can either apply it by running 'patch -p1 < Processor.PATCH' (if you are using the solaris version of patch, you'll have to enter "machine/Processor.java" as the file to patch), or by just making the changes (which are trivial) by hand. Either way, you should definitely make the fix - the autograder is already using it. thanks, rick --------- diff -cr nachos.old/machine/Processor.java nachos/machine/Processor.java *** nachos.old/machine/Processor.java Mon Mar 19 22:13:01 2001 --- nachos/machine/Processor.java Mon Mar 19 22:15:20 2001 *************** *** 1146,1154 **** new Mips(ADD, "addiu tsi", IFMT, DST|SRC2IMM), new Mips(SLT, "slti tsi", IFMT, DST|SRC2IMM), new Mips(SLT, "sltiu tsi", IFMT, DST|SRC2IMM|UNSIGNED), ! new Mips(AND, "andi tsi", IFMT, DST|SRC2IMM), ! new Mips(OR, "ori tsi", IFMT, DST|SRC2IMM), ! new Mips(XOR, "xori tsi", IFMT, DST|SRC2IMM), new Mips(LUI, "lui ti", IFMT, DST|SRC2IMM|UNSIGNED), new Mips(), new Mips(), --- 1146,1154 ---- new Mips(ADD, "addiu tsi", IFMT, DST|SRC2IMM), new Mips(SLT, "slti tsi", IFMT, DST|SRC2IMM), new Mips(SLT, "sltiu tsi", IFMT, DST|SRC2IMM|UNSIGNED), ! new Mips(AND, "andi tsi", IFMT, DST|SRC2IMM|UNSIGNED), ! new Mips(OR, "ori tsi", IFMT, DST|SRC2IMM|UNSIGNED), ! new Mips(XOR, "xori tsi", IFMT, DST|SRC2IMM|UNSIGNED), new Mips(LUI, "lui ti", IFMT, DST|SRC2IMM|UNSIGNED), new Mips(), new Mips(),