- 2078 Kartik · 4 marks
Symbolic microprogram for fetch and add routines
Short answer
Fetch: AR←PC; DR←M[AR]&PC←PC+1; AR←DR(addr)&MAP. ADD: if I=1 CALL INDRCT; DR←M[AR]; AC←AC+DR&JMP FETCH. Indirect subroutine (INDRCT): DR←M[AR]; AR←DR(addr)&RET.
Write down the symbolic microprogram for fetch routine and addition execute routine.
A microprogram is written in symbolic form using the microinstruction fields (microoperations, condition CD, branch BR and address AD). The fetch routine starts at address 64 and the ADD routine at 0. Notation: AR = address register, DR = data register, PC = program counter.
ORG 0
ADD: NOP I CALL INDRCT ; handle indirect address
READ U JMP NEXT ; DR <- M[AR]
ADD U JMP FETCH ; AC <- AC + DR
ORG 64
FETCH: PCTAR U JMP NEXT ; AR <- PC
READ, INCPC U JMP NEXT ; DR <- M[AR], PC <- PC + 1
DRTAR U MAP ; AR <- DR(0-10), go to routine
INDRCT: READ U JMP NEXT ; DR <- M[AR]
DRTAR U RET ; AR <- DR(0-10), return
Fetch needs three microinstructions. The ADD routine executes three microinstructions; if the instruction is indirect, the CALL to INDRCT adds two more (READ and DRTAR of the indirect routine), making five. It then jumps back to FETCH.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Microinstruction format and fetch microprogram · Computer Organization and Architecture, chapter 3 · asked 2×
- Microinstruction format and microprogram design · Computer Organization and Architecture, chapter 3
- 8255A at B0H: add port A and B, show on port C · Instrumentation II, chapter 2
- Matrix addition by overloading + · Object Oriented Programming, chapter 5
- Polynomial representation and addition algorithm · Data Structure and Algorithm, chapter 4
All Computer Organization and Architecture chapter 3 questions →