The CPU12 Microprocessor Core Lecture L2.1
Reference S12CPUV2 Reference Manual S12CPUV2.pdf (in .zip file) Print out Appendix A – Instruction Reference It will answer all questions concerning HCS12 instructions and addressing modes
Introducing the CPU12 The CPU12 Registers CPU12 Addressing Modes CPU12 Instructions
The 68HC12 Registers
Condition Code Register
The 68HC12 Accumulators A c c u m u l a t o r A A B A c c u m u l a t D D
Index Registers, X and Y I n d e x r e g i s t e r X X I n d e x r e g
S t a c k P o i n t e r S P Stack Pointer, SP
Introducing the CPU12 The CPU12 Registers CPU12 Addressing Modes CPU12 Instructions
Pre-decrement indexed addressing
Using X as a stack pointer for a data stack LDY 2,X+ will pop $1234 into Y
MOVW 0,X,2,-X
LDD 0,X MOVW 2,X,0,X STD 2,X
MOVW 2,X,2,-X
Introducing the CPU12 The CPU12 Registers CPU12 Addressing Modes CPU12 Instructions
Load Accumulator A 1: ; LDAA Addressing Modes 2: =00004000 ORG $4000 5: 4004 B6 5678 LDAA $5678 6: 4007 A6 03 LDAA 3,X 7: 4009 A6 E9 38 LDAA -200,Y 8: 400C A6 F2 1234 LDAA $1234,SP 9: 4010 A6 E7 LDAA [D,X] 10: 4012 A6 EB 2345 LDAA [$2345,Y]
1: ; LDAA Addressing Modes 2: =00004000 ORG $4000 3: 4000 86 35 LDAA #$35 4: 4002 96 A3 LDAA $A3 5: 4004 B6 5678 LDAA $5678 6: 4007 A6 03 LDAA 3,X 7: 4009 A6 E9 38 LDAA -200,Y 8: 400C A6 F2 1234 LDAA $1234,SP 9: 4010 A6 E7 LDAA [D,X] 10: 4012 A6 EB 2345 LDAA [$2345,Y] 200 = $C8 = 11001000 9-bit = 011001000 2’s comp = 100111000 = $138 11101001 = $E9
11110010 = $F2 1: ; LDAA Addressing Modes 2: =00004000 ORG $4000 4: 4002 96 A3 LDAA $A3 5: 4004 B6 5678 LDAA $5678 6: 4007 A6 03 LDAA 3,X 7: 4009 A6 E9 38 LDAA -200,Y 8: 400C A6 F2 1234 LDAA $1234,SP 9: 4010 A6 E7 LDAA [D,X] 10: 4012 A6 EB 2345 LDAA [$2345,Y] 11110010 = $F2
11100111 = $E7 1: ; LDAA Addressing Modes 2: =00004000 ORG $4000 4: 4002 96 A3 LDAA $A3 5: 4004 B6 5678 LDAA $5678 6: 4007 A6 03 LDAA 3,X 7: 4009 A6 E9 38 LDAA -200,Y 8: 400C A6 F2 1234 LDAA $1234,SP 9: 4010 A6 E7 LDAA [D,X] 10: 4012 A6 EB 2345 LDAA [$2345,Y] 11100111 = $E7
11101011 = $EB 1: ; LDAA Addressing Modes 2: =00004000 ORG $4000 4: 4002 96 A3 LDAA $A3 5: 4004 B6 5678 LDAA $5678 6: 4007 A6 03 LDAA 3,X 7: 4009 A6 E9 38 LDAA -200,Y 8: 400C A6 F2 1234 LDAA $1234,SP 9: 4010 A6 E7 LDAA [D,X] 10: 4012 A6 EB 2345 LDAA [$2345,Y] 11101011 = $EB