Запись программы

Программист должен:

1. Знать состав команд МП.

2. Быть хорошо знаком с расположением регистров МП.

3. Знать общую архитектуру ЭВМ.

Этапы развития программы могут быть представлены следующим образом:

· Определить и проанализировать задачу.

· Начертить структурную схему решения.

· Записать программу на ассемблере.

· Записать или генерировать программу в кодах.

· Загрузить программу на решение.

· Документировать программу.

Например.

Сложение содержимого трех последовательных ячеек памяти и размещение суммы в памяти.

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

Нарисуем подробную функциональную схему:

Подробная функциональная схема организации решения задачи сильно зависит от архитектуры и состава команд данного МП. В то время, как общая функциональная схема может быть использована для любой вычислительной системы, т.е. она инвариантна по отношению к системе команд и архитектуре.

Затем следует записать версию подробной структурной схемы на ассемблере в 4 типовых поля: метка, мнемоника, операнд и комментарий.

Метка Мнемоника Операнд Комментарий
  LXI Н, 2010Н Загрузить адрес 2010Н в пару регистров HL. Эта пара регистров используется как указатель адреса.
  MOV А, М Поместить первое число из ячейки памяти с адресом 2010Н в аккумулятор (А).
  INX Н Инкрементировать пару регистров HL до 2011Н.
  ADD М Сложить второе число в ячейке памяти 2011Н с содержимым А.
  INX H Инкрементировать пару регистров HL до 2012.
  ADD M Сложить третье число в ячейке памяти 2012 с содержимым А.
  INX Н Инкрементировать пару регистров HL до 2013.
  MOV М, А Поместить сумму из А в ячейку памяти 2013.
  HLT   Остановить МП.

Метку пока опустим, комментарий оказывает большую помощь в понимании действия каждой команды.

Записанная версия должна быть переведена в состав бит из 0 и 1, понимаемых МП и называемых машинным кодом.

Это можно сделать с помощью специальных программ или вручную.

Вручную кодирование выполняется следующим образом:

1. найти код операции каждой мнемоники в таблице состава команд.

2. определить операнды (данные и адреса), когда это необходимо передать командами из нескольких байт.

3. установить адреса памяти в последовательности каждой команды и операнда.

Шестнадцатеричная Мнемоника Операнд Комментарий
Адрес Содержимое
  21(код операции) 10 (младший байт) 20 (старший байт) LXI Н, 2010Н Загрузить адрес 2010Н в пару регистров HL, как указатель адреса.
  MOV А, М Загрузить первое число из ячейки памяти с адресом 2010Н в А.
    INX Н Инкрементировать пару регистров HL до 2011Н.
    ADD М Сложить второе число с адресом 2011Н с содержимым А.
    INX H Инкрементировать пару регистров HL до 2012.
    ADD M Сложить третье слагаемое из ячейки памяти 2012 с содержимым А.
    INX Н Инкрементировать пару регистров HL до 2013.
    MOV М, А Поместить сумму из А в ячейку памяти, на которую указывает содержимое пары регистров HL.
202А   HLT   Остановить программу.

Затем нужно проверить программу в том смысле работает ли она. Эта операция представляет собой процесс отладки программы (поиск и устранение ошибок).

Последним этапом программирования является документирование. Документировать программу значит дать ее описание, указывающее в какой последовательности выполняются операции. Суда входят: блок-схемы алгоритмов вычислений, списки, данные, адреса использованных подпрограмм и развернутый комментарий.

Большие сильно развитые программы требуют тщательно разработанной документации.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: