|
This page documents what we do in class. It contains Java programs that we will discuss in class, reading assignments from our textbook, simple homework exercises that you can work on for practice and exam preparation (not for credit), links to other sources of information, etc.
The reading assignments and practice problems are listed by the date on which they were assigned. The sample program files are listed by the date on which they were used. When you are viewing a source code page, you can use your browser's "File -> Save As..." menu item to save a copy of the code on your computer. It is a good idea for you to "play" with these example programs; compile them, run them, make simple changes to them and compile and run them again.
|
- Thursday, December 4.
- Remember that the second exam is on Tuesday at 3:30. Here is a review sheet that lists the sections that the exam will emphasize and the Practice Problems that you are responsible for knowing.
- Tuesday, December 2.
- See the homework page for your fifth homework assignment.
- Read Sections 4.3.2-4.3.5 (pages 291-308) and Section 4.4 (pages 309-317) from the textbook.
- Here is a zip file containing some usefull figures and slides from Chapter 4.
- Tuesday, November 25.
- Read Section 4.2 (pages 271-280) and Section 4.3.1 (pages 280-291) from the textbook.
- Thursday, November 20.
- Read Section 4.1 (pages 256-270) from the textbook.
- Here are two C programs that demonstrate function calls. Look at their assembly language listings and compare them to the assembly programs
function-call-nested.s and function-call-recursive.s
- Thursday, November 13.
- Read Sections 3.8 - 3.10 (pages 180-200) and Section 3.13 (pages 206-211) from the textbook.
- Here is a (short) list of homework problems from the end of Chapter 3 that you should look at while you are studying this chapter. These are not problems assigned for a grade, but they are the kinds of problems that you might see on the next exam. Feel free to ask any questions that you might have about these problems.
- Chapter 3: 3.32, 3.35, 3.36.
- Here are links to two nice RPN, stack based, calculatiors. One online and one that you can download.
- Here are some simple assembly language programs that demonstrate function calls. (Note: After you download the following files, you need to change their extensions from
.c back to .s .)
- Tuesday, November 11.
- See the homework page for your fourth homework assignment.
- Here are some examples of simple C foor-loop statements that you can compile and then study the assembly language.
- Here are some simple assembly language programs that demonstrate stack manipulations. (Note: After you download the following files, you need to change their extensions from
.c back to .s . The web server refuses to serve files with a .s extension.)
- Thursday, November 6.
- Here are some examples of simple C if-then-else statements that you can compile and then study the assembly language.
- Tuesday, November 4.
- Here are more examples of simple sequences of assembly language that we can assemble and then run in the debugger. (Note: After you download the following files, you need to change their extensions from
.c back to .s . The web server refuses to serve files with a .s extension.)
- Thursday, October 30.
- Read Sections 3.6.1-3.6.5 (pages 148-166) and Section 3.7 (pages 170-179) from the textbook.
- Here are a few examples of simple sequences of assembly language that we can assemble and then run in the debugger. (Note: After you download the following two files, you need to change their extensions from
.c back to .s . The web server refuses to serve files with a .s extension.)
- I updated the MinGWv2.zip file once again, so you should download it again. I added some help files for the gdb debugger and I fixed the Scite assembler (as) tool so that it works better with the debuggers.
- Thursday, October 23.
- Remember that the midterm exam is on Tuesday. Here is a review sheet that lists the sections that the exam will emphasize and the Practice Problems that you are responsible for knowing.
- Here are two C programs that can be used with the Scite tools bundled with MinGW to experiment with arbitrary assembly code.
- Tuesday, October 21.
- I updated the MinGWv2.zip file so you should download it again. I added a help file for the Insight debugger and some new tools in the Scite editor.
- Thursday, October 16.
- NOTE: The date for the midterm exam is being changed (by one week) to Tuesday, October 28.
- Here is a zip file containing the version of GCC used by our textbook, bundled with an editor, a debugger and several help files.
- Tuesday, October 14.
- See the homework page for your third homework assignment.
- Here are the first two C programs used in Chapter 3 of the textbook.
- Here are some references about the Intel architecture and Intel machine code.
- Thursday, October 2.
- Here is a zip file containing some usefull pictures about floating point representations.
- Here are two C programs that demonstrate the IEEE floating point number format.
- Tuesday, September 30.
- Read Sections 3.1-3.5 (pages 124-148) from the textbook.
- Here is another list of homework problems from the end of Chapter 2 that you should look at while you are studying this chapter. These problems are about floating point numbers. These are not problems assigned for a grade, but they are the kinds of problems that you might see on the midterm exam. Feel free to ask any questions that you might have about these problems.
- Chapter 2: 2.56, 2.58, 2.59, 2.60.
- Here is an explanation of how the IEEE floating point format is constructed.
- The following page gives another way to think about the various integer number formats that we have looked at.
- Thursday, September 18.
- Read Section 2.4 (pages 80-97) from the textbook.
- Three sample programs that demonstrate facts about 2s-complement numbers.
- Tuesday, September 16.
- See the homework page for your second homework assignment.
- Here is a zip file containing some usefull pictures about integer representations.
- If you want see one reason why understanding interger representations is important, take a look at the following sample chapter from a book on secure programming in C\C++.
- Thursday, September 11.
- Read Section 2.3 (pages 65-80) from the textbook.
- Here is a list of homework problems from the end of Chapter 2 that you should look at while you are studying this chapter. These are not problems assigned for a grade, but they are the kinds of problems that you might see on the midterm exam. Feel free to ask any questions that you might have about these problems. Also, remember to try and solve all of the "Practice Problems" through out the chapter (and look up their solutions in pages 108-120).
- Chapter 2: 2.39, 2.45, 2.47, 2.48, 2.50, 2.54.
- Tuesday, September 9.
- Here are two C programs that motivate why we want to understand the way data is represented inside of a computer.
- Thursday, September 4.
- Here are some examples of how we can encode information into "decimal number fields". This is analogous to how we encode information into "binary number fileds" in a computer's memory.
- Tuesday, September 2.
- See the homework page for your first homework assignment.
- Read Sections 2.1 and 2.2 (pages 26-65) from the textbook.
- You may want to look at this C Primer from the textbook's website.
- Tuesday, August 26.
- Read Chapter 1 (pages 2-20) from the textbook.
- Here is a link to the "C interpreter" that we used in class today.
- Below are links to two different "Java interpreters".
|
|
|
|