Topic 2c
VOLE Machine Language Programs
Prior to Class
By the end of this topic students should be able to:
- Given a listing of multiple, sequential, memory addresses, containing a valid program written in the VOLE machine language, trace the execution of the program to answer questions about the status of the machine upon completion of the program.
Assigned Reading
- Readings
- Section 2.3, Vole Program Execution, pp 108-114
- Vole Instruction set - Appendix C, pp 660-662 (one page pdf summary)
- Videos
- Running a Vole Program
- Dr. Schafer explains the structure of a Vole program
- p 140, problem #14
- Walkthrough by hand (p. 140, #14)
- Using an emulator (p. 140, #14)
- The emulator I am using - https://brookshear.jfagerberg.me/#
- p 140, problem #17
- Walkthrough by hand (p. 140, #17)
- Using and emulator (p. 140, #17)
- Running a Vole Program
In class
I will not be in class today. I strongly encourage you to meet as a group and discuss the following activities...
Checking for Understanding
Answer the following questions from your textbook. The answers to all Q&E questions are in the back of your book in Appendix F.
- p 114, #1
- p 115, #3
- p 115, #4
For additional practice with full Vole programs, consider:
- P 141, Chapter Review Problem #15
- p 141, Chapter Review Problem #16
For a challenge problem consider
- p 114, #2
- This uses a rotate command which we do not expect you to know how to do.
- We are happy to talk with you about this problem if it interests you.
Extra Help
The answers to the CFU questions above are provided in the back of the book. We do not feel that additional video explanations are helpful for these questions. However, if you are still confused or have additional questions, please feel free to reach out to us.
The following videos explain the Chapter Review programs
- #15 from Chapter Review Problems
- There is an easy to miss but important to mention error in this video. At the very end Dr. Schafer increments the PC from 0x08 to 0x10. That is, of course, not the way it works with hexadecimal. It would go from 0x08 to 0x0A. His brain performed base 10 math rather than base 16 math.
- #16 from Chapter Review Problems