0% found this document useful (0 votes)
1K views17 pages

ALP Block Transfer in 8/16 Bit

The document describes an assembly language project to transfer blocks of data in 8-bit and 16-bit with and without string instructions. It includes assembly code examples to transfer 8-bit and 16-bit data between source and destination arrays with and without string instructions. The output of each code example is also shown. Advantages of assembly language like time efficiency, less memory consumption, understanding machine language, and interrupt service routines are then listed.
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

Topics covered

  • Software Development,
  • Performance Metrics,
  • Performance Assessment,
  • Project Completion,
  • Academic Year,
  • Data Structures,
  • Interrupt Service Routine,
  • Diploma Project,
  • Programming Disadvantages,
  • Educational Objectives
0% found this document useful (0 votes)
1K views17 pages

ALP Block Transfer in 8/16 Bit

The document describes an assembly language project to transfer blocks of data in 8-bit and 16-bit with and without string instructions. It includes assembly code examples to transfer 8-bit and 16-bit data between source and destination arrays with and without string instructions. The output of each code example is also shown. Advantages of assembly language like time efficiency, less memory consumption, understanding machine language, and interrupt service routines are then listed.
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

Topics covered

  • Software Development,
  • Performance Metrics,
  • Performance Assessment,
  • Project Completion,
  • Academic Year,
  • Data Structures,
  • Interrupt Service Routine,
  • Diploma Project,
  • Programming Disadvantages,
  • Educational Objectives

A

PROJECT REPORT
ON

ALP To Transfer Block In 8bit/16bit With String and


With-Out String Instruction
SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE
AWARD OF

DIPLOMA IN

( computer ENGINEERING )

SUBMITTED TO
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION,
MUMBAI

SUBMITTED BY

Student name Roll No

1. Sidharth Shirish Shirole 08


2. Sudarshan Santosh Shete 52
3. Harshal Nangnath Thange 18
4. Prem Sahendra Vishwkarm 13

GUIDED BY: ([Link] S.K)


SAMARTH POLYTECHNIC, BELHE

SAMARTH POLYTECHNIC, BELHE

CERTIFICATE
This is to certify that the project report entitled “ALP To Transfer Block In 8bit/16bit With String and
With-Out String”Was successfully completed by Student of Fourth semester Diploma in Computer
engineering.

All groups members.


4. Sidharth Shirish Shirole

5. Sudarshan Santosh Shete

6. Harshal Nangnath Thange

7. Prem Sahendra Vishwkarma

In partial fulfillment of the requirements for the award of the


Diploma in Computer engineering and submitted to the Department of
Computer of Samarth Polytechnic, Belhe work carried out during a period
for the academic year 2023-24 as per curriculum .

Prof. Nawale S.K [Link] S.K Prof. Kapile A.S.


(Subject Teacher) (H.O.D) (Principal)

2
ACKNOWLEDGMENT
This project is done as a semester project, as a part course titled
“ALP To Transfer Block In 8bit/16bit With String and With-Out String”

I am really thankful to our course the Principal Prof. Kapile A.S. and
the HOD Prof. Nawale S.K. Samarth Polytechnic, Belhe for his invaluable
guidance and assistance, without which the accomplishment of the task
would have never been possible.
I also thanks [Link] S.K. for giving this opportunity to explore into the real world and realize the
interrelation without which a Project can never progress. In this present project I have chosen the topic


“ALP To Transfer Block In 8bit/16bit With String and With-out String
I am also thankful to parents, friend and all staff of Computer
engineering department, for providing us relevant information and necessary
clarifications, and great support.

All Group Members. Roll Number

1. Sidharth Shirish Shirole 08

2. Sudarshan Santosh Shete 52

3. Harshal Nangnath Thange 18

4. Prem Sahendra Vishwkarma 13


ANNEXURE II
Evaluation Sheet for Micro Project
Academic Year :- 2023-24 Name of Faculty :- [Link] S.K.
Course :- Computer engineering . COURSE CODE :- 22415
Semester :- IV


Title of Project :- “ALP To Transfer Block In 8bit/16bit with string and with out string
Cos addressed by the Micro Project :-

Major Learning Outcomes achieved by students by doing the project :-

a) Practical Outcomes :-
……………………………………………………………………………………………
………………………………………………………………………………………………
b) Unit Outcomes in Cognitive domain :-
……………………………………………………………………………………………………
…………………………………………………………………………........................................
........................................................................................................................................................
........................................................................................................................................................
c) Outcomes in Affective Domain :-
........................................................................................................................................................
…...…………………………………………………………………….

Marks out of 6 Marks out of 4


Roll No. Student Name for performance for performance Total
in group activity in oral/ presen- Out of
(D5 Col.8) tation (D5 Col.9) 10
08 Sidharth Shirish Shirole
52 Sudarshan Santosh Shete
18 Harshal NangnathThange
13 Prem Sahendra Vishwkarma

[Link] S.K
(Name & Signature of Faculty)

4
1
INTRODUCTION

Assembly level programming is very important to low-level


embedded system design is used to access the processor instructions
to manipulate hardware. It is a most primitive machine level
language is used to make efficient code that consumes less number
of clock cycles and takes less memory as compared to the high-
level programming language. It is a complete hardware oriented
programing language to write a program the programmer must be
aware of embedded hardware. Here, we are providing basics of
assembly level programming 8086.
The assembly programming language is a low-level language which
is developed by using mnemonics. The microcontroller or
microprocessor can understand only the binary language like 0’s or
1’s therefore the assembler convert the assembly language to binary
language and store it the memory to perform the tasks. Before
writing the program the embedded designers must have sufficient
knowledge on particular hardware of the controller or processor, so
first we required to know hardware of 8086 processor.
ALP To Transfer Block With String Instruction In 8 Bit Number

.model small
.data

Src_arr db 08H,02H,04H,09H,05H
dest_arr db 5dup(0)

.code
mov ax,@data
mov ds,ax
mov cx,5
mov si,offset src_arr
mov di,offset dest_arr

up:
mov sb ax,[si]
mov sb [di],ax
add si,2
add di,2
loop up
ends
end

6
Output:

8
ALP To Transfer Block With-Out String Instruction In 8 Bit Number

.model small
.data

Src_arr db 08H,02H,04H,09H,05H
dest_arr db 5dup(0)

.code
mov ax,@data
mov ds,ax
mov cx,5

mov si,offset src_arr


mov di,offset dest_arr

up:
mov ax,[si]
mov [di],ax
add si,2
add di,2
loop up
ends
end

9
Output:

10
ALP To Transfer Block With String Instruction In 16 Bit Number

.model small
.data

Src_arr dw 1234H,2341H,2314H,0009H,1200H
dest_arr dw 5dup(0)

.code
mov ax,@data
mov ds,ax
mov cx,5

mov si,offset src_arr


mov di,offset dest_arr

up: mov sw ax,[si]


mov sw [di],ax
add si,2
add di,2
loop up
ends
end

11
Output:

12
ALP To Transfer Block With String-Out Instruction In 16 Bit Number

.model small
.data

Src_arr dw 1234H,2341H,2314H,0009H,1200H
dest_arr dw 5dup(0)

.code
mov ax,@data
mov ds,ax
mov cx,5

mov si,offset src_arr


mov di,offset dest_arr

up:
mov ax,[si]
mov [di],ax
add si,2
add di,2
loop up
ends
end

13
Output:

1
ADVANTAGES OF ASSEMBLY LANGUAGE PROGRAMMING .

1. Time Efficient For starters, Assembly Language is the lowest level of


coding. Hence, Compiler takes almost no time to decode it.

2. Less MemoryConsumption As we already discussed, for Assembly


Language, you need to use the registers for operations. Since they are used
for temporary storage purposes, you don’t need to bother about the
consumption of memory.

3. Understanding MachineLanguage At this point, I am already assuming


