0% found this document useful (0 votes)
31 views

MIC MICRO PROJECT[1]-1

The document outlines a micro project titled 'String Manipulation Project' undertaken by students of the Computer Engineering program at Navjeevan Education Society's Polytechnic for the academic year 2024-2025. It includes details about the project members, weekly progress reports, and various string manipulation tasks such as checking for palindromes and converting string cases using assembly language programming. The project also describes the resources used and integrates course outcomes related to the 8086 microprocessor and assembly language programming.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

MIC MICRO PROJECT[1]-1

The document outlines a micro project titled 'String Manipulation Project' undertaken by students of the Computer Engineering program at Navjeevan Education Society's Polytechnic for the academic year 2024-2025. It includes details about the project members, weekly progress reports, and various string manipulation tasks such as checking for palindromes and converting string cases using assembly language programming. The project also describes the resources used and integrates course outcomes related to the 8086 microprocessor and assembly language programming.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

MAHARASHTRA STATE BOARD OF TECHNICAL

EDUCATION

NAVJEEVAN EDUCATION SOCIETY’S


POLYTECHNIC

MICRO PROJECT

Academic year: 2024-25.

TITLE OF MICRO PROJECT


STRING MANIPULATION PROJECT.

Program: Computer Engineering.


Program code: CO4K
Course: Microprocessors .
Course code: 314321.
MAHARASHTRA STATE
BOARD OF TECHNICAL EDUCATION
Certificate
This is to certify that: 1.Shree Pawar(1259).
2. Tanvish Gawde (1260).
3. Harish Pimpalkar(1261).

of 4th Semester of Diploma in Computer Engineering of Institute,


Navjeevan Education Society’s Polytechnic(Code: 0144) has completed
the Micro Project satisfactorily in Subject: Microprocessors (314321)
for the academic year 2024-2025 as prescribed in the curriculum.
Place: Bhandup. Enrollment no:-1. 24111050217
2. 24111050218
3. 24111050219

Date:-……………………….. Exam Seat no:-

Subject Teacher Head of the Department Principal


STRING MANIPULATION PROJECT
REPORT BOOKLET

NAVJEEVAN POLYTECHNIC

BHANDUP [W]
GROUP DETAILS
SR. Name of Group Roll Enrollment
Seat no
NO Members no No
1. Shree Pawar 1259 24111050217

2. Tanvish Gawde 1260 24111050218

3. Harish Pimpalkar 1261 24111050219

HELPED AND GUIDED BY

Manali Patil
 Weekly Progress Report(Action Plan) Micro-Project:-
Topic: String Manipulation Project.
Academic Year: 2024-2025 Name of Faculty: Manali Patil
Program Code: Computer Engineering (CO4k).
Course & Course Code: Microprocessors (314321).
RollNo: 1259, 1260, 1261 EnrollmentNo: 24111050217, 24111050218, 24111050219
Semester: IV Name of Candidate: Shree Pawar , Tavish Gawde , Harish
Pimpalkar.

SR Week Activity of Performed Planned Planned Name of Responsible


.N start Date Finish Date Team member
O

1. Discussion and finalization


1st All Team Members
of topic
2. Preparation and
2nd All Team Members
submission of Abstract
3.
3th Collection of Data All Team Members
4.
4th Implementation
All Team Members
5. Check, Validation and
5th All Team Members
Execution of code
6.
Compilation of Report
6th All Team Members
And Presentation
7. 7th Actual Presentation &
Final submission of All Team Members
Micro Project

Sign of the Student:-

1) 2) 3)

Sign of the Facult


INDEX

Topic: String Manipulation Project.


Academic Year: 2024-2025 Name of Faculty: Manali patil
Program Code: Computer Engineering (CO4k).
Course & Course Code: Microprocessors (314321).
Roll No: 1259,1260, 1261 Enrollment No:24111050217,24111050218,24111050219
Semester: IV
Name of Candidate: Shree pawar, Tanvish Gawde, Harish Pimpalkar.

SR.NO CONTENT PAGE NO

1. Brief Description 1

2. Actual Resources Used 1

3. Course Outcomes Integrated 1

4. Actual Procedure Followed 2

5. Concept of String Manipulation Project 2

6. String manipulation instructions in 8086 3-5


Microprocessor
7. ALP to Convert string to lower case and vice 6-8
versa
8. ALP to check whether the string is palindrome 9-13
or not.
9. ALP to Calculate Length of String 14-17

10. ALP to Display a String 18-19

