You are asked to write a microprogram (similar to the one shown on the micro-arc
ID: 3925600 • Letter: Y
Question
You are asked to write a microprogram (similar to the one shown on the micro-architecture handout) to realize multiplying two 7-bit binary numbers (assume they are positive numbers) that are already stored in register A and B, and store the results in registers C and D. You are limited to the capability of the micro-architecture handout (assume 8-bit machine, all registers, and ALU being 8-bit, and shifter DOES NOT have left_out or right_out).
Your commented multiplication microprogram must be typed, and followed by the following two input examples (for A and B) and the multiplication results (C and D).
A := 1101011 B := 1000001
A := 1010101 B := 1001100
At each step(line) of your micro-code, the values of the all the registers that you have used must be clearly presented.
You are can use any of the 16 provided registers in the micro-architecture handout (if needed).
Please explain each process and what each step does.
Explanation / Answer
LXI H, 2400 ; memory pointer initializing
MOV E, M ; multiplicand
MVI D, 00H
INX H ; memory pointer incrementing by 1
MOV A, M ; reading multiplier value
LXI H, 0000 ; Initializing result as 0
MVI B, 07H ; total bits 7
MULT: DAD H ; performing multiplication
RAL
JNC SKIP ; if carry found then jump
DAD D ; storing sum of both product and multiplicand
SKIP: DCR B ; until counter is zero..
JNZ MULT
SHLD 2500H ; Storing result
HLT ; Exit
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.