The Most Important Language Of The Century

Human life in its present form would be inconceivable without the use of language. People have long recognized its significance. Some define language as a system of random vocal symbols by means of which a group cooperates. But what if the group consist of machines. How do we communicate with them?

The Most Important Language Of The Century

All modern day machineries consist of at least one or more microcontroller or microprocessor. To enable these machines to perform specific task, a set of instructions need to be transmitted to them in a way so that it can be processed and executed as intended. Without the means of communication, a machine would only be as useful as the effort put in by the operator.

Software is the term used for the instructions that tell a microprocessor or microcontroller what to do. The collection of instructions that a microprocessor will recognize is its instruction set . The form of the instruction set depends on the microprocessor concerned. The series of instructions that is needed to carry out a particular task is called a program .

Assembly Language.

Binary number using '1' and '0' are the basic structure of all computing power.

Microprocessors work in binary code. Instructions written in binary code are referred to as being in machine code . Writing a program in such a code is a skilled and very tedious process. It is prone to errors because the program is just a series of zeros and ones and the instructions are not easily comprehended by just looking at the pattern. An alternative is to use an easily comprehended form of shorthand code for the patterns of zeros and ones. For example, the operation of adding data to an accumulator might be represented by just "ADD". Such a shorthand code is referred to as a mnemonic code , a mnemonic code being a ‘memory-aiding’ code.

The term assembly language is used for such a code. Writing a program using mnemonics is easier because they are an abbreviated version of the operation performed by the instruction. Also, because the instructions describe the program operations and can easily be comprehended, they are less likely to be used in error than the binary patterns of machine code programming.

The assembler program has still, however, to be converted into machine code since this is all the microprocessor will recognize. This conversion can be done by hand using the manufacturer’s data sheets which list the binary code for each mnemonic. However, computer programs are available to do the conversion, such programs being referred to as assembler programs. Keep in mind that the instruction set differs from one microprocessor to another.

Camera icon made of binary digits
A compiler is normally used to convert instructions from assembly language to machine code.

Assembly language programs consist of a sequence of statements, one per line, with each statement containing from one to four fields: label, op-code, operand and comment. The label is the name by which a particular entry in the memory is referred to. The op-code specifies how data is to be manipulated. The operand contains the address of the data to be operated on. The comment field is to allow the programmer to include comments which may make the program more understandable to the reader

Some of the most commonly used instructions given through assembly language can be categorized by its function such as:

1) Data transfer and movements - 'LOAD', 'STORE', 'MOVE', 'CLEAR'

2) Arithmetic - 'ADD', 'DECREMENT', 'INCREMENT', 'COMPARE'

3) Logical - 'AND', 'OR', 'NOR', 'NOT'

4) Program control -  'JUMP', 'BRANCH', 'STOP'

As mentioned before, all of these instructions will be converted into manufacturer specific binary system representing these instructions either using the data sheet or more commonly using a compiler program.

C Language

Programming NuxtJS application on a MacBook Pro 2019
C language is much more user friendly and can be used with various microprocessors.

High-level languages, e.g. BASIC, C, FORTRAN and PASCAL, are available which provide a type of programming language that is even closer to describing in easily comprehended language the types of operations required. Such languages have still, however, to be converted into machine code, by a computer program, for the microprocessor to be able to use. The most popular one is the C language.

C is a high-level language that is often used in place of assembly language for the programming of microprocessors. It has the advantages when compared with the assembly language of being easier to use and that the same program can be used with different microprocessors; all that is necessary for this is that the appropriate compiler is used to translate the C program into the relevant machine language for the microprocessor concerned. Assembly language is different for the different microprocessors while C language is standardized, the standard being that of the American National Standards Institute (ANSI).

iran Tractor  factory
تراکتورسازی ایران
تراکتورسازی تبریز
Development of C language was a major factor in enhancing industrial revolution.

Note that in C programs spaces and carriage returns are ignored by the compiler and purely used for the convenience of the programmer to make it easier to read the program. In C language, certain words are reserved as keywords with specific meanings. For example, int is used to indicate that integer values are concerned; if  is used for when a program can change direction based on whether a decision is true or false. C requires that all keywords are in lower case letters. Such words should not be used for any other purpose in a C program.

C packages are supplied with libraries containing a large number of predefined functions containing C code that have already been written. In order to use the contents of any particular library, that library has to be specified in a header file. Every C program must have a function called main( ); this exercises control when the program is executed and is the first function to be called up. A program is made up of statements, every statement being terminated by a semicolon. Statements can be grouped together in blocks by putting them between braces, i.e. { }.

Embedded System

Picture of a generic Edge PC for IoT and Cloud Use Cases
Embedded system are commonly used in repetitive and pre defined functions.

Microprocessors and microcontrollers are often ‘embedded’ in systems so that control can be exercised. For example, a modern domestic washing machine has an embedded microcontroller which has been programmed with the different washing programs; all that the machine operator has to do is select the required washing program by means of a switch and the required program is implemented. The operator does not have to program the microcontroller. The term embedded system is used for a microprocessor based system that is designed to control a function or range of functions and is not designed to be programmed by the system user. The programming has been done by the manufacturer and has been ‘burnt’ into the memory system and cannot be changed by the system user.

In an embedded system the manufacturer makes a ROM containing the program. This is only economical if there is a need for a large number of these chips. Alternatively, for prototyping or low-volume applications, a program could be loaded into the EPROM/EEPROM of the application hardware.

We at Magnus Code pride ourselves in providing high quality IT solutions to various industries. Visit our website to learn more about our web technologies and industrial automation services.