=========================================== Lec-1-HW-1-LC3review.html =========================================== This is a review of the LC3 from Patt & Patel's book. It has to do mostly with programing in assembly and interrupt and exception procesing. You can get much the same material from trunk/docs/, in the PP appendices there and other documents, such as the assembly language manual. Also, review the class lecture notes on LC3. ----------------------------- -- PP reading and references ----------------------------- Chp. 7.1 - 7.4 LC-3 Assembly language: instruction syntax, labels, comments, assembler directives, 2-pass assembly, object files and linking, executable images. Chp 8.1 - 8.3.3 Device registers, memory-mapped I/O, keyboard and display I/O. Chp 8.5 Interrupts. Chp 9.1.1 - 9.2.2 TRAP/JSR subroutine calls, register saving. Chp 10.1 - 10.2 Stacks, push/pop, stack under/overflow, interrupt I/O, saving/restoring program state. LC-3 Instruction notation definitions: App. A.2 LC-3 Instruction descriptions: App. A.3 LC-3 TRAP routines: App. A.3, Table A.2 LC-3 I/O device registers: App. A.3, Table A.3 LC-3 Interrupt and exception execution: App. A.4 and C.6 LC-3 FSM state diagram: App. C, Fig. C.2 and C.7 LC-3 Complete datapath: App. C, Fig. C.8 LC-3 memory map: App. A.1 ----------------------------- -- PP review exercises ----------------------------- Chp 6: 6.13 (shift right [NB-use assembly language]) Chp 7: 7.1 (instr. assembly w/ labels [NB-show instr. bits]) 7.14 (replace an opcode in assembled prog. to debug) 7.24 (debug loop control) Chp 8: 8.5 (what is KBSR[15]?) 8.11 (polling vs. intr. efficiency) 8.14 (I/O addr. decode) 8.15 (KBSR[14] and intr. handling) Chp 9: 9.2 (TRAP execution) 9.13 (debugging JSR and RET) 9.19 (complete the intr. priority service call) Chp 10: 10.10 (cc pushed in intr.) 10.11 (device registers and IVT) 10.24 (prog. and intr. service interaction)