You are on page 1of 11

Department of Electronics & Communication Engineering

LABORATORY SESSION – 5
INSERTING & DELETING NOS. FROM ARRAY

F EW A D DI TI O N AL I NS T R U C TI O N S

OPCODE OPERAND ADDRESSING D E S C R I PT I O N


MODE
LOGICAL OPERATIONS
ANA R REGISTER THE CONTENTS OF THE ACCUMULATOR ARE
M INDIRECT L O G I C A L L Y AND E D W I T H T H E C O N T E N T S O F T H E
O P E R A N D ( R E GI S T E R O R M E M O R Y ), A N D T H E
R E S U L T I S PL A C E D I N T H E A C C U M U L A T O R . I F T H E
OPERAND IS A MEMORY LOCATION , ITS
A D D R E S S I S S P E C I F I E D B Y T H E C O N T E N T S O F HL
R E GI S T E R S . S, Z, P A R E M O D I F I E D T O R E F L E C T
T H E R E S U L T O F T H E O P E R A T I O N . CY I S R E S E T .
AC I S S E T .

E X A M PL E : ANA B O R ANA M

ANI DATA IMMEDIATE THE CONTENTS OF THE ACCUMULATOR ARE


L O G I C A L L Y AND E D W I T H T H E 8- B I T D A T A
( O P E R A N D ) A N D T H E R E S U L T I S PL A C E D I N T H E
A C C U M U L A T O R . S, Z, P A R E M O D I F I E D T O
R E F L E C T T H E R E S U L T O F T H E O PE R A T I O N . CY I S
R E S E T . AC I S S E T .

E X A M PL E : ANI 86H

XRA R REGISTER THE CONTENTS OF THE ACCUMULATOR ARE


M INDIRECT E X C L U S I V E OR E D W I T H T H E C O N T E N T S O F T H E
O P E R A N D ( R E GI S T E R O R M E M O R Y ), A N D T H E
R E S U L T I S PL A C E D I N T H E A C C U M U L A T O R . I F T H E
OPERAND IS A MEMORY LOCATION, ITS
A D D R E S S I S S P E C I F I E D B Y T H E C O N T E N T S O F HL
R E GI S T E R S . S, Z, P A R E M O D I F I E D T O R E F L E C T
T H E R E S U L T O F T H E O P E R A T I O N . CY A N D AC
ARE RESET.

E X A M PL E : XRA B O R XRA M

XRI DATA IMMEDIATE THE CONTENTS OF THE ACCUMULATOR ARE


E X C L U S I V E OR E D W I T H T H E 8- B I T D A T A
( O P E R A N D ) A N D T H E R E S U L T I S PL A C E D I N T H E
A C C U M U L A T O R . S, Z, P A R E M O D I F I E D T O
Department of Electronics & Communication Engineering

R E F L E C T T H E R E S U L T O F T H E O PE R A T I O N . CY
A N D AC A R E R E S E T . E X A M PL E : XRI 86H
ORA R REGISTER THE CONTENTS OF THE ACCUMULATOR ARE
M INDIRECT L O G I C A L L Y OR E D W I T H T H E C O N T E N T S O F T H E
O P E R A N D ( R E GI S T E R O R M E M O R Y ), A N D T H E
R E S U L T I S PL A C E D I N T H E A C C U M U L A T O R . I F T H E
OPERAND IS A MEMORY LOCATION , ITS
A D D R E S S I S S P E C I F I E D B Y T H E C O N T E N T S O F HL
R E GI S T E R S . S, Z, P A R E M O D I F I E D T O R E F L E C T
T H E R E S U L T O F T H E O P E R A T I O N . CY A N D AC
ARE RESET.

E X A M PL E : ORA B O R ORA M

ORI DATA IMMEDIATE THE CONTENTS OF THE ACCUMULATOR ARE


L O G I C A L L Y OR E D W I T H T H E 8- B I T D A T A
( O P E R A N D ) A N D T H E R E S U L T I S PL A C E D I N T H E
A C C U M U L A T O R . S, Z, P A R E M O D I F I E D T O
R E F L E C T T H E R E S U L T O F T H E O PE R A T I O N . CY
A N D AC A R E R E S E T .

E X A M PL E : ORI 86H

