Low-level operations and computer architectureLow level languages

All data is stored in computers using 1s and 0s (bits). We explain how much data we are storing by using terms like kilobytes and megabytes.

Part ofComputing ScienceSoftware design and development

Low level languages

Each type of computer you use, eg PC, Apple Mac or Raspberry Pi, uses a different set of instructions to tell the processor what to do. You can program a computer at this low level using a language called machine code.

Machine code is made up of the data that is being worked on and a list of instructions that tell the processor to do something. Because everything in a computer is stored as binary (1s and 0s), machine code instructions are also represented in the computer as 1s and 0s.

Writing programs in machine code causes several problems

Machine code instructions are structured slightly differently by different processor manufacturers and for different operating systems. You have to totally re-write a program if you want it to run on a different type of computer.

It is hard for humans to read.To write a program you would need to know the code for what you want to do and the memory address of where data is stored.

It takes a lot of space when you write it.Machine code programs are made up of many commands. You often have to do many things to get the computer to carry out something simple, like displaying text on the screen.

It is very difficult to spot errors.If you make a mistake you have to check through all your code. An error will not stand out.

For these reasons very few people write programs in low level languages. Software is developed using High Level Languages (HLLs) that avoid some of these issues.

High level languages are programming languages that use English-like words to tell the computer what you want it to do. The reference language used in exams is an example of a high level language. It is fairly easy to tell what this line of code will do, without knowing much about reference language.

SEND “Good answer” TO DISPLAY

To do the same thing using machine code, you would have to write a lot of commands in binary (1s and 0s).