EE 319K�Introduction to Embedded Systems
Lecture 6b:�Exam 1 Review
Bard, Erez, Gerstlauer, Valvano, Holt, Yerraballi, Telang, Cuevas, Tiwari
6-1
Agenda
Bard, Erez, Gerstlauer, Valvano, Holt, Yerraballi, Telang, Cuevas, Tiwari
6-2
Exam 1 What to study?
Bard, Erez, Gerstlauer, Valvano, Holt, Yerraballi, Telang, Cuevas, Tiwari
Do at least one to install LM3S pack
6-3
Exam 1 Process
Bard, Erez, Gerstlauer, Valvano, Holt, Yerraballi, Telang, Cuevas, Tiwari
6-4
Memory Access
What do the following instructions do?
LDRH R1,[R2]
LDRH R1,[R2,#2]
LDRH R1,[R2],#2
LDRH R1,[R2,#2]!
What is the difference?
LDR R0,=100
MOV R0,#100
6-5
AAPCS, Registers and stack
Fun1 PUSH {R4,LR}
BL Fun2
POP {R4,PC}
Fun3 PUSH {R4-R11}
;stuff using R4-R11
POP {R4-R11}
BX LR
6-6
Arithmetic, logical, shift
ADD
SUB
SUBS
MUL
SDIV
UDIV
LSL
LSR
ASR
AND
ANDS
ORR
BIC
EOR
How do you tell what operands are possible?
ADD R0,R1,#3
AND R0,R1,#3
MUL R0,R1,#3
UDIV R0,R1,#3
LSL R0,R1,#3
6-7
Control Operations
CMP R0,#0
Bxx Target
CMP R0,#0
Bxx Yes
No ;not true
;
B done
Yes ;true
;
done
loop
;body
CMP R0,#0
Bxx loop
loop CMP R0,#0
Bxx done
;body
B loop
done
BEQ
BNE
BLO
BLS
BHI
BHS
BEQ
BNE
BLT
BLE
BGT
BGE
6-8
Special cases
ANDS R0,#4
BEQ Target
ANDS R0,#4
BNE Target
loop
;stuff
SUBS R0,#1
BNE loop
6-9
Arrays
0 ≤ I < Size
Base+n*I
6-10
Examples
Bard, Erez, Gerstlauer, Valvano, Holt, Yerraballi, Telang, Cuevas, Tiwari
6-11
Strategies
Bard, Erez, Gerstlauer, Valvano, Holt, Yerraballi, Telang, Cuevas, Tiwari
6-12