RLC NONE - EACH BINARY BIT OF THE ACCUMULATOR IS


R O T A T E D L E F T B Y O N E P O S I T I O N . B I T D7 I S
PL A C E D I N T H E P O S I T I O N O F D0 A S W E L L A S I N
T H E C A R R Y F L A G . CY I S M O D I F I E D A C C O R D I N G
T O B I T D7. S, Z, P, AC A R E N O T A F F E C T E D .

E X A M PL E : RLC

RRC NONE - EACH BINARY BIT OF THE ACCUMULATOR IS


R O T A T E D R I G H T B Y O N E PO S I T I O N . B I T D0 I S
PL A C E D I N T H E P O S I T I O N O F D7 A S W E L L A S I N
T H E C A R R Y F L A G . CY I S M O D I F I E D A C C O R D I N G
T O B I T D0. S, Z, P, AC A R E N O T A F F E C T E D .

E X A M PL E : RRC

RAL NONE - EACH BINARY BIT OF THE ACCUMULATOR IS


R O T A T E D L E F T B Y O N E P O S I T I O N T H R O U GH T H E
C A R R Y F L A G . B I T D7 I S PL A C E D I N T H E C A R R Y
F L A G , A N D T H E C A R R Y F L A G I S PL A C E D I N T H E
L E A S T S I GN I F I C A N T P O S I T I O N D0. CY I S
M O D I F I E D A C C O R D I N G T O B I T D7. S, Z, P, AC
ARE NOT AFFECTED.

E X A M PL E : RAL
Department of Electronics & Communication Engineering

RAR NONE - EACH BINARY BIT OF THE ACCUMULATOR IS


R O T A T E D R I G H T B Y O N E PO S I T I O N T H R O U GH T H E
C A R R Y F L A G . B I T D0 I S PL A C E D I N T H E C A R R Y
F L A G , A N D T H E C A R R Y F L A G I S PL A C E D I N T H E
M O S T S I GN I F I C A N T PO S I T I O N D7. CY I S
MODIFIED ACCORDING TO BIT D0. S, Z, P, AC
ARE NOT AFFECTED.

E X A M PL E : RAR

CMA NONE - THE CONTENTS OF THE ACCUMULATOR ARE


C O M PL E M E N T E D . N O F L A GS A R E A F F E C T E D .

E X A M PL E : CMA

CMC NONE - T H E C A R R Y F L A G I S C O M PL E M E N T E D . N O
OTHER FLAGS ARE AFFECTED .

E X A M PL E : CMC

STC NONE - T H E C A R R Y F L A G I S S E T T O 1. N O O T H E R F L A G S
ARE AFFECTED.

E X A M PL E : STC

THIS SESSION MAINLY DEALS WITH BITWISE OPERATIONS. TO KNOW THE STATUS OF
PARTICULAR BIT IN PARTICULAR REGISTER WE CAN USE ANY OF THE BELOW TWO TECHNIQUES .
- BY ROTATE INSTRUCTIONS AND CHECKING THE STATUS OF CARRY FLAG .
IF YOU WANT TO CHECK THE STATUS OF 5TH BIT. YOU NEED TO ROTATE 6 TIMES AND
THEN CHECK T HE STATUS OF CARRY FLAG.
- M A S K I N G A N D T H E N C O M P A R I N G T H E N C H E C K T H E S T A T U S O F S, Z A N D P F L A G . I N
MASKING WE JUST CARE ABOUT THE BIT WE WANT .

MASKING MEANS REMOVING THE UNNECESSARY BITS .

FOR EXAMPLE: SUPPOSE YOU WANT TO KNOW THE NUMBER STORED IN REGISTER A IS
NEGATIVE OR POSITIVE.

ROTATE AND CHECK THE STATUS OF CARRY FLAG .


Department of Electronics & Communication Engineering

PROGRAMS

5.1 A N A R R A Y O F 10 B Y T E S I S S T O R E D F R O M M E M O R Y L O C A T I O N 2000 H W R I T E A N
A S S E M B L Y L E V E L P R O G R A M F O R 8085 T O C O U N T P O S I T I V E N U M B E R S A N D E V E N
N U M B E R S F R O M G I V E N A R R A Y A N D S T O R E C O U N T O F P O S I T I V E N U M B E R S O N 3000 H
A N D E V E N N U M B E R S O N 3001 H .

