answersLogoWhite

0


Best Answer

In the 8085 instruction set, 16-bit multiplication is typically performed using the MUL instruction. This instruction multiplies the 8-bit value in the accumulator with the 8-bit value in the specified register pair (BC, DE, HL). The result is a 16-bit product stored in the register pair designated for the operation. The MUL instruction is a complex operation that involves multiple steps, including shifting and adding the partial products to generate the final result.

User Avatar

ProfBot

1w ago
This answer is:
User Avatar
More answers
User Avatar

Wiki User

15y ago

Since the 8080/8085 is an 8 bit computer, 16 bit multiplication must be done in pieces. Its the same concept as doing long hand decimal multiplication on a piece of paper. Problem is, the 8080/8085 does not have an 8 bit multiply instruction either, so you have to do successive addition. Also, since the product of two 16 bit integers could theoretically be a 32 bit result, you have to either limit the values of the input integers or you have to provide for the 32 bit case. Start by initializing a 32 bit accumulator in memory to zero, and by making copies of the two input integers. Setup a loop of 16 iterations. For each iteration, examine a bit of one of the the inputs for 1. If set, add the other input to the result. Then shift the first input one way and the other input the other way. When done, the result will be the product of the two inputs. We shift one input one way so we can examine each bit in turn. We shift the other input the other way because each bit of the first has a higher value as the partial multiplicand. (You could also rotate the result to the right, but you would need to remember to rotate it another 16 bits when done.) That was the case for unsigned integers. For signed integers, you use the normal rules for multiplying numbers. Record the sign of each number, and then convert it into its two's-complement positive value. Perform the multiplication as usual for the unsigned case. Then inspect the recorded signs and, if they are different, take the two's-complement of the result. Don't worry about overflow in either case. It's not possible if you provide for a 32 bit result. If, however, you want to convert the result back to 16 bit form, you have to consider overflow.

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: 16 bit multiplication using 8085 instruction set?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

32 bit multiplication using 8085 instruction set?

The 8085 does not have 32 bit capabilities, nor does it have a multiply, so to do 32 bit multiplication you would need to write a routine. There are several possibilities. One would be to setup a 64 bit result area, and a loop that scans each bit in one multiplicand, adding the second multiplicand to the result, and then shifting the result. This is simply 32 adds with 32 multiplies by two. Even though the 8085 is only an 8 bit processor, some things can be done 16 bits at a time, particularly involving the HL register.


According to word size how many instruction in 8085?

The 8085 is an 8 bit processor, so its word length is 8 bits.


Why the 16 bit 8085 microprocessor is not possible?

The 8085 was replaced with the 8086/8088. As such, there is no 16 bit version of the 8085.


How many total instructions are there in 8085 MP?

there are 74 instruction sets in the 8085 up which consist of 246 bit pattern.


Which instruction consume the maximum T state in its execution?

for 8085 microprocessor CALL [32-bit address] which is (unconditional ) consumes maximum(18) T states.


How many address bits does 8085 have?

The 8085 has a 16 bit address bus.


Why 8085 microprocesseor cannot have more than 256 instruction?

Intel designed the 8085 as a 8 bit computer, with the opcode byte as the first byte of the instruction. As such, there are only 256 possible values for the first opcode byte. (28 = 256) As implemented, Intel provided only 83 different instructions.It is possible, however, in general, that secondary opcode space be usable, so the "8 bit" rule might not necessarily apply, but Intel chose to not implement any of them on the 8085, like they did on the 8086/8088.


How many bits in 8085 microprocessor?

The 8085 is an 8-bit microprocessor. Even though there are some 16-bit registers (BC, DE, HL, SP, PC), with some 16-bit operations that can be performed on them, and a 16-bit address bus, the accumulator (A), the arithmetic logic unit (ALU), and the data bus are 8-bits in size, making the 8085 an 8-bit computer.


Why call instruction in 8085 microprocessor have 18 state and how its operate?

The CALL InstructionOpcode OperandCALL 16-bit memory addressof a subroutineIt is a 3-byte instruction that transfers the program sequence to a subroutineSaves the content of the PC (Program Counter-16-bit register) , the address of the next instruction , on the stackDecrements the stack pointer register by 2Jumps unconditionally to the memory location specified by the 2nd and 3rd bytes.This instruction is accompanied by a RETURN instruction in the subroutine


What is the Overview of 8085 microprocessor?

8085 is a 8 bit microprocessor designed by Intel Co.


What is a 8085 microprocessor?

with neat diagram explain the system bus structure of 8085


Why all the 16 address lines are not act as a data lines in 8085 microprocessor?

the 8085 microprocessor is a 8-bit microprocessor and these are bidirectional but the address lines are unidirectional.these address lines are used to address the location of the instruction in memory .these data lines are used to transfer data between processor and peripheral devices. when the address of the instruction will be recognized by the address lines the data will be send to the processor therefore the 16 address lines are not act as a data lines in 8085