Midterm Review Guide
CMSC 313 MT Study Guide
The exam will be a mix of True/False, multiple choice, short answers, one or two longer answers, and some short and medium-length coding, as well as understanding provided assembly code.We will make the toupper.asm program available during the exam.
Midterm Topic Outline:
- Base Conversion--between any two bases
- focus mainly on binary, hexadecimal, octal - Data Representation
- negative numbers: 2's complement, 1's complement, signed magnitude
- ASCII
- little endian vs big endian
- - Intel CPU
- Registers
- Addressing modes
- Condition flags
- Common instructions
- Basic Instructions
- ADD, SUB, INC, DEC, MOV, NOP
- Comparison & conditional jump instructions
- JMP, CMP, Jcc
- signed vs unsigned conditional jumps (e.g. ja vs jg)
- More Arithmetic Instructions
- NEG, MUL, DIV
- Logical (bit manipulation) Instructions
- AND, OR, NOT, SHL, SHR, SAL, SAR, ROL, ROR, RCL, RCR
- Subroutine Instructions
- PUSH, POP, CALL, RET
- NASM
- How to assemble
- .data, .bss, .text sections
- dd, dw, db, resd, resw, resb directives
- %define!
- System calls for read & write
- Interrupts (general principles)