Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OTVET__2012.docx
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
5.45 Mб
Скачать
  1. Охарактеризовать оперативную память компьютера. Дать понятие бита, байта, слова, двойного слова. Понятие адреса байта и слова.

Оперативная память ПК делится на ячейки размеров в 8 разрядов. Их принято называть байтами (byte). Разряды байта нумеруются справа налево от 0 до 7:

При этом правые разряды (с меньшими номерами) называются младшими, а левые разряды – старшими. В каждом разряде может быть записана величина 1 или 0, такую величину принято называть бит (bit). Таким образом, содержимое любого байта – это набор из 8 битов, из 8 нулей и единиц.

Ради краткости договоримся в дальнейшем записывать содержимое ячеек не в двоичной системе, а в 16-ричной, указывая в конце букву h (hexadecimal - шестнадцатиричный), чтобы отличать такие числа от десятичных. Например, если содержимым байта является 00010011, то будем записывать его как 13h (десятичное 19).

Байты нумеруются начиная с 0, порядковый номер байта называется его адресом. Объем оперативной памяти ПК – 210 байтов (1 Мб), поэтому для ссылок на байты памяти нужны 20-разрядные адреса – от 00000h до FFFFFh.

Байт – это наименьшая адресуемая ячейка памяти. Но в ПК имеются и более крупные адресуемые ячейки – слова и двойные слова.

Слово (word) – это два соседних байта. Размер слова – 16 разрядов. Они нумеруются, если рассматривать слово как единое целое, справа налево от 0 до 15. Адресом слова считается по определению адрес первого его байта (с меньшим адресом).

Двойное слово (double word) – это четыре соседних байта или, что то же самое, два соседних слова. Размер двойного слова – 32 разряда, они нумеруются справа налево от 0 до 31. Адрес двойного слова – адрес первого из его байтов (с наименьшим адресом).

ПК может работать как с байтами, так и со словами и двойными словами, т.е. в ПК имеются команды, в которых ячейки этих размеров рассматриваются как единое целое. В то же время слова и двойные слова можно обрабатывать и побайтно.

Отметим, что адрес ячейки еще не однозначно определяет ячейку, поскольку с этого адреса может начинаться ячейка размеров в байт, ячейка размером в слово и в двойное слово.

Ячейки разного размера введены для хранения данных разного типа. Например, байты используют для хранения небольших целых чисел (типа счетчиков) и символов. В виде же слов представляются обычные целые числа и адреса. Двойные слова используются для хранения больших чисел.

  1. Дать понятие о языке Ассемблера. Этапы разработки программы на Ассемблере.

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

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

Этапы:

  1. Постановка и формулировка задачи:

-изучение предметной области и сбор материала в проблемно-ориентированном контексте;

-определение назначения программы, выработка требований к ней и представление требований, ели возможно, в формализованном виде;

-формулирование требований к представлению исходных данных и выходных результатов;

-определение структур входных и выходных данных;

-формирование ограничений и допущений на исходные и выходные данные.

2) Этап проектирования

-формирование «ассемблерной» модели задач;

-выбор метода реализации задачи;

-разработка алгоритма реализации задачи;

-разработка структуры программы в соответствии с выбранной моделью памяти.

3) Этап кодирования:

- уточнение структуры входных и выходных данных и определение ассемблерного формата их представления;

-программирование задачи;

-комментирование текста и составление предварительного описания программы.

4) Этап отладки и тестирования:

-составление тестов для проверки работоспособности программы;

-обнаружение, локализация и устранение ошибок в программе, выявленных в тестах;

-корректировка кода программы и ее описания.

5) Этап эксплуатации и сопровождения:

-настройка программы на конкретные условия использования;

-обучение пользователей работе с программой;

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

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

Главная цель формирования подобного списка работ – в том, чтобы изначально упорядочить процесс создания нового программного продукта с сохранением концептуальной целостности постановки задачи и исключения анархии в процессе разработки. Соблюдение всех пунктов необязательно и определяется конкретной поставленной задачей.

Для исполнения программы на ассемблере необходимо пройти следующие этапы:

1) ввести команды программы в компьютер с помощью редактора;

2) оттранслировать программу с помощью Ассемблера;

3) преобразовать результат работы Ассемблера в исполняемый модуль с помощью загрузчика (провести компоновку);

4) выполнить (вызвать на исполнение полученный исполняемый модуль).

Программа на Ассемблере состоит из последовательности предложений, каждое из которых занимает отдельную строку. Предложением может быть или команда, или псевдооператор языка ассемблер.

Команды представляют собой краткую нотацию системы команд микропроцессора, а псевдооператоры сообщают ассемблеру, что ему делать с командами и данными, которые вы вводите.

Каждая команда может иметь до четырех полей вида:

[Метка:] Мнемокод [Операнды] [;Комментарий ]

В квадратных скобках указываются необязательные поля. Метка и операнды указываются, когда требуются, комментарий ставится только для пояснений (если они необходимы)

Метка служит для присваивания имени команде. По ней на эту команду могут ссылаться другие команды программы. Метки могут содержать до 31 символа (латинские буквы и цифры, но первый символ - буква) и должны заканчиваться двоеточием.

Мнемокод содержит собственно наименование команды микропроцессора. Например, MOV – имя команды пересылки данных (move – переместить), или ADD – имя команды сложения (add – сложить).

В поле операндов сообщается микропроцессору, еде найти данные, подлежащие обработке. Например, в команде MOV CX,DX указывается, что содержимое регистра DX надо скопировать в регистр CX. Заметим, что если имеется два операнда, то первый из них есть приемник, а второй – источник.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]