1. secure directory: http://www.ece.uah.edu/~milenka/cpe323-09S/scr user:pass/cpe323-09S:msp-s09 2. mailing list: cpe323@eng.uah.edu 3. lab 1: fixed point 8 bits, divide into 5 for whole numbers, and last 3 bits for fractions w/ powers of 2 00000.101 == 101/2^3 = 5/8 = 0.625 max value for unsigned is 31.875 floating point IEEE 754 defines single, double, and extended double precision (32,64,80 bit) we don't use FP in microcontrollers, no HW support, b/c expensive packed bcd: 2 digits packed into a single byte unpacked: 1 digit per byte only using the lower nibble class of ISA stack machine: push A, push B, ADD accumulator: LDA A, ADD B (load A into accumulator, add B to accumulator) general purpose arch: set of registers, feeding into ALU, and saving to an other register: ADD A, B, C memory linear array locations byte addressable values stored as little endian or bit endian little endian: least sig byte first bit endian: most sig byte first data types and sizes instruction set data transfer load store move exchange etc arithmetic instructions add subtraction multiplication division compare logic and or xor not nor shift left right circular right FP same as arith control flow conditional branch unconditional branch (direct and indirect) operands can be part of instructions, in a register, or in memory addressing modes immediate (part of instruction) add #3,R2 register (in register) add R1,R2 register indirect (in memory) add (R1),R2 memory direct aka absolute (memory immediate?) add 0xFF00,R2 register indirect w/ displacement: add 0x08(R1),R2 encoding opcode:address specifier for source op:address specifier for src/dst op: