Sunday, August 26, 2018

Top android camera apps

Top 4 android apps for your phone that enable you to take photos like a pro


  1.  CAMERA FV-5 Lite :










Camera FV-5 is a professional camera application for mobile devices, that puts DSLR-like manual controls in your fingertips. Tailored to enthusiast and professional photographers, with this camera application you can capture the best raw photographs so that you can post-process them later and get stunning results. The only limit is your imagination and creativity!


Major features:

● All photographic parameters are adjustable and always at hand: exposure compensation, ISO, light metering mode, focus mode, white balance and program mode.
● DSLR-like viewfinder display: see exposure time, aperture and stops display with EV and bracketing settings, in real-time!
● Full fledged exposure bracketing: from 3 to 7 frames, unlimited stops spacing, plus custom EV shifting.
● Built-in intervalometer: make stunning timelapses (even bracketed/HDR timelapses) and time-controlled picture series.
● Program and Speed-priority modes.
● Long exposure support: take beautiful night photos and light trails with long exposure times up to 30 seconds**.
● JPEG, true 16-bit RAW in DNG format*, and lossless PNG photo capturing formats, perfect for post-processing.
● Manual shutter speed: from 1/80000 to 2", or the range available on your device*.
● All camera functions assignable to volume keys. You can adjust EV, ISO, color temperature and more using volume keys. Devices with hardware camera shutter key are also supported.
● EXIF and XMP sidecar metadata support.
● Autofocus, macro, touch-to-focus, true manual focus* and infinity focus modes. Autofocus lock feature (AF-L).
● Autoexposure (AE-L) and auto white balance (AWB-L) locks in Android 4.0+.
● In background photo and RAW developing and processing allows a smooth, uninterrupted camera operation.
● Digital zoom using multitouch pinch gesture. Also shows 35mm equivalent focal length!
● The most advanced electronic viewfinder: live RGB histogram, 10 composition grid overlays and 9 crop guides available.
● Powerful organization options: different storage locations and fully customizable file names (even with variables).
● The user interface is available in more than 30 languages.


This camera application completely avoids scene modes, instead you get full manual control over all photographic parameters, just like you do with a reflex camera, so you can ultimately control every aspect of the picture, and leave the post-processing to the computer. So after your DSLR, you will never miss a photo opportunity again, being able to capture it with the closer sensation to your DSLR as possible.


The Lite version is a fully functional version of Camera FV-5, with limited picture resolution support. Please buy Pro version to unlock all your device's resolutions and enable RAW capture (if it is supported on your device).

* Requires Android 5.0+ and a fully compliant Camera2 implementation. Currently only LG Nexus 5 and Motorola Nexus 6.

** Requires Android 5.0+.
 Compatible as well on the Samsung Galaxy Camera (1 and 2), Galaxy S4 Zoom and HTC One (M8). 
On Android 4.4 or older, long exposures lowers picture resolution to 2 or 1 MP, depending models. 
The reason is explained here: http://www.camerafv5.com/faq.php#long-exposure-resolution


2. Fabby - Photo editor,selfie art camera :








Get a new look for your selfie each time you tap through a collection of more than 2 billion designer styles. Select from hundreds of masks, backgrounds, makeup designs, and other creative effects.



HAIR COLORING & MAKEUP: The AI-powered technology recognizes different parts of your selfies and intelligently applies hairstyle & makeover effects. 



DIGITAL BEAUTIFICATION: With the smart & natural auto-beautifying function, you will get perfect smooth skin, bright eyes, and white teeth. 



BLUR: Add a background blur effect so that it looks like you're using an expensive camera.



AI-POWERED: Let the app randomly select effects from an unlimited base of designs and intelligently apply them to your selfies. 



LIMITLESS DESIGN CONTENT: We bet you will never spin through the entire collection. 



FULL-SCREEN camera mode for SnapChat & Instagram stories: a new look each day. 



Turn your selfies into a professionally designed portrait!


