Hardware Reference
In-Depth Information
Program memory
address bus
75
20
00
75
21
14
90
20
00
0x0006
CPU
E0
54
03
70
02
05
20
D5
21
0A
Before read
0x90
0x0006
Program memory
data bus
PC
After read
0x0007
PC
Figure 1.7 Instruction 3-opcode read cycle
Step 3
The control unit recognizes that this instruction requires two more read cycles
to the program memory to fetch the 16-bit value to be placed in the ptr register.
These 2 bytes are stored immediately after the opcode byte. The control unit
continues to perform two more read cycles to the program memory. At the end of
each read cycle, the processor X stores the received byte in the ptr register upper
and lower bytes, respectively. After these two read operations, the PC is incremented
to 0x0009.
Instruction ld A,@ptr (machine code E0)
Step 1
The value in the PC (0x0009) is placed on the program memory address bus with a request
to read the contents of that location.
Step 2
The 8-bit value at the location 0x0009 is the instruction opcode 0xE0. At the end of
this read cycle, the PC is incremented to 0x000A. The opcode byte 0xE0 is fetched.
Step 3
The control unit recognizes that the current instruction requires performing a read
operation to the data memory with the address specified by the ptr register. The processor
places the 16-bit value of the ptr register on the data memory address bus and indicates
this is a read operation.
 
Search WWH ::




Custom Search