Your resource to the fundamental assembly language programming . © 2004


An   Overview.



 The concept of a microprocessor.

 An analogy

    Let us understand the fundamentals of any general processor ( not just intel 80x86 family based processor ). Consider your microprocessor as a living entity, who is a CEO of a large organisation( The entire PC unit ). All the processes occuring inside your PC are always scrutinised under it's authority. It is certainly impossible for a CEO alone to run an organization without the support of his subordinates. In a similar way the microprocessor alone can't handle the working of the PC without the aid of the external peripheral chips. Understanding the hardware aspects of a microprocessor thoroughly, is imperative for programming fast, flawless and fabulous programs. The Binary Number System format of the programming would be the most effective way of programming, since it is based only on ' 0 ' (off) and ' 1 ' (on). However to the programmers it would cause inconvenience, rather a daunting task for programming bigger programs. So the obvious choice left to the programmers was to code their logic in the Octal Number System. This became a conventional programming system , which is implemented in the assemblers available even today.


  Working of a PC

   

computer system
A general block diagram of a computer system.




  Classification of the computers.

computer classification
A general classification of a computer system.

   




  Important Terms Pertaining To A PC

   




micro computer

A general block diagram of a micro-computer system.



 The Software Environment.

software tools
  Important Software Tools Required For Our Programming

  1. The Editor : It is a program through which our code is edited. It supports many letters, digits, punctuation marks, symbols etc....A common example is "NOTEPAD".
  2. The Assembler : It is a program through which our source file is translated to binary/machine/object code. It generates two passes.The first file is "OBJECT FILE" containing binary codes as well as the addresses of the instructions.The second file contains the List file which contains the offset of the instructions and the assembly language statements alongside their binary codes.... Common examples of the assemblers are "A86", "Masm", "Nasm", "Tasm".
  3. The Linker : It is used to merge smaller object files/ modules to form a single object file in a project.The advantage of dividing larger programs into modules is that ; it becomes easier to debug and test the individual modules for their reliability before linking them to the other modules.
  4. The Locator : It assigns precise addresses where the object code is to be loaded into the memory....A good example is EXE2BIN.
  5. The Debugger : It allows us to load our object code into the memory,execute it and debug it. We can inspect the contents of the registers and memory location.We may also introduce the break points i.e. The program will execute till the break point is encountered and then it will hault.
  6. The compiler : It takes the entire program of the HLL languages like C/C++,PASCAL,COBOL... and then translates the entire program into the machine code.It is 20 times faster than Interpreter; however if an error is detected the entire program needs to be rerun on the correction.
  7. The Interpreter : It reads program line by line and executes one statement at a time.If an error is detected then only that statement be rerun on it's rectification.
flow charts

  The Assembler Action.

  The Types Of Assemblers.

  1. Macro Assembler : A macro is the designation assigned to the set of instructions.In Macro Assembler macros are expanded prior to ther transformation into an equivalent machine code.
  2. Cross Assembler : It is machine independent since it is written in HLLs such as C/C++ i.e. Programs can be executed equally well on different processor families. e.g. Z80( written in C ) can run on both Intel 80x86 family , Zilog family as well as Motorola 6800 family.
  3. Meta Assembler : It has an inbuilt multi processor support for a wide variety of the processors. It is the most versatile and dynamic of all the assemblers.

  Next : Instruction for Assembling with TASM 2.01 .

Understanding 80x86 Architecture

Refer this link to understand 80x86 Architecture


PREVIOUS


    NEXT




© 2004 by Pratik.M.Tambe.

PRIMITIVEASM©

SITEMAP.

Hosted by www.Geocities.ws

1