F L O W CH A R T :
Department of Electronics & Communication Engineering

CODE:

MVI B, 00 H ; C O U NT ER T O CO U NT P O S I T I V E NU M B ER
MVI C, 00 H ; C O U NT ER T O CO U NT E V E N NU M B ER
MVI D, 0A H ; C O U NT ER FO R AR R A Y
LXI H, 2000 H ; A R R AY P O I NT E R

XYZ: MOV A, M
RRC TO CH E CK W H ET H ER T H E N U M B E R I S E V EN O R O D D
JC ABC
INR C ; TO I NC R EM E NT E V E N CO U NT ER I F A BO VE C O ND . I S FAL S E

ABC: MOV A, M
RLC TO CH E CK W H ET H ER T H E N U M B E R I S +VE OR - VE
JC PQR
INR B ; TO I NC R EM E NT + VE CO U NT ER I S ABO V E C O ND . I S FAL S E

PQR: INR L ; T O I NC R EM E NT AR R A Y P O I NT ER
DCR D ; T O D EC R E M E NT A R R AY CO U NT ER
JNZ XYZ ; C O ND I T I O N T O BR E AK T H E L O O P
MOV A, B
STA 3000 H ; STORE T H E R ES U L T
MOV A, C
STA 3001 H ; STORE T H E R ES U L T

HLT

I NP U T A R R A Y : O U T P U T A R R AY :

2000 H : 01 H 3000 H : 08 H
2001 H : 02 H 3001 H : 05 H
2002 H : 03 H
2003 H : 04 H
2004 H : F5 H
2005 H : 06 H
2006 H : F7 H
2007 H : 08 H
2008 H : 09 H
2009 H : 0A H
Department of Electronics & Communication Engineering

5.2 AN AR R AY OF 10 2000 H WR I TE A N
B Y T ES IS S T OR ED F R O M ME MO R Y L OC AT IO N
AS SE MB L Y L E VEL PR O G R A M F O R8085 TO S E P AR AT E OU T P OS IT I VE NU M B E R S A N D
EV E N NU MB E R S F R O M GI V EN AR R A Y . M AK E NE W A R R AY S OF PO SI T IV E NU MB ER
ST AR T F R OM 3000 H A N D EV E N NU MB ER S S T A R T F R OM 4000 H .

F L O W CH A R T :
Department of Electronics & Communication Engineering

CODE:

LXI B, 3000 H ; C O U NT ER T O CO U NT P O S I T I V E NU M B ER
LXI D, 4000 H ; C O U NT ER T O CO U NT E V E N NU M B ER
LXI H, 2000 H ; A R R AY P O I NT ER

XYZ: MOV A, M
RRC ; TO C H E CK W H ET H E R T H E N U M B E R I S E V E N O R O D D
JC ABC
RLC ; T O G ET O R I G I N AL N U M B ER B A CK
STAX D ; T O ST O R E T H E N U M B ER I F ABO V E CO ND . I S F AL SE
INX D ; I N CR EM E NT E V EN NU M B ER P O I NT ER
ABC: MOV A, M
RLC ; TO C H E CK W H ET H E R T H E N U M B E R I S +VE OR -VE
JC PQR
RRC ; T O G ET O R I G I N AL N U M B ER B A CK
STAX B ; T O ST O R E T H E N U M B ER I F ABO V E CO ND . I S F AL SE
INX B ; I N CR EM E NT P O SI T I VE NU M B ER P O I NT ER
PQR: INR L ; I N CR EM E NT AR R AY P O I NT ER
MOV A, L
CPI 0A H
JNZ LOOP ; C O ND I T I O N TO BREAK THE LOOP

HLT

I NP U T A R R A Y : O U T P U T A R R AY :

2000 H : F1 H 3000 H : 02 H 4000 H : 02 H


2001 H : 02 H 3001 H : 04 H 4001 H : 04 H
2002 H : F3 H 3002 H : 06 H 4002 H : 06 H
2003 H : 04 H 3003 H : 08 H 4003 H : 08 H
2004 H : F5 H 3004 H : 09 H 4004 H : 0A H
2005 H : 06 H 3005 H : 0A H
2006 H : F7 H
2007 H : 08 H
2008 H : 09 H
2009 H : 0A H
Department of Electronics & Communication Engineering

