Wednesday 28 September 2011

16-BIT DIVISION


16-BIT DIVISION
AIM:
To write an ALP for division of two 16-bit Numbers.
APPARATUS REQUIRED:
                                    8085 kit, power chord
ALGORITHM:
1.      Start the program
2.      Load the dividend in HL register pair.
3.      Load the divisor in BE register pair.
4.      Move the content of L register to A register.
5.      Subtract C register.
6.      Move the content of A register to L register.
7.      Move the content of H register to A register.
8.      Subtract A with borrow.
9.      Check for carry and increment the HL register pair.
10. Add B with A and carry.
11. Exchange HL with DE register pair.
12. Store the result in HL register pair.
13. Stop the process.
PROGRAM:
Address
Label
Opcode
Mnemonic
Operand
Comments
4200

21,3B,AF
LXI
H,AF3B
Load the dividend
4203

01,CB,3A
LXI
B,3ACB
Load the divisor
4206

11,00,00
LXI
D,0000
Clear the DE reg pair
4209
NEXT
7D
MOV
A,L
Move the content of L register to A register
420A

91
SUB
C
Subtract C register
420B

6F
MOV
L,A
Move the content of A register to L register
420C

7C
MOV
A,H
Move the content of H register to A register
420D

98
SBB
B
Subtract A with Borrow.
420E

67
MOV
H,A
Move the content of A register to H register
420F

DA,16,42
JC
OVER
Check for carry
4212

13
INX
D
If no carry, increment the DE register pair.
4213

C3,09,42
JMP
NEXT
Jump to the specified address.
4216
OVER
7D
MOV
A,L
Move the content of L register to A register
4217

81
ADD
C
Add the content of C register with A
4218

6F
MOV
L,A
Move the content of A register to L register
4219

7C
MOV
A,H
Move the content of H register to A register
421A

88
ADC
B
Add the content of B with A and carry.
421B

67
MOV
H,A
Move the content of A register to H register
421C

22,00,45
SHLD
4500
Store the result in HL reg pair.
421F

EB
XCHG

Exchange HL pair with DE pair
4220

22,02,42
SHLD
4502
Store the result in HL reg pair
4223

76
HLT

Stop the process.

INPUT:                                                                           OUTPUT:
AF3B (IN HL PAIR)                                                        4500: A5
                                                                                          4501: 39 
3ACB (IN BC PAIR)                                                        4502: 02
                                                                                          4503: 00
RESULT:
Thus the assembly language program for 16-bit Division is executed and the results are verified

0 comments:

Post a Comment