3. Shotlight :







The Shotlight is an manual exposure application that will unleash all possibilities of your smartphone camera and the iblazr LED flash. Just tap on the screen, and you will get the every manual parameter you need to make one, perfect shot. 



Shotlight Manual Camera gives you DSLR-like precise controls for both photo and video modes. Now you can choose the lowest ISO and the right exposure so picture will not-look like your smartphone see it, but rather like you see it. The same goes with video mode. For example, you can adjust the focus during the recording - the classic trick seen, probably, in any movie.



*Manual Shotlight Settings:



- Focus

- ISO

- Exposure

- White balance

- Timer (photo)




-= Using iblazr LED Flash has never been so fancy =-




The new app is designed to provide a better experience using iblazr LED Flash and iblazr 2 Wireless LED Flash primary functions, including adjusting the brightness of iblazr’s LEDs, changing the light color temperature, and adding more flashes to an array of units. What is more, each individual unit can be single-tuned within the Shotlight app.




And because we care about our existing users, Shotlight was also designed to support first-generation iblazr units. Using this app will help maximize what is already the most versatile light system available—adjust the temperature, power output or number of units you need with ease to achieve the best lighting possible.




How to use original iblazr LED Flash:



1. Start the iblazr App

2. Connect the iblazr to the audio jack of your smartphone

3. Awaken the iblazr (push the button one time)

4. iblazr ready to go!



In-app features for iblazr 2 Wireless Flash:



- Auto syncing (no need to be paired the iblazr with the phone)

- LEDs brightness

- Light color temperature

- Multiple iblazrs connectivity (up to 5 devices)






* Requires Android 4.3 or later and smartphone support of Camera 2 API (Confirmed only on Nexus 5 and Nexus 6). If your smartphone doesn’t supports Camera 2, the Shotlight app will provide limited amount of manual camera adjustments.


For Android Marshmallow:

