Skip to main content

Machine cycles involved in LDA

Short answer

LDA C030H has four machine cycles and 13 T-states: opcode fetch at C050H, then memory reads at C051H, C052H, and C030H to get low address, high address, and data. The accumulator gets the byte from C030H and PC becomes C053H.

Write the various machine cycles involved in LDA C030 stored at C050. (Similar: various machine cycles involved in LDA 8050H instruction stored at memory location 8020H.)

LDA C030H (opcode 3AH) loads the accumulator with the byte at address C030H. It is a 3-byte instruction stored at C050H (3AH), C051H (30H), C052H (C0H). It has four machine cycles and 13 T-states.

Machine cycleTypeAddressOperationT-states
M1Opcode fetchC050HRead opcode 3AH into IR, decode4
M2Memory readC051HRead low-order address byte 30H into Z3
M3Memory readC052HRead high-order address byte C0H into W3
M4Memory readC030H (WZ)Read data from C030H into A3

Total = 4 + 3 + 3 + 3 = 13 T-states. PC = C053H after the instruction.

Bus status for each cycle:

M-cycleTA15-A8AD7-AD0ALEControlIO/M S1 S0
M1 (opcode fetch, 4T)T1C0H50H (PCL)1-0 1 1
T2C0HHi-Z (bus floats)0RD low0 1 1
T3C0H3AH (opcode in)0RD low, rises at end0 1 1
T4--0none (decode)0 1 1
M2 (memory read, 3T)T1C0H51H1-0 1 0
T2C0HHi-Z (bus floats)0RD low0 1 0
T3C0H30H (data in)0RD low, rises at end0 1 0
M3 (memory read, 3T)T1C0H52H1-0 1 0
T2C0HHi-Z (bus floats)0RD low0 1 0
T3C0HC0H (data in)0RD low, rises at end0 1 0
M4 (memory read, 3T)T1C0H30H1-0 1 0
T2C0HHi-Z (bus floats)0RD low0 1 0
T3C0Hdata (data in)0RD low, rises at end0 1 0

The first three cycles are the fetch of the instruction (opcode and operand address); the fourth cycle is the execution (reading the data byte).

✓ Answer checked by Claude Opus 5.5 (high effort)

All Microprocessor chapter 2 questions →