Machine Language

A computer understands only the instructions written in a specific language, called machine language. When computers were first developed, the only way they could be programmed was in terms of binary numbers. A number can be represented in many different forms, in different number systems. The most commonly used number system is the decimal (or base 10) system. Society also uses a few other systems; the base 60 system is used to keep track of time (6 seconds in a minute and 60 minutes in an hour).

Numbers represented in one number system can always be converted to another system. Thus, the binary numbers stored in a computer always correspond to a decimal number. The table below shows some binary number and their decimal counterparts:

Binary Number Decimal Number

0 0

1 1

10 2 11 3

100 4

101 5

110 6

111 7

Although this will make perfect sense to a computer, it makes no sense to humans. People are not nearly as capable as computers in the handling of numbers, especially binary numbers. That’s why the next technological software advance occurred in the development of assembly languages, which enabled the programmer to work with the machine on a slightly higher level. Instead of having to specify sequences of binary numbers to carry out particular tasks, the assembly language permits the programmer to use symbolic names to perform various operations and to refer to specific memory locations.

The assembly language words to perform the computation 2+2 are the following:

Assembly Language Machine Language

MOV AX, 2 101110000000001000000000

MOV BX, 2 101110110000001000000000

ADD AX, BX 0000001111000011

The assembly language words are easier to read, but to the layperson they will still mean very little. The figure below describes in English what this assembly language program does:

Assembly Language English Description

MOV AX, 2 Move the number 2 to a place called AX.

MOV BX, 2 Move the number 2 to a place called BX

ADD AX, BX Add the value in AX to the value in BX.

The result (2+2) will be saved in AX.

Computers understand only those programs written in machine language. Assembly language must be translated into machine language by a program called an assembler which takes the assembly language program and produces an equivalent machine language program.

Different computers have different machine languages. For example, the IBM PC family of computers understands a completely different machine language than the Apple II or Macintosh computers. In fact, even the Apple II and Macintosh have different machine languages. These machine languages are as different from each other as English is from German.

 

The words to the text:

to develop разрабатывать, совершенствовать, развивать

binary двоичные числа

commonly обычно

number system система счисления

decimal number десятичная система

to keep поддерживать, сохранять

to convert превращать, обращать

to store запасать, накапливать, сохранять

to correspond соответствовать

counterpart копия

to handle обрабатывать

to occur происходить, возникать

instead of вместо

to specify указывать

to carry out выполнять

to permit позволять, разрешать

layperson непрофессионал

figure цифра, диаграмма