1. When the app is setting up, you`ll see four dialog screens which asking to allow to use Shotlight.

Choose `Allow` to all of the requests. 

2. For the correct interaction with iblazr 2 you need to activate the `Location` option in Settings.

Settings -> Personal -> Location



4. Lumino Cam :






Lumio Cam is a full featured camera application inspired by real photo cameras and made by enthusiastic photographers to combine the look and functions of professional DSLR cameras with the latest technology of smartphones.

Easy yet professional application which covers the range from beginners to professional photographers. Ideal tool to capture photos and videos for Instagram, Facebook, Youtube, Vimeo and other social media sites. All models from the big brands (Samsung, LG, Sony, Huawei, Motorola, HTC, Asus, One Plus, Nexus etc.) to the small ones are compatible.

Main Features

• Real Camera interface and easy handling
• Retro Leather, Brushed Metal or Full Screen Viewfinder skins
• Supports front and back facing cameras and also dual camera systems (LG G5, LG G6, Galaxy S8, Huawei P9, HTC One)
• Full Manual Controls and RAW photo in Pro Mode
• Video recording up to 4K/UHD/2160p resolution
• Digital Horizon Level display (based on accelerometer), calibration is possible by tap & hold over it
• Grid Display (Rule of Thirds, Center Cross, Combined)
• Perfect Framing™ technology, which helps you to take better photos by using visual templates
• Takes perfect selfies in high resolution with HD effects
• Tap to Focus (It locks the focus to the subject)
• Pinch to Zoom
• Can save photo and video files to external SD Card
• Wear/Smartwatch support with remote shot and video recording feature
• Using volume buttons and dedicated camera button for photo capturing and video recording

Camera Features

• High resolution images
• Selectable JPG quality
• Scene, Contrast, Metering and ISO settings
• Flash: Auto, On, Off, Red-eye, Torch
• White Balance: Auto, Daylight, Cloudy, Shade, Tungsten, Fluorescent
• Focus Mode: Auto, Touch-to-focus, Infinite, Macro
• Drive modes: Single Shot, Multi Shot, 5 sec Timer, 10 sec Timer
• Exposure Compensation

Manual Settings - Pro Mode*

• Full Manual Camera Controls
• Both for photos and videos
• Manual Focus with Focus Assist option
• Manual Exposure (ISO and Shutter Speed)
• RAW (DNG) format
• Noise Reduction setting
• Flat Profile and 'Faded HDR' Mode (enhanced dynamic range for supporting color grading)

Video Recorder Features

• High resolution HD, Full HD, 4K/UHD (4K is supported on selected models) videos
• Adjustable Frame Rate (24fps, 30fps)
• High Video Bitrate from 15 Mbps up to 200 Mbps
• Selectable Audio Source (Camcorder, Mic)
• Exposure Compensation, Exposure and White Balance Lock
• Noise Reduction setting*
• Flat Profile and 'Faded HDR' Mode (enhanced dynamic range for supporting color grading)*

Effects

• High quality Amaro, Lomo, Black & White and Sepia effects
• Can keep the original photo

Android Wear Support

• Wear Camera Remote
• Live preview on your smartwatch
• Remotely taking photos
• Start/Stop video recording
• Flash and Drive Mode settings



Download Links :

1. camera fv -5      -- Download
2. Fabby                -- Download
3. Shotlight            --Download
4. Lumino Cam     -- Download



                                                                                                                         

Friday, August 24, 2018

Introduction to C Programming ?

C is a powerful, portable and elegantly structured programming language. It combines the features of a high-level language with the elements of an assembler and, therefore, it is suitable for writing both system software and application packages.

 To write programs in C, we need to understand various terms such as characters, identifiers, keyword, constants, variables, data types, programming constructs, etc. All this shall from the basis of this chapter along with actual programs written in C language.

C language is structured programming  language developed by Dennis Ritchie in 1972 at Bell Laboratories (AT and T bell Labs). It is the machine independent language that enables the programmer to focus more on programming aspects. C language is basically derived from ALGOL which was widely used in European countries. The introduction of ALGOL during 1960's have created the way for development of structured programming concepts.

The C language was published by a book written by W. Kernigham and Dennis Ritchie in 1983. In 1983, a separate standard for C was proposal by ANSI ( American National Standards Institute ) which was later approved in 1989. This version of C language standard is often known as C89. The ISO (International Standard Organisation) in 1990 adopted ANSI. Five years later (i.e., in 1995), few changes were made to the standard, this resulted in a new version popularly known as C95. In 1999, C95 was again upgraded with much more significant changes resulting in c99 standard. The c99 is the latest standard available.




please comment , share and follow my facebook page on rightside

Friday, August 10, 2018

WHAT IS SOFTWARE DEVELOPMENT METHOD ?

The entire process of software development and implementation involves a series of steps. Each successive step is dependent om the outcome of the previous step. Thus, the team of software designers, developers and operators are required to interact with each other at each stage of software development so as to ensure that the end product is as per the client's requirements.
The various software development steps are :

1 Analysing the Requirements : In this step, the requirements related to the software, which is to be developed, are understood. Analysing the requirements or requirement analysis is an important step in the process of developing a software. If the requirements of the user are not properly understood, then the software is bound to fall short of the end user's expectations. Thus, requirements analysis is always the first step towards development of a software. The task of requirement analysis is typically performed by a business analyst. The person is a professional in this field who understands the requirements of the novice end user, and documents and shares it with the development team.

2. Feasibility Analysis : In this step, the feasibility of developing the software in terms of resources and cost is ascertained. In order to determine the feasibility of software development, the existing system of the user is analysed properly. Apart from the studying the existing system, this step involves identifying the need of automation in the existing system. The analysis done in this step is documented in a standard document called "feasibility report", which contains the observations and recommendations related to the task of the software development. 

3. Creating the Design : After the feasibility analysis stage, the next step is creating the architecture and design of new software. This step involves developing a logical model or basic structure of the new software. For example, if the new software is based on client server technology then this step would involve determining and specifying the number of tiers to be used in the client-server design. This step also involves documenting the varied specifications pertaining to database and data structure design. The flow of the development process is mainly illustrated in this stage using a special language known as "Unified Modelling Language" (UML). UML uses pictorial representation methods for depicting the flow of data in the software. Some of the key features, which are considered while designing a software, are extensibility, modularity, compatibility, fault tolerance, maintainability.

4. Developing Code : In this step, the code for the different modules of the new software is developed. The code for the different module is developed according to the design specifications of the each module. The programmer in the software development team use tools like compilers, interpreters and debuggers to perform tasks such as finding errors in the code and converting the code into machine language for its execution. The code can be written using programming languages such as C, C++ OR Java. The choice of the programming language to be used for developing the code is made on the basis of the type of software that is to be developed. There are certain key points for conversions, which must be kept in mind while writing the code; for instance :
  • There should be proper identification in the code.
  • Proper naming conventions should be followed for naming the variables, methods and program files.
  • Proper comments should be included to ensure ease case of understanding during maintenance.
  • The code must be logically correct so as to minimise logical errors in the program.
5. Testing the Software : Testing the basically performed to detect the prevalence of any errors in  the new software and rectify those errors. One of the reasons for the occurrence of errors or defects in a new software is that he requirements of the users or clients were not properly understood. The various testing methodologies include :
  • Black box testing
  • White box testing
  • Gray box testing
  • Nonfunctional testing
  • Unit testing
  • Integration testing
  • System testing
  • Acceptance testing
6. Deploying the Software : In this step, developed and fully tested software is installed in its target environment. Software documentation is handled over to the users and some initial data are entered in the software to make it operational. The users are also given training on the software's interface and its other functions.

7. Maintaining the Software : Once the software has been deployed successfully, a continuous is provided to it for ensuring its full time availability. A corrupt file, a virus infection and a fetal error or some of the special situations where the maintenance personnel are asked to fix the software and bring it back to its normal functioning. Further, a software may also be required to be modified if its environment undergoes a change. In order to successfully maintain the software, it is required that it should have been properly documented at the time of its development. This is because the maintenance person might not be the same who was originally involved in the development of the software. Thus, a good code documentation serves vital for the maintenance person to fix the software.

Wednesday, August 8, 2018

CREATING AND RUNNING A PROGRAM - PART III

3. Developing a program :

Developing a program refers to the process of writing the source code for the required application by following the syntax and the semantics of the chosen programming language. Syntax and semantics are the set of rules that a programmer to adhere while developing a program.

Before actually developing a program, the aim and the logic of the program should be very clear to the programmer. Therefore, the first stage in the development of a program is to carry out a detailed study of the program objectives. The objectives make the programmer aware of the purpose for which the program is being developed. After ascertaining the program objectives, the programmer needs to list down the set of steps to be followed for program development. The set of program development steps is called "algorithm". The programmer may also use a graphical model known as "flowchart" to represent the steps defined in the program algorithm.

          After the logic of the program has been developed either by an algorithm or a flowchart, the next step is to chose a programming language for actual development of the program code. There are a number of factors that should be taken into consideration while selecting the target programming language, such as performance and efficiency of the programming language, programmer's prior
experience with the language, etc. A programming language is typically bundled together with an IDE containing the necessary tools for developing, editing, running and debugging a computer program. For instance, Turbo C  and Turbo C++ is provided with a strong and powerful IDE to develop, compile, debug and execute the programs.

Suppose we are required to develop a program to add two numbers numbers so we need following algorithm to develop that program

STEP 1 : Declare a,b and c
STEP 2 : Initialize a and b values
STEP 3 : Store the sum of a and b values in c
STEP 4 : Display c value

Following program is the the sample program for addition of two numbers in C++

#include<iostream.h>
using namespace std;
int main()
{
int a,b,c;
a=5;
b=5;
c=a+b;
cout<<c;
return 0;
}


Output :
10

4. Running a Program :

After developing the program code, the next step is to compile the program. Program compilation helps to identify any syntactical errors in the program code. If there are no syntax errors in the source code, then the compiler generates the target object code. It is the machine language code that the processor of the computer system can understand and execute.

  Once the corresponding object code or the executable file is built by the compiler, the program can be run in order to check the logical correctness of the program and generate the desired output. The logical errors also called semantic errors which cause undesired results. After completion we will get the output after the run, the outpu of the above mentioned program is "10". If we need to compile the program we need to press Alt and F9 simultaneously.

Monday, August 6, 2018

CREATING AND RUNNING PROGRAM - PART II

2. System Development Tools :

The successful development and execution of programs requires the usage of a number of tools. Some of these typical system development tools are :
  • Language Translators 
  • Linkers
  • Debuggers
  • Editors
Language Translators :
  • Assembler : An assembler is a computer program that translates assembly language statements into machine language codes. The assembler takes each of the assembly language statements from the source code and generates a corresponding bit stream using 0's and 1's. The output of the assembler in the form of sequence of 0's and 1's is called "object code" or "machine code". This machine code is finally executed to obtain the results.
  • Compiler : The compiler is a computer program that translates the source code written in a high-level language into the corresponding object code of the low-level language. This translation process is called "compilation". The entire high-level program is converted into the executable machine code file. A program that translates from a low-level language to a high-level one is a "decompiler". Compiled languages include COBOL, FORTRAN, C, C++, etc.Though early compilers are written in assembly language, nowadays it has become common practice to implement a compiler in the language it compiles. Compilers are also classified as "single-pass compilers" and "multi-pass compilers". Though single-pass compilers are generally faster than multi-pass compilers, for sophisticated optimization, multi-pass assemblers are required to generate high quality code.
  • Interpreter : The interpreter is a translation program that converts each high-level program statement into the corresponding machine code. This translation process is carried out just before the program statement is executed. Instead of the entire program, one statement at a time is translated and executed immediately. The commonly used interpreted language are BASIC and PERL. Although, interpreters are easier to create as compared to compilers, the compiled languages can be executed more efficiently and are faster.
  • Linkers : Most of the high-level languages allow the developer to develop a large program containing multiple modules. Linker arranges the object of all the modules that have been generated by the large translator into a single program. The execution unit of the compiler system is incapable of linking all the modules at the execution time and therefore, linker is regarded as one of the important software because of its ability to combine all the modules into a single program. Linker assemblers are various objects generated by the compiler in such a manner that all objects are accepted as a single program during execution.                                           
Debugger : Debugger is the software that used to detect the errors and bugs present in the program. The debugger locates the position of the error in the program code with the help of Instruction Set Simulator (ISS) technique. ISS is capable of stopping the execution of a program at the point where an erroneous statement is encountered. Debugger is divided into two types, namely-level debugger and symbolic debugger. The machine-level debugger debugs the object code of the program and shows all the lines where bugs are detected. On the other hand, the symbolic debugger debugs the original code, i.e., the high-level language code of the program. It shows the position of the bug in the original code of the program developed by the programmer. In order to debug the program, a debugger helps perform the following tasks :        
1. Step-by-step execution of a program   
2. Back tracking for checking the previous steps        
3. Stopping the execution of the program until the errors are corrected.
                                                
Editors : Editor is a special program that allows the user to work with text in a computer system. It is used for the documentation purposes and enables us to edit the information present in an existing document or file. The editor enables us to perform various editing operations such as copy, cut and paste while editing the text. On the basis of the content edited by the editors, they are divided into the following categories :                                                               
1. Text editor : It is used edit the plain text. An operating system always includes a text editor for updating the configuration files.                                                                                             
2. Digital Audio Editor : It is used to edit the information related to the audio components of a multimedia application. These editors are used in audio applications where editing the music and sound signals is necessary.                                                                                                                   
 3. Graphics editor :  It is used to edit the information related to the graphical objects. These editors are generally used in the multimedia applications where the user is working with multiple animation objects.                                                                                                                    
4. Binary File Editor :  It is used to edit the digital data  or the binary data, i.e., data having strings of 0's and 1's.                                                                                                                        
5. HTML Editor : It is used to edit the information included in the web pages.                         
6. Source Code Editor : It is used to edit the source code of a program written in a programming language such as C, C++ and Java. 





Thank You For Visiting,
Please Follow and Share, 
Follow me on Facebook and Google+,
Suggest me new topic to write in my next post, in comment section.

CREATING AND RUNNING PROGRAM -PART 1

A programmer should adopt standard methodologies and approaches to program development. Software or program development life cycle is one such standard methodology that is applicable to all types of program development scenarios. It comprises of a number of interlinked phases with each phase serving a definite purpose.

    Program creating and running comprises of four topics :

  1. Structured Programming
  2. System Development Tools 
  3. Developing a program
  4. Running a Program
1. Structured Programming :

Another important program developing approach is structured programming, which is subset of one of the key programming paradigms, i.e., procedural programming. It helps in making a program easily understandable and debug easily. A program that is not based on the structured programming approach is very difficult to maintain, debug, and understand.
          Structured programming approach mainly focuses on the order of execution of the statements within a program. It suggests the use of sequential execution of statements in a program. Thus, structured programming approach suggests the use of mainly three types of control structure 
  • Sequential
  • repetitive and
  • Selective.
Further, it suggests avoiding the use of goto, break, and continue statements in a program as all these are unconditional branch statements.




System Development Tools will be explained in next post


Please Follow and Share
Follow me on Facebook :

Sunday, August 5, 2018

What is a Programming Environment ?

A programming environment comprises all those components that facilitate the development of a program. These components are largely divided under two categories :

  • Programming tools
  • Application Programming Interface ( APIs)
They are regarded as the building blocks of any programming environment.



An API can be defined as a collection of data structures, classes, protocols, and predefined functions stored in the form of libraries. These libraries are included in the software packages of programming languages like C, C++, etc. An API makes the development task easier for the programmers, as in-built API components are used again and again, ensuring reusability.

  The software application which is used for the development, maintenance and debugging of a software program is known as programming tool. A good programming tool ensures that the programming activities are performed in an efficient manner. The following are some of the main categories of programming tools :
  • Integrated Development Environment ( IDE ) : It is the most commonly used tool that offers an integrated environment to the programmers for software development. It contains all most all the components for software development such as compiler, editor, debugger,etc.
  • Debugging tool : It is a specialized tool that helps the programmer to detect and remove bugs or errors from a program.
  • Memory usage tool : As the name suggests, memory usage tool helps the programmer to manage the memory resources in an efficient manner. 


please follow and share

Follow me on Facebook :

Friday, August 3, 2018

What is High-Level Language ?

High level is a programming language such as C, FORTRAN, or PASCAL that enables a programmer to write programs that are more or less independent of particular type of computer. Such languages are considered high-level because they are closer to human languages and further from machine languages.
                               High level languages further simplified programming tasks by reducing the number of computer operation details that had to be specified. High level languages like COBOL, PASCAL, FORTRAN, and C are more abstract, easier to use, and more portable across platforms, as compared to low level languages. Instead of dealing with registers, memory address and call stacks, a programmer can concentrate more on the logic to solve the problem with help of variables, arrays or Boolean expressions. For example consider the following assembly language code :

LOAD A
ADD B
STORE C
Using FORTRAN, the above code can be represented as :/
C = A+B

The above high level language code is executed by translating it into the corresponding machine language code with the help of compiler or interpreter.

High-level languages can be classified into the following three categories :

  • Procedure-oriented languages ( third generation )
  • Problem-oriented languages ( fourth generation )
  • Natural languages ( fifth generation )

  1. Procedure-oriented Languages 
High-level languages designed to solve general purpose problems are called "procedural languages " or third "generation languages". These include BASIC, COBOL, FORTRAN, C, C++,  and JAVA, which are designed to express the logic and procedure of a problem.
                                                The third generation programming languages are considered as domain-specific programming languages because they are designed to develop software applications for a specific field. For example, the third generation programming language, COBOL, was designed to solve a large number of platform specific to the business field.


   2. Problem-oriented Languages

Problem-oriented languages are used to solve specific problems and are known as "fourth-generation languages". These include query languages, Report Generators and Application Generators which have simple, English-like syntax rules. Fourth-generation languages have reduced programming efforts and overall cost of software development.
                                 These languages typically used in the WYSIWYG ( What You See Is What You Get ) environment to facilitate faster and convenient application development. Visual Studio is one such environment that encompasses a number of programming tools as well multiple programming languages support to ensure flexibility to the programmer during application development.


   3. Natural Language

Natural languages are designed to make a computer to behave like an expert and solve problems. The programmer just needs to specify the problem and the constraints for problem-solving. Natural languages such as LISP and PROLOG are mainly used to develop artificial intelligence and expert systems. These languages are widely known as fifth generation languages.
                                                       The programming languages of this generation allow the users to communicate with the computer system in a simple and easy manner. Programmers can use normal English words while interacting with the computer system.



Please follow and share
Facebook :
https://www.facebook.com/Computer-Passion-1864145687009811

Thursday, August 2, 2018

What is Assembly Language ?



The assembly language, introduced in 1950's, reduced programming complexity and provided some standardization to build an application. The assembly language, also referred as the second generation programming language, is also a low-level language. In an assembly language, the 0's and 1's of machine language are replaced with abbreviations or mnemonic code.

     The main advantage of an assembly language over a machine languages are :

  • As we can locate and identify syntax errors in assembly language, it is easy to debug it.
  • It is easier develop a computer application using assembly language in comparison to machine language.
  • Assembly language operates very efficiently.
an assembly language program consists of a series of instructions and mnemonics that correspond to a stream of executable instructions. An assembly language instruction consists of a mnemonic code followed by zero or more operands. The mnemonic code is called the "  Operation Code  " or "            " Opcode ", which specifies the operations to be performed on the given arguments. Consider the following machine code :
10110000 01100001
Its equivalent assembly language representation is :
mov al, 061h

     In the above instruction, the opcode " move " is used to move the hexadecimal value 61 into the processor register named ' al ' . The following program shows the assembly language instructions to subtract two numbers :
ORG 500                            /Origin of program is location 500
LDA SUB                          /Load subtrahend to AC
CMA                                  /Complement AC
INC                                    /Increment AC
ADD MIN                         /Add minuend to AC
STA DIF                            /Store difference
HLT                                   /Halt computer
MIN, DEC 56                   /Minuend
SUB,   DEC -2                 /subtrahend
DIF,  HEX 0                     /Difference stored here
END                                 /End of symbolic program



  It should be noted that during execution, the assembly language program is converted into the machine code with the help of an " Assembler " . The simple assembly language statements had one-to-one correspondence with the machine language statements. This one-to-one correspondence still generated complex programs. Then, macro instructions were devised so that multiple machine language statements could be represented using a single assembly language instruction. Even today programmers prefer to use an assembly language for performing certain tasks such as :
  • To initialize and test the system hardware prior to booting the operating system. This assembly language code stored in ROM
  • To write patches for disassembling viruses, in anti-virus product development companies 
  • To attain extreme optimization, for example, in an inner loop in a processor-intensive algorithm
  • For direct interaction with the hardware
  • In extremely high security situations where complete control over the environment is required 
  • To maximize the use of limited resources, in a system with several resource constraints 





Please follow, comment and share

Applying Software Development Method

To understand how software development method is applied, Consider a simple scenario where it is required to convert the temperature given ...