Professional Documents
Culture Documents
S0 S1
S0 and S1 are status signal which provides different status and functions.
RD
1.
2.
WR
1.
2.
HOLD
1.
This indicates if any other device is requesting the use of address and data bus.
HLDA
1.
2.
INTR
1.
2.
INTA
1.
2.
RESET IN
1.
This pin resets the program counter to 0 to 1 and results interrupt enable and
HLDA flip flops.
X1, X2
These are the terminals which are connected to external oscillator to produce the
necessary and suitable clock operation.
SID
This pin provides serial input data
SOD
This pin provides serial output data
VCC and VSS
1.
VCC is +5V supply pin
2.
VSS is ground pin
Specifications
1. Processors
Intel 8085 at E144 MHz clock
2. Memory
Monitor RAM:
0000 IFFF
EPROM Expansion: 2000 3FFFs
0000 FFF
System RAM:
4000 5FFF
Monitor data area
4100 5FFF
RAM Expansion
6000 BFFF
3. Input / Output
Parallel: A8 TTL input timer with 2 number of 32-55 only input timer available in -85 EBI.
Serial: Only one number RS 232-C, Compatible, crucial interface using 8281A
Timer: 3 channel -16 bit programmable units, using 8253 channel 0 used for no band late.
Clock generator. Channel 1 is used for single stopping used program.
Display: 6 digit 7 segment LED display with filter 4 digit for adder display and 2 digit for
data display.
Key board: 21 keys, soft keyboard including common keys and hexa decimal keys.
RES: Reset keys allow to terminate any present activity and retain to - 85 its on initialize
state.
:
:
:
:
:
:
:
:
:
:
:
:
11
No
Check for
carry?
Yes
Increment carry by one
Store the added value in accumulator
Move the contents of carry into accumulator
END
12
Address
4100
4102
4105
Mnemonics
MVI C,00
LDA 4300
MOV, B,A
Hex Code
OE, 00
3A, (00, 43)
47
4106
LDA 4301
4109
410A
410D
ADD B
JNC
INR C
80
D2, 0E, 41
OC
STA 4302
32 (02, 43)
4111
MOV A,C
79
4112
STA 4303
32 (03, 43)
4115
HLT
76
410E
Label
Loop
Comments
Initialize the carry as zero
Load the first 8 bit data
Copy the value of 8 bit data
into register B
Load the second 8 bit data
into the accumulator
Add the hoo values
Jump on if no carry
If carry is there increment it
by one
Stone the added value in the
accumulator
More the value of carry to
the
accumulator
from
register C
Store the value of carry in
the accumulator
Stop the program execution
Input
Without carry
Input Address
4300
4301
Value
04
02
Output Address
4302
4303
Value
06
00 (carry)
Input Address
4300
4301
Value
FF
FF
Output Address
4302
4303
Value
FE
01 (carry)
Output
With carry
Calculation
(1)
1111 1111
1111 1111
--------------1111 1110
=========
F
E
Result:
The assembly language program for 8 bit addition of two numbers was executed
successfully by using 8085 micro processing kit.
13
:
:
:
:
:
:
:
:
:
:
:
:
:
14
START
No
Check for
carry?
Yes
Increment carry by one
1s compliment of 2nd value
Add 1 to 1s compliment for 2s compliment
Store the value of result in accumulator
Move the carry into the accumulator
Store the value of carry in accumulator
END
15
Address
4100
4102
Label
Mnemonics
MVI C,00
LDA 4300
Hex Code
OE, 00
3A, (00, 43)
MOV, B,A
LDA 4301
47
3A, (01, 43)
SUB B
INC
INR C
90
D2, 0E, 41
OC
CMA
ADI, 01
2F
6, 01
4111
4114
STA 4302
MOV A,C
32,02,43
79
4115
4118
STA 4303
HLT
32,03,43
76
4105
4106
4109
410A
410D
410E
410F
Loop
Loop
Comments
Initialize the carry as zero
Load the first 8 bit data into the
accumulator
Copy the value into register B
Load the 2nd 8 bit data into the
accumulator
Subtract both the values
Jump on if no borrow
If borrow is there, increment it by
one
Compliment of 2nd data
Add one to 1s compliment of 2nd
data
Store the result in accumulator
Moul the value of borrow into the
accumulator
Store the result in accumulator
Stop Program execution
Input
Without borrow
Input Address
4300
4301
Value
05
07
Output Address
4302
4303
Value
02
00 (borrow)
Input Address
4300
4301
Value
07
05
Output Address
4302
4303
Value
02
01 (borrow)
Output
Calculation
CMA
ADJ 0.1
05 -
05 07
07 0111
1000
0001
-----1001
0101
-----1110 (-2)
16
Result:
The assembly language program subtraction of two 8 bit numbers was executed
successfully by using 8085 micro processing kit.
17
:
:
:
:
:
:
:
:
:
:
:
Step 12
Step 13
Step 14
:
:
:
26
START
No
Check for
carry?
Yes
Increment carry
Decrement 2nd number
No
2nd Number
Yes
Store the value f carry in accumulator
END
27
Address
4100
4103
Label
Mnemonics
LDA 4500
MOV B,A
Hex Code
3A, 00, 45
47
4104
4107
LDA 4501
MOV C,A
3A, 01, 45
4F
4108
MVI A, 00
3E, 00
410A
410C
MVI D, 00
ADD B
16, 00
80
410D
4110
4111
4112
4115
INC
INR D
DCR C
JNZ
STA 4502
D2 11, 41
14
OD
C2 0C, 41
32 02, 45
4118
MOV A,D
7A
4119
STA 4503
32,03,45
411C
HLT
76
Comments
Load the first 8 bit number
Move the 1st 8 bit data to
register B
Load the 2nd 16 it number
Move the 2nd 8 bit data to
register C
Intialise the accumulator as
zero
Intialise the carry as zero
Add the contents of B and
accumulator
Jump if no carry
Increment carry if there is
Decrement the value C
Jump if number zero
Store
the
result
in
accumulator
Move the carry into
accumulator
Store
the
result
in
accumulator
Stop the program execution
Input
Input Address
4500
4501
Value
04
02
Output Address
4502
4503
Value
08
00
Output
Result:
The assembly language program for multiplication of two 8 bit numbers was executed
using 8085 micro processing kit.
28
:
:
:
:
:
:
:
:
:
:
:
:
:
:
29
START
No
Check for
carry?
Increment carry
Decrement 2nd number
Dividend
Yes
Store the Quotient in accumulator
Move the remainder to accumulator
Store the remainder in accumulator
END
30
Address
4100
4102
4105
Label
Mnemonics
MVI C, 00
LDA, 4500
MOV B,A
Hex Code
0E, 00
3A 00, 45
47
LDA, 4501
CMP B
JC (LDP)
3A 01, 45
B8
DA 12,41
SUB B
90
INR C
JMP (LDP, 41)
0C
C3, 0D, 41
STA 4502
32 02,45
4115
MOV A,C
79
4116
STA 4503
32 03,45
4119
HLT
76
4106
4109
410A
410D
Loop 2
410E
410F
4112
Loop 1
Input
Input Address
4500
4501
Value
09
02
Output Address
4502
4503
Value
04 (quotient)
01 (reminder)
Output
Quotient
Carry
1001
0010 I
-----0111
0010 II
-----0101
0010 III
-----0011
0010 IV
-----0001 carry
- 04
- 01
31
Comments
Intialise Quotient as zero
Get the 1st data
Copy the 1st data into
register B
Get the 2nd data
Compare the 2 values
Jump if dividend lesser than
divisor
Subtract the 1st value by 2nd
value
Increment Quotient (410D)
Jump to Loop 1 till the value
of dividend becomes zero
Store
the
value
in
accumulator
Move the value of remainder
to accumulator
Store the remainder value in
accumulator
Stop the program execution
Result:
The assembly language program for division of two 8 bit numbers was executed using
8085 micro processing kit.
32
:
:
Step 3
Step 4
Step 5
Step 6
Step 7
Step 8
:
:
:
:
:
:
Step 9
Step 10
Step 11
Step 12
:
:
:
:
33
START
Compare
the datas
A<M
No
Yes
C=0?
No
Yes
Decrement register B
No
B=0?
END
34
Address
4100
4103
4104
4105
4108
4109
410A
410B
410C
410D
Mnemonics
LDA 4500
MOV B,A
DCR B
LXI H, 4500
MOV C,M
DCR C
INX H
MOV A,M
INX H
CMP M
Hex Code
3A, 00,45
47
05
21, 00,45
4E
0D
23
7E
23
BE
410E
JC
DA, 16, 41
4111
MOV D,M
56
4112
4113
MOV M,A
DCX H
77
2B
4114
MOV M,D
72
INX H
DCR C
JNZ Loop 1
DCR B
JNZ Loop 2
HLT
23
0D
C2, 0B, 41
05
C2, 05, 41
76
4115
4116
4117
411A
411B
411E
Label
Loop 3
Loop 2
Loop 1
Comments
Load the number of values
Move it B register
For (N-1) comparisons
Set the pointer for array
Count for (N-1) comparisons
For (N-1) comparisons
Increment pointer
Get one data in array A
Increment pointer
Compare
next
with
accumulator
If content less memory go
ahead
If it is greater than
interchange it
Memory content
Exchange the content of
memory pointed by HL by
previous location
One in by HL and previous
location
Increment pointer
Decrement C register
Repeat until C is zero
Decrement in B values
Repeat till B is zero
Stop the program execution
Input
Input Address
4500
4501
4502
4503
4504
Value
04
AB
BC
01
0A
Output Address
4500
4501
4502
4503
4504
Value
04
01
0A
AB
BC
Result:
The assembly language program for sorting numbers in ascending order was executed
by microprocessor kit.
35
:
:
Step 3
Step 4
:
:
Step 5
Step 6
Step 7
Step 8
:
:
:
:
Step 9
Step 10
Step 11
Step 12
36
START
A<M
No
Exchange the contents
C=0?
Decrement register C
Yes
Decrement register C
Decrement
No
B=0?
No
END
Yes
37
Address
4100
Mnemonics
LDA 4500
Hex Code
3A, 00,45
MOV B,A
DCR B
LXI H, 4500
MOV C,M
DCR C
INX H
MOV A,M
INX H
CMP M
ICE, Loop 1
47
05
21, 00,45
4E
0D
23
7E
23
BE
D2, 16,41
4111
MOV D,M
56
4112
MOV M,A
77
4113
4114
DCX H
MOV M,D
2B
72
4115
4116
4117
411A
411B
INX H
DCR C
JNZ Loop 2
DCR B
JNZ Loop 3
23
0D
C2, 0B, 41
05
C2, 05, 41
HLT
76
4103
4104
4105
4108
4109
410A
410B
410C
410D
410E
Label
Loop 3
Loop 2
Loop 1
411E
Comments
Load the number of values
in accumulator
Move it to B register
For (N-1) comparisons
Set the pointer for array
Count for (N-1) comparisons
For (N-1) comparisons
Increment pointer
Get one data from array
Increment pointer
Compare next with number
If content A is greater than
content of HL pair
If it is greater than
interchange the datas
Accumulator to memory
value
Decrement memory pointer
Move the old to HL and
previous location
Increment pointer
Decrement C register
Repeat till C is zero
Decrement in B values
Jump to loop till the value of
B be
Stop the program execution
Input
Input Address
4500
4501
4502
4503
4504
Value
04
AB
BC
01
0A
Output Address
4500
4501
4502
4503
4504
Value
04
BC
AB
0A
01
Result:
The assembly language program for sorting 4 numbers in descending order was
executed successfully using microprocessor kit.
38