05.06.2006, 16:10
общий
это ответ
Здравствуйте, RoSMag!
Процессор работает с "голыми" цифрами. В ячейках памяти записаны байты команд, процессор поочередно извлекает их из памяти, обрабатывает и что-то делает. Изначально процессор мог работать только с цифрами, поэтому все писалось в машинных кодах. Для упрощения написания программ придумали язык Ассемблер, который представляет собой те же машинные коды, только представленные в более привлекательном виде, например кусок программы для КР580ВМ80А (аналог Intel 8080 ):
MVI А, В4h; Загрузка А числом В4h
СМА; Инвертирование А
STA 0820; Запись содержимого А в ячейку памяти
HLT; Останов МП
Проведем ассемблирование программы, т.е. перевод мнемокодов в коды команд МП К580. Команды будем располагать в памяти, начиная с адреса 0800.
0800 ЗЕ MVI A, B4h
0801 B4
0802 2F СМА
0803 32 STA 0820
0804 20
0805 08
0806 76 HLT
Такая запись команд до сих пор используется при программировании микроконтроллеров. Написаны оболочки для ПК для прошивки ПЗУ, отладки программ, эмуляции микроконтроллера, но программа пишется на ассемблере.
В дальнейшем с увеличением мощностей процессоров, увеличением оперативной памяти и появлением устройств долговременного хранения информации (НГМД, НЖМД и т.п. ) появилась возможность создания оболочек (сред программирования).
К чему это привело, видно на примере развития CP/M-MSDOS-Windows.
В любом случае, на каком бы языке мы не писали, все равно программа преобразуется либо сразу в коды, понятные для процессора (компиляция), либо при обработке внешней программой (интерпретация).
С уважением.