11. ALP to Reverse a String 20-22

12. Soft Copy of Micro Project 23

13. Micro-Project Evaluation Sheet /Annexure IV 24-25


Micro Project Proposal

String Manipulation Project

1. Brief Description:-

In this project we will perfrom various String Manipulation Programs


such as Calculating Length of String, Displaying the String, Reversing the
String, Converting Lower case String to Upper case String and vice versa,
Check String for palindromes, etc.. We will First see what are String
manipulation Instructions and then we will Draw Flowcharts and then we
will Write ALP’s and we will Run those ALP’s and we will see output in
TASM.

2. Actual Resources Used :-

S.NO Name Of Specifications Qty


Resources/material
1 Computer System Operating System: Windows 11 1
Memory: 16GB
Processor: Ryzen 5
HDD: 500GB .

2 Software -
TASM V3.0.1

3. Course Outcomes Integrated:-

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
4. Actual Procedure Followed :-

1. We selected the topic from the syllabus.

2. We discussed about the project for a while with the team members and the
respective staff member.

3. We distributed the project sectors such as documentations, writing code, code


testing.

4. We researched about the project on the network, took some references and then
we performed our code in tasm.

5. Concept of String Manipulation Project :-

This simple project is developed by using TASM. Here, the user can
easily get palindrome and can change lower case to upper case vice versa
using string function. It is easy to check whether the string is palindrome or
not. It will also change the string into lower case to upper case. This system
is easy to operate and understand by the user. String is s series of data byte
or word available in memory at consecutive locations. It is either referred
as byte string or word string. Their memory is always allocated in a
sequential order. Instructions used to manipulate strings are called string
manipulation instructions. A string in literal terms is a series of characters.
Thefunctions are set up to return empty strings or something of that effect
when there is an invalid situation, to prevent runtime errors, but feel free to
modify them to handle invalid strings in other ways.

2
6. String manipulation instructions in 8086 microprocessor :-

String is a series of data byte or word available in memory at consecutive


locations. It is either referred as byte string or word string. Their memory is
always allocated in a sequential order. Instructions used to manipulate
strings are called string manipulation instructions.

Following is the table showing the list of string manipulation instructions:

OPCODE OPERAND EXPLANATION EXAMPLE

REP instruction repeat the given instruction till CX != 0 REP


MOVSB

REPE instruction repeat the given instruction while CX = 0 REPE

REPZ instruction repeat the given instruction while ZF = 1 REPZ

REPNE instruction repeat the given instruction while CX != 0 REPNE

REPNZ instruction repeat the given instruction while ZF = 0 REPNZ

MOVSB none moves contents of byte given by DS:SI into MOVSB


ES:DI

MOVSW none moves contents of word given by DS:SI into MOVSW


ES:DI

3
OPCODE OPERAND EXPLANATION EXAMPLE

MOVD none moves contents of double word given by MOVD


DS:SI into ES:DI

LODSB none moves the byte at address DS:SI into AL; SI LODSB
is incr/decr by 1

LODSW none moves the word at address DS: SI into AX; LODSW
SI is incr/decr by 2

LODSD none moves the double word at address DS:SI into LODSD
EAX; SI is incr/decr by 4

STOSB none moves contents of AL to byte address given STOSB


by ES:DI; DI is incr/dec by 1

STOSW none moves the contents of AX to the word STOSW


address given by ES:DI; DI is incr/decr by 2

STOSD none moves contents of EAX to the DOUBLE STOSD


WORD address given by ES:DI; DI is
incr/decr by 4

SCASB none compares byte at ES:DI with AL and sets SCASB


flags according to result

4
OPCODE OPERAND EXPLANATION EXAMPLE

SCASW none compares word at ES:DI with AX and sets SCASW


flags

SCASD none compares double word at ES:DI with EAX SCASD


and sets flags

CMPSB none compares byte at ES:DI with byte at DS:SI CMPSB


and sets flags

CMPSW none compares word at ES:DI with word at DS:SI CMPSW


and sets flags

CMPSD none compares double word at ES:DI with double CMPSD


word at DS:SI and sets flags

5
7. ALP to Convert string to lower case and vice versa.

 Flowchart -

6
8. ALP to Check whether the string is palindrome or not :-

 Algorithm-

i. Start
ii. Store variables like msg, arrray1, array2, etc. in data segment.
iii. Take the string input from the user.
iv. Make the string reverse and copy to another variable.
v. Compare the reversed string with the original string.
vi. If reversed string = original string Then print it is palindrome Else Print
it is not a palindrome
vii. Stop

