Friday, September 13, 2019

A micro assembler for a processor

A micro assembler for a processor INTRODUCTION A micro assembler (sometimes called a meta-assembler) is acomputer programthat helps prepare amicroprogramto control the low level operation of a computer in much the same way anassemblerhelps prepare higher level code for aprocessor. The difference is that the microprogram is usually only developed by the processor manufacturer and works intimately with the hardware. The microprogram defines theinstruction setany normal program (including bothapplication programsandoperating systems) is written in. The use of a microprogram allows the manufacturer to fix certain mistakes, including working aroundhardwaredesign errors, without modifying the hardware. Another means of employing micro assembler-generated micro programs is in allowing the same hardware to run differentinstruction sets. After it is assembled, the microprogram is then loaded to astore to become part of the logic of aCPU’scontrol unit. Some micro assemblers are more generalized and are not targeted at single computer architecture. For example, through the use of macro-assembler-like capabilities,Digital Equipment Corporationused theirMICRO2micro assembler for a very wide range of computer architectures and implementations. If a given computer implementation supports awriteable control store, the micro assembler is usually provided to customers as a means of writing customized microcode. à ¨ Computer programs(softwareprograms) areinstructionsfor acomputer.A computer requires programs to function, typicallyexecutingthe program’s instructions in acentral processor.The program has anexecutableform that the computer can use directly to execute the instructions. The same program in its human-readable sourceform, from whichexecutableprograms are derived (e.g.,compiled), enables aprogrammerto study and develop itsalgorithms. Computer source code is often written by professionalcomputer programmers. Source code is written in aprogramming languagethat usually follows one of two mai nparadigms:imperativeordeclarativeprogramming. Source code may be converted into anexecutable file(sometimes called an executable program or a binary) by acompiler. Alternatively, computer programs may be executed by acentral processing unitwith the aid of aninterpreter, or may beembeddeddirectly intohardware. ASSEMBLY LANGUAGE: A program written in assembly language it basically contain of a series ofinstructions- mnemonics that correspond to a stream of executable instructions, when translated by anassembler that can be loaded into memory and executed. For example, anx86/IA-32processor execute the below instruction as given inmachine language. Binary: 10110000 01100001 (Hexadecimal: B0 61) The mnemonic â€Å"move† it tells the opcode1011tomovesthe value in the 2nd operand into the register. Transforming the assembly language into the machine code is done by anassembler, and the vice versa by this assembler. In High-level language, there is usually aone to one relationbetwe en simple assembly logics and machine language instructions. But, in few cases, an assembler provides instructionswhich will expand into several machine code instructions to provide its functionality. Eachcomputer structureandprocessor designhas its own machine understanding language. Each instruction is simple enough to be executed using a relatively small number of electronic circuits. System may differ by the type of operations they support. For example, a new 64-bit (AMD processor) machine will have different structure from a 32-bit (Intel processor) machine. They also have different size structure and the different storage structure. Multiple collection ofmnemonics codesor assembly-language code may exist for a single instruction set, typically instantiated in different assembler programs. In these cases, the most popular one is usually that supplied by the manufacturer and used in its documentation.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.