Основы компьютерной грамотности и информационно-коммуникационной компетентности. Ч. 1: Введение в информатику. Лядова Л.Н - 33 стр.

UptoLike

65
Глава 6. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Современные вычислительные системы (ВС) представляют
собой с точки зрения их пользователя комплекс «Аппарату-
ра + Программное обеспечение». Компьютер с традиционной
архитектурой работает, выполняя действия в соответствии с
программой, загруженной в его память. Все задачи, решаемые с
помощью ВС, требуют запуска и выполнения реализующих их
программ.
6.1. Понятие программы
Программаэто последовательность инструкций (команд),
описывающая алгоритм решения с помощью компьютера соот-
ветствующей задачи, для реализации которой эта программа бы-
ла разработана.
Для разработки программ используются специальные язы-
ки.
Программа может содержать инструкции, написанные на
языках программирования высокого уровня (ЯВУ), которые по-
зволяют записать алгоритмы в удобной для понимания челове-
ком форме, приближенной к естественным языкам (исходный
код), или последовательность машинных команд (инструкций,
«понятных» компьютеру, на котором данная программа должна
выполняться).
Готовыми к выполнению являются только программы, со-
держащие инструкции в двоичном машинном коде, – программы
на языке конкретного компьютера (компьютера с процессором
определенной модели или семейства), только такие программы
можно
загрузить в память компьютера для выполнения. Таким
образом, программы в машинном коде не являются «переноси-
мыми», их можно выполнять только на компьютерах с общей
архитектурой, системой команд, поддерживаемой этими компь-
ютерами, т.е. одинаковым машинным языком.
В табл. 6.1 приведен пример исходного кода на языке про-
граммирования высокого уровня (Visual Basic), на машинно-
ориентированном
языке (ассемблере) и машинный код процес-
66
соров Intel, который мог бы соответствовать этим операторам
ЯВУ и машинно-ориентированного языка.
В приведенном фрагменте программы в зависимости от
значения A вычисляется значение B. Для удобства машинный
код представлен не в двоичном, а в шестнадцатеричном виде,
что сокращает запись. В левом столбце машинного кода
показа-
ны относительные (эффективные) адреса, по которым в памяти
при загрузке программы на выполнение размещаются данные и
команды программы. Далее в каждой строчке следует код ко-
манды, занимающий обычно один байт, и операнды команды.
Машинно-ориентированный язык (Assembler) наиболее бли-
зок в языку, который «понимает» компьютер. В нем каждая ко-
манда, расположенная
в отдельной строке, соответствует одной
машинной команде (табл.6.1). В столбике таблицы, в котором
показан шестнадцатеричный машинный код, первое число пред-
ставляет собой адрес в памяти компьютера, по которому будет
при выполнении программы записана команда или данные, ма-
шинный код которых следует за этим числом в строке.
Исходный код программы на
языке программирования соз-
дает программист, используя при этом имеющиеся в его распо-
ряжении редакторы текстов (специальные программы, которые
Таблица 6.1. Фрагменты кода программ
Машинные команды
Код на Visual Basic
Код Assembler Шестнадцатеричный код
Dim A As Integer
Dim B As Integer
If A > 0
Then
B = A + 3
Else
B = –A + 3
End If
Exit Sub
BEGIN_IF: CMP A, 0
JLE ELSE_IF
MOV AX, A
MOV B, AX
ADD B, 3
JMP END_IF
ELSE_IF: MOV AX, A
MOV B, AX
NEG B
ADD A, 3
END_IF: RET
A DW 0
B DW 0
0100 83 3E 0125 R 00
0105 7E 0E
0107 A1 0125 R
010A A3 0127 R
010D 83 06 0127 R 03
0112 EB 10 90
0115 A1 0125 R
0118 A3 0127 R
011B F7 1E 0127 R
011F 83 06 0125 R 03
0124 CB
0125 0000
0127 0000
                             65                                                                   66

                                                                соров Intel, который мог бы соответствовать этим операторам
        Глава 6. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ                        ЯВУ и машинно-ориентированного языка.
                                                                                             Таблица 6.1. Фрагменты кода программ
     Современные вычислительные системы (ВС) представляют
собой с точки зрения их пользователя комплекс «Аппарату-                                              Машинные команды
ра + Программное обеспечение». Компьютер с традиционной         Код на Visual Basic
архитектурой работает, выполняя действия в соответствии с                                 Код Assembler         Шестнадцатеричный код
программой, загруженной в его память. Все задачи, решаемые с
помощью ВС, требуют запуска и выполнения реализующих их         Dim A As Integer
                                                                Dim B As Integer
                                                                                      BEGIN_IF: CMP
                                                                                                JLE
                                                                                                      A, 0
                                                                                                      ELSE_IF
                                                                                                                0100
                                                                                                                0105
                                                                                                                       83 3E 0125
                                                                                                                       7E 0E
                                                                                                                                    R 00
программ.                                                       If A > 0
                                                                                                MOV   AX, A     0107   A1 0125 R
                                                                                                MOV   B, AX     010A   A3 0127 R
                                                                  Then
                                                                                                ADD   B, 3      010D   83 06 0127   R 03
                                                                    B = A + 3
                6.1. Понятие программы                            Else
                                                                                                JMP
                                                                                      ELSE_IF: MOV
                                                                                                      END_IF
                                                                                                      AX, A
                                                                                                                0112
                                                                                                                0115
                                                                                                                       EB 10 90
                                                                                                                       A1 0125 R
                                                                    B = –A + 3
                                                                                                MOV   B, AX     0118   A3 0127 R
     Программа – это последовательность инструкций (команд),    End If
                                                                                                NEG   B         011B   F7 1E 0127   R
описывающая алгоритм решения с помощью компьютера соот-         Exit Sub                        ADD   A, 3      011F   83 06 0125   R 03
                                                                                      END_IF: RET               0124   CB
ветствующей задачи, для реализации которой эта программа бы-                          A         DW    0         0125   0000
ла разработана.                                                                       B         DW    0         0127   0000
     Для разработки программ используются специальные язы-
ки.
     Программа может содержать инструкции, написанные на            В приведенном фрагменте программы в зависимости от
языках программирования высокого уровня (ЯВУ), которые по-      значения A вычисляется значение B. Для удобства машинный
                                                                код представлен не в двоичном, а в шестнадцатеричном виде,
зволяют записать алгоритмы в удобной для понимания челове-
                                                                что сокращает запись. В левом столбце машинного кода показа-
ком форме, приближенной к естественным языкам (исходный
код), или последовательность машинных команд (инструкций,       ны относительные (эффективные) адреса, по которым в памяти
«понятных» компьютеру, на котором данная программа должна       при загрузке программы на выполнение размещаются данные и
выполняться).                                                   команды программы. Далее в каждой строчке следует код ко-
                                                                манды, занимающий обычно один байт, и операнды команды.
     Готовыми к выполнению являются только программы, со-
                                                                    Машинно-ориентированный язык (Assembler) наиболее бли-
держащие инструкции в двоичном машинном коде, – программы
                                                                зок в языку, который «понимает» компьютер. В нем каждая ко-
на языке конкретного компьютера (компьютера с процессором
определенной модели или семейства), только такие программы      манда, расположенная в отдельной строке, соответствует одной
можно загрузить в память компьютера для выполнения. Таким       машинной команде (табл.6.1). В столбике таблицы, в котором
образом, программы в машинном коде не являются «переноси-       показан шестнадцатеричный машинный код, первое число пред-
                                                                ставляет собой адрес в памяти компьютера, по которому будет
мыми», их можно выполнять только на компьютерах с общей
                                                                при выполнении программы записана команда или данные, ма-
архитектурой, системой команд, поддерживаемой этими компь-
ютерами, т.е. одинаковым машинным языком.                       шинный код которых следует за этим числом в строке.
     В табл. 6.1 приведен пример исходного кода на языке про-       Исходный код программы на языке программирования соз-
граммирования высокого уровня (Visual Basic), на машинно-       дает программист, используя при этом имеющиеся в его распо-
                                                                ряжении редакторы текстов (специальные программы, которые
ориентированном языке (ассемблере) и машинный код процес-