You are on page 1of 8

JSPM's

Rajarshi Shahu College of Engineering,Polytechnic.

Academic Year 2022-23

CLASS- CO4I Subject- Microprocessor (22415)

MICRO-PROJECT REPORT

TITLE OF MICROPROJECT: AN ALP TO FIND SUM OF SERIES OF


BCD NUMBERS.

GROUP NO.: 05

GROUP MEMBERS:

ROLL NO. NAME

11 Mahajan Shashank Prashant

17 Navale Prathamesh Rajendra

22 Pujare Dhanesh Uday


Maharashtra State
Board of Technical Education, Mumbai
(Autonomous) (ISO-9001-2008) (ISO/IEC 27001:2013)

CERTIFICATE

This is to certify that Mr./Mrs.,

1. Mahajan Shashank Prashant


2. Navale Prathamesh Rajendra
3. Pujare Dhanesh Uday
of Diploma In Computer Engineering of JSPM’s Rajarshi Shahu College of Engineering
Polytechnic (Code: 1620) has completed Micro projects of the course ‘Microprocessor
(22415)’ as prescribed in the curriculum for the academic year 2022 to 2023.
Place: Tathwade, Pune Enrollment No: (1) 2116200232

(2) 2116200238

(3) 2116200280

Date:

Mrs.Hemma Bhandare Mrs. V.T. Thakare

(Course Incharge) (Head of Department)

Seal Of Institute
1.0 Brief Description:

An ALP (Assembly Language Program) is a low-level programming language that uses


mnemonic codes to represent machine language instructions. An assembly program is
typically used to control the behavior of a computer's hardware and to perform low-level
operations that are not directly accessible from high-level programming languages.

BCD (Binary Coded Decimal) numbers are a type of representation for decimal numbers in
which each digit is represented by a four-bit binary code. In BCD, each decimal digit is
represented by its corresponding binary code, and each byte of memory stores two decimal
digits. BCD is commonly used in electronics and computing applications that require precise
decimal calculations.

2.0 Aim Of The Micro-Project:

We Learned to perform Addition of BCD numbers Using Loop

3.0 Course Outcome Addressed:


a. Analyze the functional block of 8086 microprocessor.
b. Write assembly language program for the given problem.
c. Use instructions for different addressing modes.
d. Develop an assembly language program using assembler.
e. Develop assembly language programs using procedures, macros and modular
programming approach.

1) Action Plan: 1-8 weeks

Name of the responsible


Sr. Details of activity Start date Finish date student.
No.
1. Discussion of topic

2. Finalization of topic Mahajan Shashank Prashant


3. Preparation of Abstract

4. Submission of abstract Navale Prathamesh

5. Literature survey
6. Collection of data Rajendra

7. Collection of data
Pujare Dhanesh Uday
8. Discussion of content
2) Action Plan: 9-16 weeks

Name of the responsible


Sr. Details of activity Start date Finish date Student.
No.

9. Proof Reading of Content

10. Editing of Content


Mahajan Shashank Prashant
11. Editing of Content
12. Completion of Report
Navale Prathamesh
Completion of Rajendra
13.
Presentation
14. Viva
Pujare Dhanesh Uday
15. Presentation
16. Final Submission

5.0 Resources used:

Sr. no Resource/Material Specialization Qty Remark


Hp victus
Intel core i5- 12th Gen , Available
1. Laptop 1
8GB Ram , 512 GB SSD

Available
2. Operating system Windows/Linux -
3. Software TASM - Available
6.0Micro project program & Output:

Algorithm

1. Start

2. Initialize data segment.

3. Initialize byte counter and memory pointer to read number from array.

4. Initialize sum variable with 0.

5. Sum = sum + number from array

6. Adjust result to BCD.

7. If sum > 8 bit, then go to step 6 else step 7

8. Increment MSB result counter.

9. Increment memory pointer

10. Decrement byte counter

11. If byte counter = 0 then step 10 else Step 4

12. Stop
Flowchart

Start

Initialize byte counter in CX and memory pointer in SI read


numbers from array initialize sum = 0

Sum = Sum + Number from Array

Is
Result >
8 Bit

Increment MSB Counter

Increment Memory Pointer by one


And
Decrement Memory counter by one

Is
Word
Counter = 0
?

Stop
Program

 .model small ; Declare the memory model as "small"

.data ; Start the data segment

array db 02,03,04,05,06 ; Define an array of 5 bytes with values 02, 03, 04, 05, 06

sum_lsb db 0H ; Define a byte variable to hold the least significant byte of the sum and
initialize it to 0

sum_msb db 0H ; Define a byte variable to hold the most significant byte of the sum and
initialize it to 0

.code ; Start the code segment

mov ax, @data ; Move the address of the data segment to AX

mov ds, ax ; Move the address in AX to DS to set up the data segment

mov cx, 5H ; Move the value 5 to CX, which will be the counter for the loop

mov si, offset array ; Move the offset of the array to SI, which will be the pointer to each
element in the loop

up: ; Label for the start of the loop

mov al, [si] ; Move the value of the byte pointed to by SI to AL

add sum_lsb, al ; Add the value of AL to the least significant byte of the sum

mov dl, sum_lsb ; Move the value of the least significant byte of the sum to DL

mov dh, sum_msb ; Move the value of the most significant byte of the sum to DH

jnc next ; Jump to the label "next" if there was no carry from the previous addition

inc sum_lsb ; Increment the least significant byte of the sum if there was a carry from the
previous addition

next: ; Label for the next iteration of the loop

inc si ; Increment the pointer to the next element in the array

loop up ; Decrement CX and jump to the label "up" if CX is not zero

ends ; End of the code segment

end ; End of the program


7.0 Skill Developed :

 Communication skills
 Leadership
 information reading,
 critical thinking, analytical skills
 synthesis skills

You might also like