debugging assembly language nemonics assembler opcode symbol labels comment Trap X23 (IN) input/output operating system convention Trap x21 (OUT) pragmas(pseudo-ops) .ORIG .END .BLKW Pseudo-ops Compiler Floating-point ADD Pragma NOP Arrays Data structures Linked List module flowchart LEA LDR LDI LD mov (VAX machine) parameters subroutines sub-program abstract datatype queue First in first out (FIFO) dynamic queue Stack Last in last out (LIFO) data structure linked list sequential data structure array/sequential list ascii code string termination string/character string Null pointer .stringz subroutine string packing Trap x22 (PUTS) node pointer access/insertion/deletion systematic decomposition JSR/JSRR instruction sentinel insertion binary search tree node child/chidren leaf parent root jump return (jmp R7) JMP/RET instruction linkage callee saved caller saved top of the stack stack pointer (R6) push pop element priority interrupt overflow queue full underflow base of the stack return value breakpoint debugging subroutine data path state machine bus cycle control Arithmetic Logic Unit (ALU) memory-mapped I/O tristate device ready bit keyboard status register (KBSR) keyboard data register (KBDR) spinning buffer