9/23/13 Chapter 1
Software must be efficient because using cheap processors
C is the predominant language of choice for embedded designs
Chapter 2
Base R to Base 10, you use polynomial evaluation
For fractional values, multiply by the opposite of the

10/30/13
When you write a loop, there are 2 branch instructions
What can go in square brackets:
[R1] address is R1
[R1,#100] address is R1 +100
[R2,R2] address is R1 + R2
[R1,R2,LSL#2] address is R1 + 4* R2
What you CANT put in square brackets:
[a,b,LSL#2

9/30/13
Chapter 3: Implementing Arithmetic
int a, b, c;
a = b*c;
doesnt matter if signed or unsigned because you throw away the most significant half of
the product
10/4/13
Use method 1 for multiplying 2s compliment by hand
1100.0110 -> ?
Method 1:
1100.0

10/21/13
Pointers are always 32 bits because they are addresses
stack, data and code are set aside in memory
there is a special register, SP, that is for dealing with the stack
stack grows in a negative direction, push and pop are unordered lists, doesnt

9/27/13
Base R -> Base 10:
Use Polynomial Evaluation
Base 10 -> Base R:
Whole Part: Rep Div
Fractional Part: Rep Mult
Base R -> Base R Where R = R
1
2
2
1
k
Ex:
1) Base 2 -> Base 16
Form groups of 4 bits
2) Base 8 -> Base 2
Replace each base 8 digit by 3

Ch. 3 (continued)
C Syntax
12
012
0x12
Interpretation
12
12
12
10
8
16
+ is a dyadic operator, dyadic means it uses 2 thingies
you can use any dyadic operator to create a new expression
XOR is exactly like OR, except it excludes the last case
Left shift a