7
 Flowchart -

8
 ALP -

DATA SEGMENT
MSG1 DB 10,13,'ENTER ANY STRING :- $'
MSG4 DB 10,13,'NO, GIVEN STRING IS NOT A PALINDROME $'
MSG5 DB 10,13,'THE GIVEN STRING IS A PALINDROME $'
P1 LABEL BYTE
M1 DB 0FFH
L1 DB ?
P11 DB 0FFH DUP ('$')
P22 DB 0FFH DUP ('$')
DATA ENDS
DISPLAY MACRO MSG
MOV AH,9
LEA DX,MSG
INT 21H
ENDM
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX

DISPLAY MSG1

LEA DX,P1
MOV AH,0AH
INT 21H

DISPLAY P11

MOV DL,L1
ADD DL,30H
MOV AH,2
INT 21H

LEA SI,P11
LEA DI,P22

9
MOV DL,L1
DEC DL
MOV DH,0
ADD SI,DX
MOV CL,L1
MOV CH,0

REVERSE:
MOV AL,[SI]
MOV [DI],AL
INC DI
DEC SI
LOOP REVERSE

DISPLAY P22

LEA SI,P11
LEA DI,P22

MOV CL,L1
MOV CH,0

CHECK:
MOV AL,[SI]
CMP [DI],AL
JNE NOTPALIN
INC DI
INC SI
LOOP CHECK

DISPLAY MSG5
JMP EXIT
NOTPALIN:
DISPLAY MSG4
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END START
1
 Output -

1
9. ALP to Calculate Length of String :-

 ALP -

print macro m
mov ah,09h
mov dx,offset m
int 21h
endm

.model small;
Data Segment
.data

msg db 10,13, "Exiting the program $"

empty db 10,13, " $"


str1 db 25,?,25 dup('$')

len db ?
mstring db 10,13, "Enter the string: $"
mlength db 10,13, "Length is: $";

Code Segment

.code

start:
mov ax,@data
mov ds,ax

print mstring
call accept_string ;function call to accept a string

1
mov cl,str1+1 ;storing length in cl from first byte of the array
mov bl,cl ;copying in bl for displaying
print mlength
call display1 ;printing the length

exit:
mov ah,4ch ;exit the program
int 21h

;accept procedure

accept proc near

mov ah,01
int 21h
ret
accept endp

display1 proc near

mov al,bl
mov bl,al
and al,0f0h
mov cl,04
rol al,cl

cmp al,09
jbe number
add al,07
number: add al,30h
mov dl,al
mov ah,02
int 21h

mov al,bl
and al,00fh

cmp al,09
1
jbe number2
add al,07
number2: add al,30h
mov dl,al
mov ah,02
int 21h
ret
display1 endp

accept_string proc near

mov ah,0ah ;accept string from user function


mov dx,offset str1 ; store the string in memory pointed by "DX"
int 21h
ret
accept_string endp

end start
end

1
 Output -

1
10. ALP to Display a String :-

 Algorithm-

1. Create a string
2. Load the effective address of the string in dx using LEA command
3. Print the string by calling the interrupt with 9H in AH
4. The string must be terminated by ‘$’ sign

 ALP -

.MODEL SMALL
.STACK 100H
.DATA

;The string to be printed


STRING DB 'This is a sample string', '$'

.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX

; load address of the string


LEA DX,STRING

;output the string


;loaded in dx
MOV AH,09H
INT 21H

;interrupt to exit
MOV AH,4CH
INT 21H

MAIN ENDP
END MAIN

1
 Output -

1
11. ALP for Reversing a String :-

 ALP -

DATA SEGMENT
MSG1 DB 10,13,'ENTER ANY STRING :- $'
MSG2 DB 10,13,'LENGTH OF STRING IS :- $'
MSG3 DB 10,13,'REVERSE OF ENTERED STRING IS :- $'

P1 LABEL BYTE
M1 DB 0FFH
L1 DB ?
P11 DB 0FFH DUP ('$')
P22 DB 0FFH DUP ('$')

DATA ENDS
DISPLAY MACRO MSG
MOV AH,9
LEA DX,MSG
INT 21H
ENDM
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX

DISPLAY MSG1

LEA DX,P1
MOV AH,0AH
INT 21H

DISPLAY MSG2

MOV DL,L1
1
ADD DL,30H

MOV AH,2
INT 21H

