micro-controller motorola hcs12 addressing modes mechatronics department faculty of engineering ain...
TRANSCRIPT
MICRO-CONTROLLER MOTOROLA HCS12Addressing Modes
Mechatronics
Department
Faculty of EngineeringAin Shams Univeristy
HCS12 Addressing Modes
HCS12 instruction set can be categorized according to the type of operand used for every instruction.
Immediate Addressing. Direct/Extended Addressing. Indexed Addressing. Inherent Addressing. Relative Addressing.
HCS12 Programmer’s model Accumulator (Operand Register). Index Registers X&Y (Keeps
addresses for specific instructions using addresses as operands).
Stack Pointer (Keeps track of program stack in the Ram).
Program Counter (Keeps track of the program script).
A B
X
Y
SP
PC
$ 5000
$ 5001 Op-Code
$ 5002 Operand
$ 5003
$ 5004
$ 5005
Instruction Set Example
ldaa#$64; ldaa#$6464; Operand
Immediate Addressing ldaa#$64;
# = Immediate
A B
X
Y
SP
PC
#$64
Direct Addressing ldaa$64;
No sign= Direct Addressing
A B
X
Y
SP
PC
$ 0063 ……
$ 0064 $FF
$ 0065 ……
$64
$FF
Extended Addressing ldd $1234;
2 bytes operand= Extended Addressing
D
X
Y
SP
PC
$ 1233 ……
$ 1234 $FF
$ 1235 $FF
$1234
$FF$FF
Indexed Addressing ldaa!1,x;
Use index register X, Y, SP or PC
A B
X $0064
Y
SP
PC
$ 0064 ……
$ 0065 $FF
$ 0066 ……
$0064
$FF
+1
$0065
Indexed Pre-decrement Addressing
ldaa!1,-x;
Use sign before index register X, Y, SP or PC
A B
X $0065
Y
SP
PC
$ 0064 $FF
$ 0065 ……
$ 0066 ……
$0064
$FF
-1
$0065$0064
Indexed Post-increment Addressing
ldaa!1,x+;
Use sign after index register X, Y, SP or PC
A B
X $0064
Y
SP
PC
$ 0064 $FF
$ 0065 ……
$ 0066 ……
$0064
$FF
+1
$0065$0064
Indexed Indirect Addressing ldaa[!1,x];
Use [ ] with index register X, Y, SP or PC
A B
X $0064
Y
SP
PC
$ 0064 ……
$ 0065 $00
$ 0066 $67
$ 0067 $FF
$0064
$FF
+1
$0065 $006
7$0067
Eng. Mohamed Mahmoud Hamdy
Eng. Mostafa Ahmed Arafa
Prepared by: