Tuesday, 26 May 2020

Assembly Language

➤Each family of processes has its own set of instructions, the set of instructions are called machine instructions
 ➤A processor understands only machine level language instructions which are strings of ones and zeros however machine level level language is to obscure and complex for use in software development. So coma the low level assembly language is designed for a specific family of processes that represents various instructions and symbolic code and IMO understandable form.

Advantages of Using Assembly Language
 

  1. It allows complex jobs to run in a simpler way.
  2. It is memory efficient, as it requires less memory.
  3. It is faster in speed, as its execution time is less.
  4. It is mainly hardware-oriented.
  5. It requires less instruction to get the result.
  6. It is used for critical jobs.
  7. It is not required to keep track of memory locations.
  8. It is a low-level embedded system.

Disadvantages of Assembly Language

  1. It takes a lot of time and effort to write the code for the same.
  2. It is very complex and difficult to understand.
  3. The syntax is difficult to remember.
  4. It has a lack of portability of program between different computer architectures.
  5. It needs more size or memory of the computer to run the long programs written in Assembly Language.

Syntax of Assembly Language
 

An assembly program can be divided into three sections −
  • The data section,
  • The bss section, 
  • The text section.
The data Section The data section is used for declaring initialized data or constants. This data does not change at runtime. You can declare various constant values, file names, or buffer size, etc., in this section. The syntax for declaring data section is − section.data
The bss Section The bss section is used for declaring variables. The syntax for declaring bss section is − section.bss
The text section The text section is used for keeping the actual code. This section must begin with the declaration global _start, which tells the kernel where the program execution begins. The syntax for declaring text section is − section.text global _start _start:

Assembler

  • Assembler is a program that converts source code programs written in assembly language into object files in machine language. 
  • Popular assembler has emerged over the year for the Intel family of processor this includes-
➤ TASM (Turbo Assembler from Borland)
➤ NASM (Netwide Assembler for both Window and Linux)
➤ GNU assembler distributed by the free software foundation.
Who should know assembly language?
 There are two primary reasons to learn assembly language: because you want to use it directly, or because you want to understand computers at a fundamental level.
From a practical standpoint, only a relative handful of the world’s engineers and computer scientists actually use assembly language.
The overwhelming majority of software development, including virtually all applications development of any kind, uses high level programming languages, and not assembly code. Some specific areas where assembly language gets used are:
 
    • Firmware
    • Operating systems
    • Device drivers
    • Language design
    • Compiler design
    • Embedded systems
    • Hardware design
    • Advanced cryptography
    • Theoretical computer science
The other reason to learn assembly language is just to gain a better understanding of what is actually going on deep in the guts of a computer.


 Assembly Language is easy to Learn, but hard to master!"

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (53) AI (34) Android (24) AngularJS (1) Assembly Language (2) aws (17) Azure (7) BI (10) book (4) Books (173) C (77) C# (12) C++ (82) Course (67) Coursera (226) Cybersecurity (24) data management (11) Data Science (128) Data Strucures (8) Deep Learning (20) Django (14) Downloads (3) edx (2) Engineering (14) Excel (13) Factorial (1) Finance (6) flask (3) flutter (1) FPL (17) Google (34) Hadoop (3) HTML&CSS (47) IBM (25) IoT (1) IS (25) Java (93) Leet Code (4) Machine Learning (59) Meta (22) MICHIGAN (5) microsoft (4) Nvidia (3) Pandas (4) PHP (20) Projects (29) Python (932) Python Coding Challenge (358) Python Quiz (23) Python Tips (2) Questions (2) R (70) React (6) Scripting (1) security (3) Selenium Webdriver (3) Software (17) SQL (42) UX Research (1) web application (8) Web development (2) web scraping (2)

Followers

Person climbing a staircase. Learn Data Science from Scratch: online program with 21 courses