Микропроцессоры (Глава 14 книги "Роботы и автоматизация производства"), страница 9

Десятичные

Шестнадцатеричные

Двоичные

Десятичные

Шестнадцатеричные

Двоичные

0

0

0

8

8

1000

1

1

1

9

9

1001

2

2

10

10

А

1010

3

3

11

11

В

1011

4

4

100

12

С

1100

5

5

101

13

D

1101

6

6

110

14

E

1110

7

7

111

15

F

1111

Шестнадцатеричная система счисления. Использование шестнадцатеричной системы счисления представляет известные трудности для программиста, обеспечивающего программирование микропроцессора. Однако эта система счисления является не столь сложной, как это может показаться на первый взгляд. Удобство применения этой системы счисления связано с выполнением равенства 24 = 16, которое означает, что любое четырехразрядное двоичное число может быть представлено одноразрядным шестнадцатеричным числом. В этом случае широко применяемые в микропроцессорах слова объемом восьми двоичных разрядов (один байт) могут быть представлены двумя шестнадцатеричными разрядами. В некоторых моделях микропроцессоров все шире начинают применяться двоичные 16-разрядные (двухбайтные) слова, которые достаточно просто представляются в шестнадцатеричном коде, т. е. 16-разрядное слово может быть представлено четырьмя шестнадцатеричными разрядами.

В структуре 16-разрядного числа для представления первых десяти знаков используются обычные десятичные цифры (от 0 до 9). В остальной части структуры используются шесть дополнительных символов в виде первых шести букв латинского алфавита (с А по F). Таким образом, Шестнадцатеричная система счисления, которая представляется начинающему программисту столь сложной, на самом деле является простой. В табл. 14.1 приведены шестнадцатеричные символы с эквивалентами в десятичной и двоичной системах счисления.

С помощью табл. 14.1 не представляет трудности преобразовать шестнадцатеричные числа в двоичную систему счисления, используемую в микропроцессоре. Ниже приведены примеры преобразования:

2F (восьмер.) = 00101111 (двоичн.)

СВ (восьмер.) =11001011 (двоичн.)

Язык ассемблера. Большинство читателей, вероятно, знакомы с одним или более языками программирования, ориентированными на пользователя, как, например, Бейсик или Фортран.

Программы, записанные на этих или аналогичных языках, исполняются последовательно, по одной команде. Порядок исполнения последовательности команд программы может изменяться. При этом во время исполнения программы может быть сформирована управляющая команда, которая может обеспечить изменение последовательности исполнения программы. Однако исполнение программы и в этом случае остается последовательным — не более одной команды одновременно. Независимо от типа используемого языка программирования перед исполнением производится представление всех программ на машинном языке в двоичном коде. Машинный язык также обеспечивает последовательную отработку программы — по одному шагу. Однако один шаг программы, представленной на языке Бейсик или Фортран, соответствует некоторой последовательности шагов программы, записанной на машинном языке. При этом принцип последовательного исполнения программы сохраняется, а программа, написанная на языке Бейсик или Фортран, представляет собой последовательность команд, каждая из которых в свою очередь является последовательностью на машинном языке. Команды на языке Бейсик или Фортран называются «макрокомандами», так как каждая из них включает несколько команд на машинном языке.

Однако большинство микропроцессоров программируется на языке ассемблера. Основное различие между языком ассемблера и языками высокого уровня заключается в том, что команды языка ассемблера связаны с командами машинного языка непосредственно или почти непосредственно в противоположность макрокомандам языков высокого уровня.