.  253 f18  . 
✎ Reference
⇒ Review M, 12/03/18 & W, 12/05/18
⇒ Code Day F, 12/07/18
⇒ CFUNCS due F, 12/07/18, d2l, 10pm
⇒ Final Exam W, 12/12/18 @ 10:00am-11:50am
⇒ BINARY due W, 12/12/18, d2l, 10pm
Projects
0.WORKSHEET     1. MICROSIM-1   2. MICROSIM-2     3. EMU-EZ     4.FIBBY     5.CALC     6.MAZE     7.CFUNCS     8.BINARY   |   readability   |   reference
Download MicroSim 5.0     Using Microsim     Online Manual     First Program     Architecture: 256 BYTES of RAM
emu tutorials       emu help       emu instructions · intel instructions       emu8086.inc library · (source code)          
27RP1VRNDU1N8QXFRTQZXJKA   - use any name   fizzbuzz
42 class calendar
 wk   1         2          3          4         5          6          7          8          9          10         11         12         13         14        15
 27 29 31 | -- 05 07 | 10 12 14 | 17 19 21 | 24 26 28 | 01 03 -- | 08 10 12 | 15 17 19 | 22 24 26 | 29 31 02 | 05 07 09 | 12 14 16 | 19 20 -- | 26 28 30 | 03 05 07            
 01 02 03   xx 04 05   06 07 08   09 10 11   12 13 14   15 16 xx   17 18 19   20 21 22   23 24 25   26 27 28   29 30 31   32 33 34   35 36 xx   37 38 39   40 41 42
 
Part I
a.   Class Intro, HW and Program Execution
- syllabus(pdf)/addendum(pdf), - faq: grades, honesty, readable code, submit assignments, CAP, software - If you miss class, it is YOUR responsibility to get missed material - I will take attendance - QUIZZES - YOU will be doing code like this: ASM Code and Mixed C++ and ASM Code - Day One Quiz (C#) - About HW: where programs execute - emu Hardware - microsim: hardware - Bits, Bytes and Nybbles
b.   Number Bases: Unsigned Numbers in Base 2,8,10, 16
        - Code In Paint 
        - Base 2,8,10,16 and Unsigned Integers        
        - emu: number systems 
        - formula for n-bit unsigned binary number
            range: low to high, 0 to 2n - 1
      
c.   Signed Integers and IEEE 754 Floating Point
        sign-magnitude 
        one's complement
        Representing Signed Integers in "two's complement" notation 
        formula for n-bit number range
        Representing Floating Point Numbers
      
d.   Character Data: ASCII, Unicode and UTF
u.   MicroControllers & Microsim
e.   Using emu8086
f.   Instruction Codes, List Files
g.   Organization of CPU Registers and Memory
store and move data & information DB, DW, MOV, endian emu CODE with library procs and macros list file * put into emu8096 emulator * examine list file
h.   Assembly Language Intro: basic instructions, flags
assembly language intro arithmetic and logic instructions what is assembly & why the asembly process mov flags (C Z S O) add, sub,cmp, and, test, or, xor mul, imul, div, idiv inc, dec, not, neg truth tables XCHG, AND, OR, XOR, NOT Masks: (and, or, set, clear) & Architecture and, or / clear, set masks xor encrypt, decrypt, clear fast
i.   Flags, Compares, Jumps and Loops: Flow Control / Overflow!
loop review flags flow control: jmps overflow cmp jump masks see if set? jz jnz flags not set by mov emu debugger jz with ret label loop jmp
j.   Procedure Calls, Stack and Macros
Procedures Stacks emu: procedures emu: the stack MACRO simply expanded inline CALL IP points to NEXT instruction past Call IP Pushed on stack IP adjusted by offset which is included in instruction Execute Proc Ret pops stack into IP Isolate functionality Save and restore registers unless returning value pusha, popa
k.   Addressing Modes
16 bits => 1MB ?? magic? ea (effective address) = Segment x 16 + IP cs = 0700, ip = 010f ea = 07000 +010f 0710f there are 16 64k segments in the 1 megabyte address space of the 8086, emu: mov & memory access
  ∴   Test1 - Mid Term Exam: M() & W()
TEST 1 Review Create a CAP List Files Endian
Part II
l.   Pointers and Arrays
m.   Maze Intro
Maze assignment symbol table ptr lea labels location counter
n.   Looping thru an Array of Bytes and Printing: Maze
maze intro maze loop drawMaze (local) cmp - sets zero flag jz, je jnz, nje pusha, popa asm in visual studio 2012
o.   Interrupts to Read and Write
interrupts read int 16h, ah=0 write int 10h ah= 9 or 0ah int 21h putc call print 8086 interrupt list
p.   DIV, MUL Use Multiple Registers | Magic?
q.   Mixed Code Intro
r.   Mixed Code: C++ and ASM
s.   Mixed C with ASM
t.   emu8086 MicroController: Devices
v.   Architecture I, II, III
  ∴   Test 2 - Final Exam: Wednesdy at 8am and 10am
Student is responsible for notes, readings and classroom discussions.   Notes may be changed, emphasized, re-ordered or skipped over.


  SOFTWARE DOWNLOADS:   (all free)

1. emu8086 (free download: get license code from wyatt)

2. Visual Studio Express 2015 Community

3. microsim v5.0 (free download: get license code from wyatt)
TEXT(S) & READINGS:  

1. "Code" by Charles Petzold, Microsoft Press, 2000.   [required]
    (amazon)   ·   (bookstore)
2. On-line readings from emu8086: (free) [required]
      assembly tutorials       emu8086 reference       emu8086.inc library       emu8086 BUGS
      library source code       8086 instruction set       8086 interrupt list
      emu: about assembly language       using emu8086       emu8086 sample code
3. On-line readings from Microsim V5.0: (free) [required]
     Online Manual     Architecture: 256 bytes RAM     Using the Simulator
4. Software Developer Manuals from Intel [reference]
    Intel 80386 Reference Programmer's Manual   -   Intel micro-architecture