INTEL 8085
MICROPROCESSOR
ASSEMBLY LANGUAGE PROGRAM
TO FIND THE SMALLEST NUMBER IN A
DATA ARRAY
Dr. N. ANURADHA
ASSISTANT PROFESSOR OF PHYSICS
BON SECOURS COLLEGE FOR WOMEN,
THANJAVUR
TO FIND THE SMALLEST NUMBER IN A DATAARRAY
BOOK : FUNDAMENTALS OF MICROPROCESSOR AND MICROCONTROLLER
AUTHOR : B. RAM
MEMORY
ADDRESS
MACHINE
CODES
LABELS MNEMONICS OPERANDS COMMENTS
2000 21,00,25 LXI H, 2500 Address for count in H-L pair
2003 4E MOV C, M Count in register C
2004 23 INX H Address of 1st number in H-L pair
2005 7E MOV A, M 1st number in accumulator
2006 0D DCR C Decrement count
2007 23 LOOP INX H Address of next number
2008 BE CMP M
Compare next number with previous number in
Accumulator
2009 DA,0D,20 JC AHEAD
Carry Present, Smaller number in accumulator.
Go to the label AHEAD
200C 7E MOV A, M No Carry, get smaller number in accumulator
200D 0D AHEAD DCR C Decrement count
200E C2,07,20 JNZ LOOP No Zero (C # 0), Go to the label LOOP
2011 32,50,24 STA 2450H Store result ( content of Accumulator ) in 2450H
2014 76 HLT Stop
EXAMPLE 1 : DATA INPUT
2500 = 03 ( count of the series )
2501 = 86 ( Data – 1 )
2502 = 58 ( Data – 2 )
2503 = 75 ( Data – 3 )
LABELS MNEMONICS OPERANDS STEP : 1 STEP : 2
LXI H, 2500 H-L = 2500 = 03.
MOV C, M C = 03
INX H H-L = 2501 = 86
MOV A, M A = 86
DCR C C = 02
LOOP INX H H-L = 2502 = 58 H-L = 2503 = 75
CMP M A - M = 86 - 58 A - M = 58 - 75
JC AHEAD
NO CARRY, GO TO NEXT
INSTRUCTION
CARRY PRESENT, GO TO
AHEAD
MOV A, M A = 58
AHEAD DCR C C = 01 C = 00
JNZ LOOP NO ZERO, GO TO LOOP
ZERO, GO TO NEXT
INSTRUCTION
STA 2450H 2450 = 58
HLT LARGEST NUMBER IN THE MEMORY 2450 = 58
THANK YOU

Intel 8085 - Smallest number in a data array

  • 1.
  • 2.
    TO FIND THESMALLEST NUMBER IN A DATA ARRAY Dr. N. ANURADHA ASSISTANT PROFESSOR OF PHYSICS BON SECOURS COLLEGE FOR WOMEN, THANJAVUR
  • 3.
    TO FIND THESMALLEST NUMBER IN A DATAARRAY BOOK : FUNDAMENTALS OF MICROPROCESSOR AND MICROCONTROLLER AUTHOR : B. RAM MEMORY ADDRESS MACHINE CODES LABELS MNEMONICS OPERANDS COMMENTS 2000 21,00,25 LXI H, 2500 Address for count in H-L pair 2003 4E MOV C, M Count in register C 2004 23 INX H Address of 1st number in H-L pair 2005 7E MOV A, M 1st number in accumulator 2006 0D DCR C Decrement count 2007 23 LOOP INX H Address of next number 2008 BE CMP M Compare next number with previous number in Accumulator 2009 DA,0D,20 JC AHEAD Carry Present, Smaller number in accumulator. Go to the label AHEAD 200C 7E MOV A, M No Carry, get smaller number in accumulator 200D 0D AHEAD DCR C Decrement count 200E C2,07,20 JNZ LOOP No Zero (C # 0), Go to the label LOOP 2011 32,50,24 STA 2450H Store result ( content of Accumulator ) in 2450H 2014 76 HLT Stop
  • 4.
    EXAMPLE 1 :DATA INPUT 2500 = 03 ( count of the series ) 2501 = 86 ( Data – 1 ) 2502 = 58 ( Data – 2 ) 2503 = 75 ( Data – 3 ) LABELS MNEMONICS OPERANDS STEP : 1 STEP : 2 LXI H, 2500 H-L = 2500 = 03. MOV C, M C = 03 INX H H-L = 2501 = 86 MOV A, M A = 86 DCR C C = 02 LOOP INX H H-L = 2502 = 58 H-L = 2503 = 75 CMP M A - M = 86 - 58 A - M = 58 - 75 JC AHEAD NO CARRY, GO TO NEXT INSTRUCTION CARRY PRESENT, GO TO AHEAD MOV A, M A = 58 AHEAD DCR C C = 01 C = 00 JNZ LOOP NO ZERO, GO TO LOOP ZERO, GO TO NEXT INSTRUCTION STA 2450H 2450 = 58 HLT LARGEST NUMBER IN THE MEMORY 2450 = 58
  • 5.