Nov-30: Today is a lab day, down in SMudd 014.
Nov-25: Here are the solutions to the mid-term exam. If you have questions about these solutions or the commentary that accompanies them, then send email or come to see me.
Nov-20: Many people are having difficulty with the recursive aspect of Lab 6. It is due tonight at 11:59 pm, so I recommend that you do your best and that you submit your work on time. Don't panic: Not all problems that I pose to you are ones that I expect everyone to complete. After break, I am happy to meet with anyone who failed to work out the recursive solution in order to get it right.
Nov-17: The lab is not available tomorrow, so we will be meeting at our normal lecture time and in our normal lecture classroom. You should come prepared to address the following question: How does the Magical Instruction Fetcher work? I expect every one of you to have ideas on how to get started with the answer to that question.
Nov-14: I have altered the assembler and the simulator to use the new, consistent interpretation of labels and dereferencing of labels. That is, now, +foo evaluates to the main memory address labeled foo, while *+foo evaluates to the word stored at the main memory address labeled foo. This change may require some alterations in your assembly code, and it certainly requires re-assembling any existing code before running it on the simulator.
Nov-11: Ah, another bug. Specifically, attempts to JUMP to locations expressed as indirect operands (e.g., *%G0) fail. The wrong location is loaded into the program counter, and once that happens, the next instruction is likely to trigger the dreaded BUS_ERROR as the instruction is fetched from an invalid location.
This problem is going to require more than a simple bug fix. First, it will require changes to the assembler and to the simulator. Second, it will actually require you to make small changes to your code. I will fix the assembler and simulator soon, and I will post a description of the changes you will need to make to your code (and why they need to be made). In the meantime, do what you can to make progress on Lab 6. I recognize that this bug will limit your progress, and so I will extend the due date by a day or two.
Nov-11: I have fixed another bug in the k-system simulator. Specifically, many people noticed that the CALL instruction would fail with a BUS_ERROR. The cause was a mishandling, on my part, of the memory location into which the return address is stored by the CALL instruction. I have fixed it, and that error should no longer occur. Let me know if you encounter other errors that seem to occur in spite of seemingly well formed assembly/machine code on your part.
Nov-10: I have fixed two bugs for our k-system. First, directly expressed main memory addresses (e.g., @0x1000) are now correctly recognized by the assembler. Second, and more importantly, the code that I provided in count.asm revealed a substantial bug that prevented storing a result into a main memory address via indirection through a register (e.g., *%SP); that bug is also fixed, and the beginning of count.asm should now work correctly.
Oct-27: I am not feeling well, so there will be neither class nor lab tomorrow (Wednesday). We will have lab on Friday in SMudd 014.
Oct-27: There will be no office hours this morning. I will still have regular office hours tomorrow. Email me if you have questions or if you want to meet.
Oct-25: Because only two students contacted me with their availability for a noon lab section on Mondays (as requested), and because one of the software tools that we need for the next lab is not quite ready, we will be having lecture, not lab tomorrow (Monday) at the usual 11:00 am in SMudd 206.
Oct-20: There will be a last minute special TA session, held as usual in SMudd 006, at 9:00 pm tonight, to ask any last-minute questions before tomorrow's mid-term exam.
Oct-17: I have posted a sample mid-term exam, both with and without solutions, on the Documents page. Note that this sample exam is meant to show you what kinds of questions may be asked of you; it is not meant to be a comprehensive study guide.
Oct-16: For those who failed to pay attention at the beginning of Wednesday's class, there is no lab tomorrow. We will instead be having a regular lecture at 11:00 am in Seeley Mudd 206. We will be covering new and substantial material.
Oct-07: With apologies, no office hours today. If you have questions, please write to me. I can try to answer your question via email, or we can schedule a meeting.
Oct-01: There is a new reading assignment on the Assignments page. It does not quite bring our reading from the textbook up to our current topic in lectures, but it comes closer. We will continue to catch up over the next couple of weeks. Please note that the new section of the book in handwritten, which is the only way that I could have the writing keep pace with the lectures.
Sep-28: Starting this week (that is, two days from now), there will be regular TA help sessions. Specifically, our TA's, Adam Lerner and Gavin Zalinger, will stand ready to answer questions and help with labs each Wednesday, from 7:30 pm to 9:00 pm, in Seeley Mudd 006. I encourage you to take advantage of these help sessions to clarify material and to make timely progress on the labs.
Sep-19: I have scheduled regular office hours for your use:
I will be in my office (Seeley Mudd 406) during this time, and you are welcome to visit me during these times with an appointment or any other planning. You may also contact me via email to schedule a meeting at another time. I strongly encourage you to meet with me outside of class to discuss the lectures, the reading, or the projects.
Sep-17: Concerning lab sections for tomorrow: those that attended the 11:00 am lab section last week should continue to do so; those that attended the 12:00 pm lab section but contacted me via email to request the 11:00 am section and received an affirmative response should attend the 11:00 am lab section; the remainder of you -- those who attended the 12:00 pm lab section and did not request the 11:00 am section -- should attend the 12:00 pm lab section. If you fall into the third category but wish to fall into the second (and revert to the 11:00 am lab), send an email request to be as soon as possible.
Sep-16: Chips and probes and breadboards -- Oh my! The shipment of new parts has arrived. I have placed some new tubes of chips with the old ones. (Please keep the chips organized! When you are done with a chip, find the correct tube for it and put it back into that tube!) There are more probes in their boxes on the middle shelf against the north wall of the room. Finally, for those suffering with the old breadboards, contact me, and I will unpack and give you an ETS-7000 to use.
Sep-15: A new reading has been posted on the Assignments page.
Sep-11: There are more people registered for the class than there are spaces in Seeley Mudd 006, where we will hold our labs on Fridays. Therefore, we need to hold two lab sections. After checking with the Registrar, many of you have room in your schedule to attend a 12:00 - 12:50 pm lab on Fridays. So: if your schedule allows for you to attend a 12:00 pm lab, then you should do so starting today. It is terribly important that you follow this directive. If you are unavailable at 12:00 pm for some non-curricular reason, then please contact me immediately.
Aug-25: Welcome! Regular announcements, including information about problem sets, projects, class preparation, cancellations, and just about anything else, will be provided here. Check this space daily (at the least) to see if any new announcements have been posted. Alternatively, subscribe to the course RSS feed. Prior to the first class at 11:00 am on Tuesday, September 8th, you must read the Course Information.