that you know your system only understands two things – 0 or 1. Multiple
combinations of both the numbers indicate the computer’s processor: what
needs to be done and when to be done? Since, Machine Language is the
computer understandable language. So, to better understand Machine
Language you need to have a command over Assembly Language.

4. Interrupt ServiceRoutine (ISR) Well, ISR is a dedicated routine invoked


by an Interrupt. Be it Software Interrupt, Hardware Interrupt or Timer
Interrupt. If you have the knowledge of Assembly Language, you can easily
alter and change the ISR according to your needs or preferences.

[Link]-Level EmbeddedSystem As we have already learnt, Assembly


Language is majorly used to program embedded systems such as ovens.
Using it, one can easily take advantage of time and storage efficiency along
with the ability to manipulate the hardware.

[Link]& ProcessorInstructions If you have learnt


Assembly Language well, you can easily manipulate hardware accordingly

1
DISADVANTAGES OF ASSEMBLY LANGUAGE PROGRAMMING

Advantages & disadvantages goes parallelly. Now that we have seen major
benefits of learning Assembly Language, here are some drawbacks with it:

1. NotDesignedForSmall-SizedComputers Well, long programs written in


Assembly language are difficult to execute and the results are mostly
negative. Therefore, you cannot code in Assembly Language on SmallSized
or dated systems

2. VariesByMicroprocessorType Assembly Language programming may


differ from Microprocessor to another microprocessor. The written program is
not independent of the portable platform.

3. Difficult ToUnderstand Unlike other programming languages, to write


in Assembly language, one must know the internal structure of the
microprocessor to proceed further

1
CONCLUSION

Many computer programming languages are used for the development of


applications and software programs, the importance of assembly language
cannot be underestimated. With Assembly Language, you’ll be able to run
complex tasks in simpler ways, doesn’t track much of memory locations and
it is relatively faster in speed as execution time is quite less. Additionally, the
assembly language programming is transparent in nature as compared to other
highlevel languages. This is because it has a small number of operations.
Therefore, it finds many users in algorithm analysis. It makes it easy to
debug. Moreover, it is the language that the CPU easily recognizes. Since
every section of binary caters to a certain meaning, it can be somewhat easy
to understand, in comparison to other high-level languages!

Common questions

Powered by AI

In embedded system design, assembly language offers advantages such as faster execution times, lower memory usage, and greater transparency in code operation. It allows direct hardware manipulation and efficient ISR handling, which are often limited in high-level languages .

Assembly language programming allows for easy manipulation of Interrupt Service Routines (ISRs) due to its low-level access to hardware and processor instructions. This enables precise control over how interrupts are handled in the system, offering flexibility to tailor ISRs to specific needs .

Assembly language may not suit small-sized computers because complex programs written in assembly can be difficult to execute, leading to negative results on these systems due to resource constraints and execution inefficiency .

Understanding machine language is essential in mastering assembly language because machine language is the only language the system's processor understands. This understanding helps in creating optimized, efficient assembly language programs .

The practical outcomes achieved include gaining proficiency in assembly language programming, specifically in block data transfer using both string and non-string instructions in 8-bit and 16-bit operations .

Detailed knowledge of the 8086 processor hardware allows programmers to write efficient code that manipulates hardware at a low level, improves code execution speed, and reduces memory usage, which are crucial for optimizing embedded systems .

Mnemonics in assembly language serve as symbolic representations of machine-level instructions, making it easier for programmers to understand and write code. They reduce the complexity of reading and coding in binary or hexadecimal formats directly .

When using string instructions for block data transfer in assembly language, operations can be more automated and require less manual coding of loops compared to non-string instructions, which involve explicit instructions for each operation step, making the code longer and potentially less efficient .

Assembly language is considered time-efficient because it is the lowest level of coding, allowing compilers to decode it almost instantly. It is memory-efficient because it directly utilizes registers for operations, reducing memory consumption .

Challenges in assembly language include difficulty in understanding due to a need for knowledge of the microprocessor's internal structure, lack of portability across different microprocessors, and inefficiency on small-sized or older systems .

You might also like