history of computer - Keyboard

Computer History

Tracing the history of the computer

There are 

 articles and 

 photos on this site

This site is powered by

history of computer - MySQL  and  history of computer - PHP 
Google
 

Photo Gallery

 

Free Downloads

 

Feedback

 

Site Map

Home/Log in

Register

Log out

Edit Profile

Create Article

List My Articles

List All Articles

List Articles by Category

Search for an Article

At-a-glance Article List Click here for help on the use of static pages for articles

Partner Sites

Site by JDT

FREE Accounting Software




Machine Code

Machine code or machine language is a system of instructions and data directly understandable by a computer's central processing unit.

Machine code instructions

The "words" of a machine language are called instructions, each of which cause an elementary action by the CPU, such as reading from a memory location. Instructions are patterns of bits with different patterns corresponding to different commands to the machine.

Every CPU model has its own machine code, or instruction set, although there is considerable overlap between some. If CPU A understands the full language of CPU B it is said that A is compatible with B. CPU B may not be compatible with CPU A, as A may know a few codes that B does not.

MyQuestionsMatter

MyQuestionsMatter provides access to health questions to enable you to have a richer and more beneficial interaction with health professionals when discussing your ailment

www.MyQuestionsMatter.com

Some machine languages give all their instructions the same number of bits, while the instruction length differs in others. How the patterns are organised depends largely on the specification of the machine code. Common to most is the division of an instruction into fields. Typically the value of one field (the opcode) specifies the exact operation (for example "add"). Other fields may give the type of the operands, their location, or their value directly (operands contained in an instruction are called immediate). Some exotic instruction sets do not have an opcode field (such as Transport Triggered Architectures or the Forth virtual machine), only operand(s). Other instruction sets lack any operand fields, such as NOSC ("no operand stack computers").

Programs

A program is a sequence of instructions that are executed by a CPU. While simple processors execute instructions one after the other, superscalar processors are capable of executing several instructions at once.

Program flow may be influenced by special jump instructions that transfer execution to an instruction other than the following one. Conditional jumps are taken (execution continues at another address) or not (execution continues at the next instruction) depending on some condition.

Assembly languages

Humans use mnemonic codes to refer to machine code instructions. A more readable rendition of the machine language is called an assembly language and consists of both binary numbers and simple words whereas machine code is composed only of the two binary digits 0 and 1.

For example, on the Zilog Z80 processor, the machine code 00000101 causes the CPU to decrement the B processor register. In assembly language this would be written as DEC B.

Example

The MIPS architecture provides a specific example for a machine code whose instructions are always 32 bits long. The general type of instruction is given by the op (operation) field, the highest 6 bits. J-type (jump) and I-type (immediate) instructions are fully specified by op. R-type (register) instructions include an additional field funct to determine the exact operation. The fields used in these types are:

   6      5     5     5     5      6 bits
[  op  |  rs |  rt |  rd |shamt| funct]  R-type
[  op  |  rs |  rt | address/immediate]  I-type
[  op  |        target address        ]  J-type

rs, rt, and rd indicate register operands; shamt gives a shift amount; and the address or immediate fields contain an operand directly.

For example adding the registers 1 and 2 and placing the result in register 6 is encoded:

[  op  |  rs |  rt |  rd |shamt| funct]
    0     1     2     6     0     32     decimal
 000000 00001 00010 00110 00000 100000   binary

Loading a value from the memory cell 68 cells after the one register 3 points to into register 8:

[  op  |  rs |  rt | address/immediate]
   35     3     8           68           decimal
 100011 00011 01000 00000 00001 000100   binary

Jumping to the address 1025:

[  op  |        target address        ]
    2                 1025               decimal
 000010 00000 00000 00000 10000 000001   binary

Links

Assembly Language

Assembler

History of Programming Languages

Source: http://en.wikipedia.org/wiki/Machine_Code







Click here to search for articles containing the keyword Apricot

Apricot Portable



Click here to search for articles containing the keyword Acorn

Acorn Atom



Click here to search for articles containing the keyword Apple

Apple II


Click here to search for articles containing the keyword Macintosh

Macintosh 128k


 

[About]

[Contact Us]

[Copyright]

[Disclaimers]

[Privacy Policy]

[GNU License]