The document contains 10 programs written in 8085 assembly language. Program 1 exchanges two 16-bit numbers. Program 2 adds or subtracts two 8-bit numbers. Program 3 adds two 16-bit numbers. Program 4 subtracts two 16-bit numbers where X is greater than Y. Program 5 adds two variable length numbers. Program 6 performs a block transfer. Program 7 performs a block transfer in reverse order. Program 8 adds 10 decimal numbers. Program 9 displays hexadecimal numbers from 00 to FF. Program 10 performs four-digit BCD addition.
8051 timer counter
Introduction
TMOD Register
TCON Register
Modes of Operation
Counters
The microcontroller 8051 has two 16 bit Timer/ Counter registers namely Timer 0 (T0) and Timer 1 (T1) .
When used as a “Timer” the microcontroller is programmed to count the internal clock pulse.
When used as a “Counter” the microcontroller is programmed to count external pulses.
Maximum count rate is 1/24 of the oscillator frequency.
8051 timer counter
Introduction
TMOD Register
TCON Register
Modes of Operation
Counters
The microcontroller 8051 has two 16 bit Timer/ Counter registers namely Timer 0 (T0) and Timer 1 (T1) .
When used as a “Timer” the microcontroller is programmed to count the internal clock pulse.
When used as a “Counter” the microcontroller is programmed to count external pulses.
Maximum count rate is 1/24 of the oscillator frequency.
Time delay programs and assembler directives 8086Dheeraj Suri
Instructor's slides for writing time delay programs in 8086 microprocessor. Also an introduction to assembler directives and their advantage in writing assembly language programs.
The safety in the house is very important.This project presents a prototype smart door lock which can be used to enhance security of a door which is a smart door lock.Here we can utilize Bluetooth technology to scan Bluetooth Devices at the door knob for automatic door lock purposes.
Time delay programs and assembler directives 8086Dheeraj Suri
Instructor's slides for writing time delay programs in 8086 microprocessor. Also an introduction to assembler directives and their advantage in writing assembly language programs.
The safety in the house is very important.This project presents a prototype smart door lock which can be used to enhance security of a door which is a smart door lock.Here we can utilize Bluetooth technology to scan Bluetooth Devices at the door knob for automatic door lock purposes.
7.1 Data types and time delay in 8051 C
7.2 I/O programming in 8051 C
7.3 Logic operations in 8051 C
7.4 Data conversion programs in 8051 C
7.5 Accessing code ROM space in 8051 C
7.6 Data serialization using 8051 C
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
A review of the growth of the Israel Genealogy Research Association Database Collection for the last 12 months. Our collection is now passed the 3 million mark and still growing. See which archives have contributed the most. See the different types of records we have, and which years have had records added. You can also see what we have for the future.
Delivering Micro-Credentials in Technical and Vocational Education and TrainingAG2 Design
Explore how micro-credentials are transforming Technical and Vocational Education and Training (TVET) with this comprehensive slide deck. Discover what micro-credentials are, their importance in TVET, the advantages they offer, and the insights from industry experts. Additionally, learn about the top software applications available for creating and managing micro-credentials. This presentation also includes valuable resources and a discussion on the future of these specialised certifications.
For more detailed information on delivering micro-credentials in TVET, visit this https://tvettrainer.com/delivering-micro-credentials-in-tvet/
it describes the bony anatomy including the femoral head , acetabulum, labrum . also discusses the capsule , ligaments . muscle that act on the hip joint and the range of motion are outlined. factors affecting hip joint stability and weight transmission through the joint are summarized.
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...NelTorrente
In this research, it concludes that while the readiness of teachers in Caloocan City to implement the MATATAG Curriculum is generally positive, targeted efforts in professional development, resource distribution, support networks, and comprehensive preparation can address the existing gaps and ensure successful curriculum implementation.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Normal Labour/ Stages of Labour/ Mechanism of LabourWasim Ak
Normal labor is also termed spontaneous labor, defined as the natural physiological process through which the fetus, placenta, and membranes are expelled from the uterus through the birth canal at term (37 to 42 weeks
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
1. 8085 ASSEMBLY LANGUAGE PROGRAMMING
1) PROGRAM TO EXCHANGE TWO 16 BIT NUMBERS
Sl no. ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8000
8003
8004
8007
800A
800B
800E
2A,00,F0
EB
2A,00,F1
22,00,F0
EB
22,00,F1
CF
LHLD F000
XCHG
LHLD F100
SHLD F000
XCHG
SHLD F200
RST 1
Load memory from specified
locations.
Exchange contents of HL & DE
pairs.
Load memory from specified
locations.
Store memory to specified
locations.
Exchange contents of HL & DE
pairs.
Store memory to specified
locations.
Restart
INPUT (Before execution)
F001 ; F000 F101 ; F100
12 ; AB 3C ; DE
OUTPUT(After execution)
F001 ; F000 F101 ; F100
3C ; DE 12 ; AB
K. ADISESHA,
Presidency college
1
2. 8085 ASSEMBLY LANGUAGE PROGRAMMING
2) PROGRAM TO ADD OR SUBTRACT TWO 8 BIT NUMBERS
INPUT : XX, YY
Sl no. ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8
9
10
8000
8002
8004
8005
8008
800B
800D
8010
8012
8015
3E, XX
06, YY
80/(90)
32,00,F0
D2,10,80
3E,01
C3,12,80
3E,00
32,01,F0
CF
Ahead 1
Ahead 2
MVI A, XX
MVI B, YY
ADD B/SUB B
STA F000
JNC (Ahead 1)
MVIA, 01
JMP(Ahead 2)
MVIA, 00
STA F001
RST1
Move immediately to [A] the
data XX
Move immediately to [B] the
data YY
Add(or subtract) [B] with [A]
Store contents of [A] in specified
location
Jump on no carry to specified
location
Move immediately to [A] the
data(01)H
Jump unconditionally ahead
Move immediately to [A] the
data(00)H
Store contents of [A] in specified
location
Restart
1) 2B, 1A
2) 2B, FA
OUTPUT
TRIAL Addition (XX+YY) Subtraction (XX-YY)
ADDRESS F001: F000 F001: F000
1
2
00 : 45
01 : 25
00 : 25
01 : 31
K. ADISESHA,
Presidency college
2
3. 8085 ASSEMBLY LANGUAGE PROGRAMMING
3) PROGRAM TO ADD TWO 16 BIT NUMBERS
Sl no. ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8
9
10
8000
8001
8004
8005
8008
8009
800C
800F
8010
8013
AF
2A, 00, F0
EB
2A,00,F1
19
22,00,F2
D2,10,80
3C
32,02,F2
CF
Ahead
XRA A
LHLD F000
XCHG
LHLD F100
DAD D
SHLD F200
JNC (Ahead)
INR A
STA F202
RST1
Clear accumulator and Flag
Load memory from specified
locations
Exchange contents of HL & DE
pairs
Load memory from specified
locations
Add HL & DE pairs
Store memory to specified
locations
Jump on no carry to ahead
address
Increment contents of
accumulator by one
Store contents of [A] in specified
location
Restart
F001: F000 (X) 4A : 2C
F101: F100 (Y) ED : 5B
F202:F201: F200 (X+Y) 01 : 37 : 87
K. ADISESHA,
Presidency college
3
4. 8085 ASSEMBLY LANGUAGE PROGRAMMING
4) PROGRAM TO SUBTRACT TWO 16 BIT NUMBERS (X>Y)
Sl no. ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8
9
10
8000
8003
8004
8007
8008
8009
800C
800D
800E
8011
2A,00,F0
EB
2A,00,F1
7D
93
32,00,F2
7C
9A
32,01,F2
CF
LHLD F000
XCHG
LHLD F100
MOV A, L
SUB E
STA F200
MOV A, H
SBB D
STA F201
RST 1
Load memory from specified
locations
Exchange contents of HL & DE
pairs
Load memory from specified
locations
Move contents of [L] to [A]
Subtract [E] from [A]
Store result in specified location
Move contents of [H] to [A]
Subtract [D] from [A] with
borrow
Store result in specified location
Restart
F001: F000 (X) FA : 2C
F101: F100 (Y) BD : 5B
F202:F201: F200 (X-Y) 3C : D1
K. ADISESHA,
Presidency college
4
5. 8085 ASSEMBLY LANGUAGE PROGRAMMING
5) PROGRAM TO ADD TWO N BYTE NUMBERS
Sl no. ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
8000
8003
8006
8009
800B
800E
800F
8010
8011
8012
8013
8014
8015
8018
8019
801C
801F
8021
8024
8026
8027
21,00,F0
01,00,F1
11,00,F2
3E,(NN)
32,00,81
AF
0A
8E
12
23
03
13
3A,00,81
3D
C2,0B,80
D2,24,80
3E,01
C3,26,80
3E,00
12
CF
LOOP
Ahead 1
Ahead 2
LXIH F000
LXIB F100
LXID F200
MVI A, (NN)
STA 8100
XRA A
LDAX B
ADC M
STAX D
INX H
INX B
INX D
LDA 8100
DCR A
JNZ (LOOP)
JNC (Ahead 1)
MVI A, 01
JMP (Ahead 2)
MVI A, 00
STAX D
RST 1
Load HL pair with specified data
Load BC pair with specified data
Load DE pair with specified data
Specify the number of bytes
Save the count
Clear accumulator and flags
Load [A] indirectly from address
specified by BC pair
Add memory to [A] with carry
Store contents of [A] indirectly in
location specified by DE pair
Update memory
Update BC register pair
Update DE register pair
Load [A] from specified location
Decrement count
Jump on no zero to perform loop
Jump on no carry to ahead address
Move immediately to [A] the
data(01)H
Jump unconditionally to ahead
address
Move immediately to [A] the
data(00)H
Store contents of [A] indirectly in
address specified by DE pair
Restart
K. ADISESHA,
Presidency college
5
6. 8085 ASSEMBLY LANGUAGE PROGRAMMING
INPUT(X) F103 : F102 : F101 : F100 A4 : E6 : F3 : D7
INPUT(Y) F003 : F002 : F001 : F000 C3 : 54 : A2 : 1B
OUTPUT(X+Y) F204:F203 : F202 : F201 : F200 01: 68 : 3B: 95: F2
6) PROGRAM FOR BLOCK TRANSFER
Sl no. ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8
9
10
8000
8002
8005
8008
8009
800A
800B
800C
800D
8010
16,10
21,00,81
01,00,82
7E
02
23
03
15
C2,08,80
CF
LOOP
MVI D, (10)H
LXIH 8100
LXIB 8200
MOV A,M
STAX B
INX H
INX B
DCR D
JNZ (LOOP)
RST1
Set count in [D]
Load HL pair with specified
address
Load BC pair with specified
address
Move contents of memory to [A]
Store contents of [A] indirectly
to location specified by BC pair
Update memory
Update BC pair
Decrement count in [D]
Jump on no zero to perform the
loop
Restart
INPUT
8100:810:8102:8103:8104:8105:8106:8107:8108:8109:810A:810B:810C:810D:810E:810F
00 : 01: 02 : 03 : 04 : 05 : 06 : 07 : 08 : 09 : 0A : 0B : 0C : 0D : 0E : 0F
OUTPUT
8200:8201:8202:8203:8204:8205:8206:8207:8208:8209:820A:820B:820C:820D:820E:820F
00 : 01: 02 : 03 : 04 : 05 : 06 : 07 : 08 : 09 : 0A : 0B : 0C : 0D : 0E : 0F
K. ADISESHA,
Presidency college
6
7. 8085 ASSEMBLY LANGUAGE PROGRAMMING
7) PROGRAM TO BLOCK TRANSFER IN REVERSE ORDER
Sl no. ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8
9
10
8000
8002
8005
8008
8009
800A
800B
800C
800D
8010
16,10
21,00,81
01,0F,82
7E
02
23
0B
15
C2,08,80
CF
LOOP
MVI D, (10)H
LXIH 8100
LXIB 820F
MOV A,M
STAX B
INX H
DCX B
DCR D
JNZ (LOOP)
RST1
Set count in [D]
Load HL pair with specified
address
Load BC pair with specified
address
Move contents of memory to [A]
Store contents of [A] indirectly
to location specified by BC pair
Update memory
Decrement BC pair by one
Decrement count in [D]
Jump on no zero to perform the
loop
Restart
INPUT
8100:810:8102:8103:8104:8105:8106:8107:8108:8109:810A:810B:810C:810D:810E:810F
00 : 01: 02 : 03 : 04 : 05 : 06 : 07 : 08 : 09 : 0A : 0B : 0C : 0D : 0E : 0F
OUTPUT
820F:820E:820D:820C:820B:820A:8209:8208:8207:8206:8205:8204:8203:8202:8201:8200
0F : 0E : 0D : 0C : 0B : 0A : 09 : 08 : 07 : 06 : 05 : 04 : 03 : 02 : 01 : 00
K. ADISESHA,
Presidency college
7
8. 8085 ASSEMBLY LANGUAGE PROGRAMMING
8) PROGRAM TO ADD N DECIMAL NUMBERS (N= 10)
Sl no. ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
8000
8001
8003
8005
8008
8009
800A
800D
800E
800F
8010
8013
8014
8015
8018
AF
0E,0A
16,00
21,00,81
86
27
D2,0E,80
14
23
0D
C2,08,80
6F
62
22,00,F2
CF
LOOP
Ahead
XRA A
MVI C, (0A)H
MVI D , 00
LXIH 8100
ADD M
DAA
JNC(Ahead)
INR D
INX H
DCR C
JNZ(LOOP)
MOV L,A
MOV H,D
SHLD F200
RST 1
Clear accumulator and flags
Set N count in [C]
Clear [D]
Load HL pair with specified data
Add memory to [A]
Decimal adjust accumulator
Jump on no carry to ahead
address
Increment [D] by one
Update memory
Decrement count
Jump on no zero to perform loop
Move [A] to [L]
Move [D] to [H]
Store contents of HL pair to
specified consecutive locations
Restart
INPUT OUTPUT
8100:810:8102:8103:8104:8105:8106:8107:8108:8109 F201 F200
00 : 01: 02 : 03 : 04 : 05 : 06 : 07 : 08 : 09 00 45
K. ADISESHA,
Presidency college
8
9. 8085 ASSEMBLY LANGUAGE PROGRAMMING
9) PROGRAM FOR ADDITION OF HEXA-DECIMAL NUMBERS
UNTILL ‘FF’ IS ENCOUNTERED
Sl no. ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8
9
10
8000
8001
8004
8005
8008
800B
800E
800F
8010
8013
AF
32,F9,FF
F5
CD,D3,06
11,FF,FF
CD,BE,04
F1
3C
C2,01,80
76
LOOP
XRA A
STA FFF9
PUSH PSW
CALL(UPDDT)
LXID FFFF
CALL(DELAY)
POP PSW
INR A
JNZ (LOOP)
HLT
Clear accumulator and flags
Store contents of accumulator in
specified location
Push [A] and flags to stack
Call display subroutine for data
field
Implement a delay of 0.5 s using
monitor delay subroutine
Pop[A] and flags off stack
Increment contents of [A] by one
Perform the loop until [A]
becomes zero
Halt
OUTPUT: ‘00’ up to ‘FF’ is displayed in data field.
K. ADISESHA,
Presidency college
9
10. 8085 ASSEMBLY LANGUAGE PROGRAMMING
10) PROGRAM FOR FOUR DIGIT BCD ADDITION
K. ADISESHA,
Presidency college
10
Sl
no.
ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
8000
8003
8006
8009
800B
800E
800F
8010
8011
8012
8013
8014
8015
8018
8019
801C
801F
8021
8024
8026
8027
21,00,F0
01,00,F1
11,00,F2
3E,02
32,00,81
0A
8E
27
12
23
03
13
3A,00,81
3D
C2,0B,80
D2,24,80
3E,01
C3,26,80
3E,00
12
CF
LOOP
Ahead 1
Ahead 2
LXIH F000
LXIB F100
LXID F200
MVI A, (02)
STA 8100
LDAX B
ADC M
DAA
STAX D
INX H
INX B
INX D
LDA 8100
DCR A
JNZ (LOOP)
JNC (Ahead 1)
MVI A, 01
JMP (Ahead 2)
MVI A, 00
STAX D
RST 1
Load HL pair with specified data
Load BC pair with specified data
Load DE pair with specified data
Specify the number of bytes
Save the count
Load [A] indirectly from address
specified by BC pair
Add memory to [A] with carry
Decimal adjust accumulator
Store contents of [A] indirectly in
location specified by DE pair
Update memory
Update BC register pair
Update DE register pair
Load [A] from specified location
Decrement count
Jump on no zero to perform loop
Jump on no carry to ahead address
Move immediately to [A] the data(01)H
Jump unconditionally to ahead address
Move immediately to [A] the data(00)H
Store contents of [A] indirectly in
address specified by DE pair
Restart
12. 8085 ASSEMBLY LANGUAGE PROGRAMMING
11) PROGRAM TO FIND 2`S COMPLEMENT OF 8 BIT/ 16 BIT
NUMBER
Sl no. ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
8000
8002
8005
8008
8009
800A
800B
800C
800F
8010
8013
8016
8017
801A
06,01/(02)
11,01,00
21,00,F0
7E
2F
77
05
CA, 13,80
23
C3,08,80
2A,00,F0
19
22,00,F1
CF
LOOP
Ahead
MVI B,01/(02)
LXID 0001
LXIH F000
MOV A,M
CMA
MOV M,A
DCR B
JZ (Ahead)
INX H
JMP(Loop)
LHLD F000
DAD D
SHLD F100
RST 1
Move to [B] (01) for 8-bit & (02)
for 16-bit complement of data
Load DE pair with specified data
Load HL pair with specified data
Copy contents of memory to [A]
Complement contents of [A]
Copy contents of [A] to memory
Decrement [B] by one
Jump on zero to ahead address
Update memory
Jump unconditionally to perform
loop
Load contents of HL pair from
specified locations
Add HL and DE pair of registers
Store contents of HL pair to
specified locations
Restart
DATA INPUT OUTPUT(2`s complement)
8-Bit F000 : 7A F100 : 87
16-Bit F001 : F000 :: 1A: 26 F101 : F100 :: E5: DA
K. ADISESHA,
Presidency college
12
13. 8085 ASSEMBLY LANGUAGE PROGRAMMING
12) PROGRAM FOR SUB TRACTION OF TWO 16-BIT BCD
NUMBERS (X>Y)
OUTPUT
Sl no. ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8
9
10
8000
8003
8006
8009
800C
800D
800E
800F
8012
8013
11,86,97
01,59,32
CD,20, 80
6F
5A
48
CD,20,80
67
22,00,F0
CF
LXID(9786)
LXIB(3259)
CALL(Sub-BCD)
MOV L,A
MOV E,D
MOV C,B
CALL(Sub-BCD)
MOV H,A
SHLD F000
RST 1
Load DE pair with specified
data
Load BC pair with specified
data
Call subroutine for BCD
subtraction
Copy contents of [A] to [L]
Copy contents of [D] to [E]
Copy contents of [B] to [C]
Call subroutine for BCD
subtraction
Copy contents of [A] to [H]
Store contents of HL pair to
specified locations
Restart
12
13
14
15
16
17
8020
8017
8018
8019
801A
801B
3E,99
93
3C
81
27
C9
Sub-BCD MVI A,99
SUB E
INR A
ADD C
DAA
RET
Move to [A] the given data to
subtract using 99` complement
Subtract [E] from [A]
Increment [A] by 1
Add [C] to [A]
Decimal adjust accumulator
Return from subroutine
unconditionally
F001: F000 :: 65 : 27
K. ADISESHA,
Presidency college
13
14. 8085 ASSEMBLY LANGUAGE PROGRAMMING
13) PROGRAM FOR BLOCK EXCHANGE
Sl no. ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8
9
10
11
12
13
8000
8003
8006
8008
8009
800A
800B
800C
800D
800E
800F
8010
8013
21,00,F0
11,00,F1
0E,10
1A
46
77
78
12
23
13
0D
C2,08,80
CF
LOOP
LXIH F000
LXID F100
MVI C,(10)H
LDAX D
MOV B,M
MOV M,A
MOV A,B
STAX D
INX H
INX D
DCR C
JNZ(Loop)
RST 1
Load HL pair with specified
address
Load HL pair with specified
address
Set counter in [C] for N counts
Load [A] indirectly from
address indicated by DE pair
Copy contents of memory to[B]
Copy contents of [A] to memory
Copy contents of [B] to [A]
Store contents of [A] indirectly
onto address in DE pair
Update memory
Update DE register pair
Decrement [C] by 1
Perform the loop until [C]
becomes zero
Restart
INPUT
F000:F001:F002:F003:F004:F005:F006:F007:F008:F009:F00A:F00B:F00C:F00D:F00E:F00F
00 : 01 : 02 : 03 : 04 : 05 : 06 : 07 : 08 : 09 : 0A : 0B : 0C : 0D : 0E : 0F
F100:F101:F102:F103:F104:F105:F106:F107:F108:F109:F10A:F10B:F10C:F10D:F10E:F10F
10 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 : 1A : 1B : 1C : 1D : 1E : 1F
F000:F001:F002:F003:F004:F005:F006:F007:F008:F009:F00A:F00B:F00C:F00D:F00E:F00F
10 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 : 1A : 1B : 1C : 1D : 1E : 1F
F100:F101:F102:F103:F104:F105:F106:F107:F108:F109:F10A:F10B:F10C:F10D:F10E:F10F
00 : 01 : 02 : 03 : 04 : 05 : 06 : 07 : 08 : 09 : 0A : 0B : 0C : 0D : 0E : 0F
OUTPUT
K. ADISESHA,
Presidency college
14
15. 8085 ASSEMBLY LANGUAGE PROGRAMMING
14) PROGRAM FOR SORTING AN ARRAY OF ‘N-NUMBERS’ IN ASCENDING
ORDER
INPUT F100:F101:F102:F103:F104:F105:F106:F107:F108:F109
01 : 02 : 03 : 04 : 05 : 06 : 07 : 08 : 09 : 0A
OUTPUT F100:F101:F102:F103:F104:F105:F106:F107:F108:F109
0A : 01 : 09 : 05 : 03 : 06 : 08 : 07 : 04 : 02
Sl no. ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
8000
8001
8003
8004
8005
8008
8009
800A
800B
800E
800F
8010
8011
8012
8013
8014
8017
8018
801B
AF
06,0B
48
0D
21,00,F1
7E
23
BE
DA,13,80
56
77
2B
72
23
0D
C2,08,80
05
C2,03,80
CF
START
LOOP
AHEAD
XRA A
MVI B,0B
MOV C,B
DCR C
LXIH F100
MOV A,M
INX H
CMP M
JC (AHEAD)
MOV D,M
MOV M,A
DCX H
MOV M,D
INX H
DCR C
JNZ (LOOP)
DCR B
JNZ (START)
RST 1
Clear accumulator & flags
Move a count (N+1) in [B]
Copy contents of [B] to [C]
Decrement contents of [C] by one
Load the specified address in HL pair
Copy contents of [M] to [A]
Update memory
Compare memory with accumulator
Jump on carry to ahead address
Copy contents of [M] to [D]
Copy contents of [A] to [M]
Decrement HL pair by one
Copy contents of [D] to [M]
Increment contents of HL pair by one
Decrement contents of [C] by one
Jump on no zero to perform the loop
Decrement count in [B]
Jump on no zero to specified address
Restart
K. ADISESHA,
Presidency college
15
16. 8085 ASSEMBLY LANGUAGE PROGRAMMING
15) PROGRAM TO CHECK 2-OUT-OF-5 CODE
Sl no. ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
8000
8003
8005
8007
8009
800C
800F
8010
8013
8014
80015
8018
8019
801B
801E
8020
8023
8025
8028
3A,00,F0
0E,05
16,00
E6,E0
C2,23,80
3A,00,F0
0F
D2,14,80
14
0D
C2,0F,80
7A
FE,02
C2,23,80
3E,FF
C2,25,80
3E,00
32,00,F1
CF
LOOP
AHEAD 2
AHEAD 1
AHEAD 3
LDA F000
MVI C,05
MVI D,00
ANI E0
JNZ (AHEAD 1)
LDA F000
RRC
JNC(AHEAD 2)
INR D
DCR C
JNZ(LOOP)
MOV A,D
CPI ,02
JNZ(AHEAD 1)
MVI A, FF
JMP(AHEAD 3)
MVI A, 00
STA F100
RST 1
Load data into accumulator from
specified location
Move a count (05)H in [C]
Clear contents of [D]
Logical AND (E0) H with [A]
Jump on no zero to specified address
Load data into accumulator from
specified location
Rotate contents of [A] to right
Jump on no carry to ahead address
Increment count in [D]
Decrement contents of [C] by one
Jump on no zero to perform the loop
Copy contents of [D] to [A]
Compare (02) H immediately with [A]
Jump on no zero to specified address
Move ‘FF’ to [A] immediately
Jump to specified location
unconditionally
Move ‘00’ to [A] immediately
Store data from accumulator into
specified location
Restart
INPUT OUTPUT
F000: 11 F100: FF
F000: 13 F100: 00
K. ADISESHA,
Presidency college
16
17. 8085 ASSEMBLY LANGUAGE PROGRAMMING
16) PROGRAM TO MULTIPLY TWO DIGIT BCD
INPUT OUTPUT
F001: F000 F101: F100
11 : 12 01 : 32
Sl no. ADDRESS HEX CODE LABEL MNEMONICS COMMENTS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
8000
8003
8006
8007
800A
800B
800C
800D
800E
800F
80011
8012
8013
8014
8015
8017
8018
8019
801C
801F
21,00,00
3A,00,F0
47
3A,01,F0
4F
79
85
27
6F
3E,00
8C
27
67
78
C6,99
27
47
C2,0B,80
22,00,F1
CF
START
LXIH (0000 )H
LDA F000
MOV B,A
LDA F001
MOV C,A
MOV A,C
ADD L
DAA
MOV L,A
MVI A,00
ADC H
DAA
MOV H,A
MOV A,B
ADI ,99
DAA
MOV B,A
JNZ(START)
SHLD(F100)
RST 1
Move a count (0000)H in HL pair
Load data into accumulator from
specified location
Copy contents of [A] to [B]
Load data into accumulator from
specified location
Copy contents of [A] to [C]
Copy contents of [C] to [A]
Add [L] to accumulator
Decimal adjust [A]
Copy contents of [A] to [L]
Clear contents of [A]
Add contents of [H] to [A]
Decimal adjust [A]
Copy contents of [A] to [H]
Copy contents of [B] to [A]
Add immediately to accumulator 99
Decimal adjust [A]
Copy contents of [A] to [B]
Jump on no zero to specified address
Store data from HL pair onto specified
location
Restart
K. ADISESHA,
Presidency college
17