Want this question answered?
Manual coding of 8086 is difficult hence we use a assembler or a compiler. Note that the microprocessor should be able to interpret your discussions via the program. Suppose if the instruction corresponds to word(16 bits), we use assembler directive WORD PTR, but when assembler is contacting the processor it sets a bit called 'w' indicating its a byte operation.
Assembler directives are also known as pseudocode.It is instruction to assembler regarding the program to be assembled. For example ORG 4000 is an assembler directive which tells the assembler that program is stored from location 4000.
The simple answer is that the resulting program is not portable.
For completing all the tasks, an assembler needs some hints from the programmer, i.e. the required storage for a particular constant or a variable, logical names of the segments, types of the different routines and modules, end of file, etc. These types of hints are given to the assembler using some predefined alphabetical strings called assembler directives, which help the assembler to correctly understand the assembly language programs to prepare the codes.
what is the difference between an assembler and the translator
For completing all the tasks, an assembler needs some hints from the programmer, i.e. the required storage for a particular constant or a variable, logical names of the segments, types of the different routines and modules, end of file, etc. These types of hints are given to the assembler using some predefined alphabetical strings called assembler directives, which help the assembler to correctly understand the assembly language programs to prepare the codes.
I am not sure about the answer but think so, Assembler: Its a program that converts a low level language into machine code, and there is a one-to-one correspondence between the source language statements and machine instructions Macro- Assembler: It performs the same task as does the assembler but there is some times a one-to-many correspondence between the source language statements and machine instructions. Please discuss further...
An assembler which runs on a computer for which it produces object codes
The assembly part of a compiler is at the back end of the build process. A build process takes instructions from a programming language and converts them into machine instructions. When you need to make machine instructions for a machine that is different than the type you are programming on you need a cross compiler. For instance, if you have a PC with an Intel X86 and you want machine instructions for an Xbox with a PowerPC inside then you would need to cross compile. You could take some intermediate output from your compilation process on the PC and use a cross assembler to make PowerPC instructions. Thus you would be using a cross assembler.
the question is not clear. the chip with which 8086 has to be interfaced should be mentioned. for example, interfacing 8086 and 8087( NDP) or 8086 and 8255( PPI) or 8086 and 8259( PIC) or 8086 and 8089( IOP) But to make the answer complete I would like to mention 2 references 1.Douglas Hall, "Multiprocessors and Interfacing , Programming and Hardware", Tata Mcgraw-Hill.1999, second edition. 2.John Uffenback, "8086/88 Interfacing, Programming and Design", 1987, PHI.
An assembler takes abbreviated names for computer instructions, like "MOV", and turns them into the numeric bytes which, when loaded into memory, can be executed by the CPU.
An Assembler converts assembly language instructions into machine language.