Test may NOT be "made up" without prior arrangements or VERIFIED EMERGENCY!
Make-up tests will be different, will be given the following morning at 6:30am and require a medical excuse.
Make a CAP!
This guide is not a "promise" of what will be on the test, but is simply an outline of topics
that MAY be on the test that I provide to be helpful to you. Other topics not listed may
also sneak onto a test from time to time.
Understand that a test is a SAMPLING and can not possibly cover all information from class.
The idea, however, is that you must study all the information since you don't know for certain
what questions will show up. This is for your benefit as it motivates you to learn more!
And finally, to avoid the "you said that topic would/would not be on the test" problem,
my new "stock answer" for the question, "will this be on the test?", is now:
"I can neither confirm nor deny the presence of that topic on the next test."(ref: US Navy)
READ: Code by Petzold: Ch 1-3,7-9
READ: EMU Tutorials:
- HW & Program execution
sizes: 8 bit, 16 bit 32 bit
SS , RAM , CPU
IP & context
Speeds: clock speed vs clock cycle: mHz, gHz, microsecond, nanosecond
- Bases & Representation
2, 10, 16 and conversion
positive and negative numbers
ranges of numbers in n bits
signed & unsigned representation
IEEE 754 - what it is, no details
asccii vs utf-8
bytes, words, dwords
- Defining Storage
how do we address?
number of bits needed to address n bytes of RAM
2x = n
- Moving Data
no memory to memory
includes ptr to ptr
mov [edi], [esi] no - mem to mem
ambiguous size - use ptr
cmp 0, byte ptr[esi] ; disambiguate
cmp al, [esi] ; register (al) disanbiguates
mov does NOT set flags
relationship (al, ah, ax, eax, rax)
ip cs ir
inc (no carry flag)
div (ax, ah, al)
AND, OR, XOR,
clearing bits: AND 0111 1110 will CLEAR first and last bit (zeroes)
setting bits: OR 0000 1111 will SET rightmost 4 bits (ones)
- Setting, using flags, CMP and jumps
test - 'and'
cmp - 'sub'
- LOOP & LABELS
machine code for loop
decrement and loop if > 0
conditional jumps use flags
je, jz => z flag
jb, ja unsigned
jg, jl signed
- Assembly Language programs
How many bytes allocated?
How are they represented?
How are the bytes organized?
- CALL instruction & PROC/ENDP
how it works
- emu8086 Library:
Macro vs. Proc
Call vs inline expansion
print, printn macro
print_num, print_num_uns procedure (AX)
** CAREFUL: ax vs ah and al when printing
scan_num (CX) procedure
READ & WRITE CODE
show bytes in hex
segments that can loop and add numbers
write a procedure
what flags are set
jmp machine code