DISPLAY MSG3

LEA SI,P11
LEA DI,P22

MOV DL,L1
DEC DL
MOV DH,0
ADD SI,DX
MOV CL,L1
MOV CH,0

REVERSE:
MOV AL,[SI]
MOV [DI],AL
INC DI
DEC SI
LOOP REVERSE

DISPLAY P22

LEA SI,P11
LEA DI,P22

MOV CL,L1
MOV CH,0

MOV AH,4CH
INT 21H
CODE ENDS
END START

1
OUTPUT:-

2
12. Soft Copy of Micro -Project : -

2
Micro Project Evaluation Sheet

Name of Student: Shree Pawar Enrollment No:24111050217


Name of Programme : Computer Engineering. Semester : IV.

Course Title: Microprocessors. Course Code : 314321.

Title of Micro Project : String Manipulation Project.


Course Outcomes Achieved:
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.

Sr.n Characteristic Poor(Mar Average(Ma Good(Mar Excellent(Ma Sub


o tobe assessed ks 1-3) rks 4 - 5) ks 6-8 ) rks 9-10) Total
(A)Process and Product Assessment(Convert above total marks out of 6 marks.)
1. Relevance to the
Course
2. Literature
Review/information
collection
3. Completion of the
target as per project
proposal
4. Analysis of data and
representation
5. Quality of
Prototype/Model
6. Report Preparation.
(B) Individual Presentation/Viva (Convert above marks Total Marks out of 4)
7. Presentation
8. Viva

(A) (B) Total Marks 10


Process and Product Individual
Assessment (6 marks) Presentation/Viva(4 marks)

Comments/Suggestions about team work.leadership/inter-personal communication


……………………………………………………………………………
………
Name and designation of the Teacher ...........................................................
Dated Signature …………………………………………….
2
Micro Project Evaluation Sheet

Name of Student: Tanvish Gawde Enrollment No:24111050218


Name of Programme : Computer Engineering. Semester : IV.

Course Title: Microprocessors. Course Code:314321.

Title of Micro Project : String Maniplation Project.

Course Outcomes Achieved:


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.

Sr.n Characteristic Poor(Mar Average(Ma Good(Mar Excellent(Ma Sub


o tobe assessed ks 1-3) rks 4 - 5) ks 6-8 ) rks 9-10) Total
(A)Process and Product Assessment(Convert above total marks out of 6 marks.)
1. Relevance to the
Course
2. Literature
Review/information
collection
3. Completion of the
target as per project
proposal
4. Analysis of data and
representation
5. Quality of
Prototype/Model
6. Report Preparation.
(B) Individual Presentation/Viva (Convert above marks Total Marks out of 4)
7. Presentation
8. Viva

(A) (B) Total Marks 10


Process and Product Individual
Assessment (6 marks) Presentation/Viva(4 marks)

Comments/Suggestions about team work.leadership/inter-personal communication


……………………………………………………………………………
………
Name and designation of the Teacher ...........................................................
Dated Signature ……………………………………………
2
Micro Project Evaluation Sheet

Name of Student: Harish Pimpalkar EnrollmentNo:24111050219


Name of Programme : Computer Engineering. Semester : IV.

Course Title: Microprocessors. Course Code : 314321.

Title of Micro Project : String Maniplation Project.

Course Outcomes Achieved:


f) Analyze the functional block of 8086 microprocessor.
g) Write assembly language program for the given problem.
h) Use instructions for different addressing modes.
i) Develop an assembly language program using assembler.
j) Develop assembly language programs using procedures, macros and
modular programming approach.

Sr.n Characteristic Poor(Mar Average(Ma Good(Mar Excellent(Ma Sub


o tobe assessed ks 1-3) rks 4 - 5) ks 6-8 ) rks 9-10) Total
(A)Process and Product Assessment(Convert above total marks out of 6 marks.)
1. Relevance to the
Course
2. Literature
Review/information
collection
3. Completion of the
target as per project
proposal
4. Analysis of data and
representation
5. Quality of
Prototype/Model
6. Report Preparation.
(B) Individual Presentation/Viva (Convert above marks Total Marks out of 4)
7. Presentation
8. Viva

(A) (B) Total Marks 10


Process and Product Individual
Assessment (6 marks) Presentation/Viva(4 marks)

Comments/Suggestions about team work.leadership/inter-personal communication


……………………………………………………………………………
………
Name and designation of the Teacher ...........................................................
Dated Signature ……………………….

You might also like