5.3 A S ET R E AD I N G I S S TO R E D IN M E MO R Y L OC A TI O N ST A R T IN G F R O M 2000 H . T H E
R E AD I N GS AR E C OD ES F OR C ER T AI N G O O DS . C OD E 00 H I N DIC A TE EN D O F
R E AD I N G . C OU N T 45 H C OD E F R OM GI VE N AR R A Y A N D ST OR E C O U NT O N 3000 H .
(H I N T : W H I L E L OO P )

F L O W CH A R T :
Department of Electronics & Communication Engineering

CODE:

MVI C, 00 H ; I NI T I AL I Z E CO U NT ER
LXI H, 2000 H ; A R R AY P O I NT ER
MVI B, 45 H ; N O . W H I CH W E W A N T T O SE A R C H
MVI D, 00 H ; N O . W H I CH I S U SE D T O B R E AK T H E LOOP

PQR: MOV A, M
CMP B ; TO C H E CK W H ET H E R T H E N U M B E R I S 45 H O R NO T
JNZ ABC
INR C ; I N CR EM E NT T H E CO U NT I F CO ND I T I O N I S F A L SE

ABC: INX H ; I N CR EM E NT AR R AY P O I NT ER
CMP D
JNZ PQR ; C O ND I T I O N TO BREAK THE LOOP
MOV A, C
STA 3000 H ; STORE T H E CO U NT

HLT

I NP U T A R R A Y : O U T P U T A R R AY :

2000 H : F1 H 3000 H : 02 H
2001 H : 02 H
2002 H : F3 H
2003 H : 45 H
2004 H : F5 H
2005 H : 06 H
2006 H : 45 H
2007 H : 00 H
Department of Electronics & Communication Engineering

5.4 AN AR R AY OF 10 B Y T ES IS S T OR ED F R O M ME MO R Y L OC AT IO N 2000 H WR I TE A N
AS SE MB L Y L E VEL PR O G R A M F O R 8085 TO SORT A GI VE N AR R A Y I N A SC E N D IN G
OR DE R .

F L O W CH A R T :
Department of Electronics & Communication Engineering

CODE:

MVI C, 09 H ; I NI T I AL I Z E T H E A R R AY CO U NT ER

LOOP2: LXI H, 2000 H ; I NI T I AL I Z E T H E A R R A Y P O I NT ER


MOV B, C ; C O P Y T H E AR R AY C O U NT ER

LOOP1: MOV A, M ; C O L L ECT T H E D AT A


MOV D, A ; C O P Y T H E D AT A I N N EW R EG I ST ER
INR L ; I N CR EM E NT AR R AY P O I NT ER
MOV A, M ; C O L L ECT T H E N EXT D AT A
CMP D ; C O M P A R E O L D D AT A A ND N EW D AT A
JNC ABC ; C O ND I T I O N FO R S W AP I N G NO . O R NO T

MOV E, A
MOV A, D
MOV M, A
DCR L ; CODE U S ED T O SW A P T H E D AT A O F L A ST T W O
AD D R E SS L O C AT I O N S
MOV A, E
MOV M, A
INR L

ABC: DCR B ; D E CR EM ENT I N N ER A R R AY CO U NT ER


JNZ LOOP1 ; C O ND I T I O N T O CO M E O U T O F I N N ER LOOP

DCR C ; D E CR EM ENT O U T ER AR R AY CO U NT ER
JNZ LOOP2 ; C O ND I T I O N T O CO M E O U T O F O U T ER L O O P

HLT
I NP U T A R R A Y : O U T P U T A R R AY :

2000 H : F1 H 3000 H : 02 H
2001 H : 02 H 3001 H : 04 H
2002 H : F3 H 3002 H : 06 H
2003 H : 04 H 3003 H : 08 H
2004 H : F5 H 3004 H : 09 H
2005 H : 06 H 3005 H : 0A H
2006 H : F7 H 3006 H : F1 H
2007 H : 08 H 3007 H : F3 H
2008 H : 09 H 3008 H : F5 H
2009 H : 0A H 3009 H : F7 H

You might also like