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



Назовите цели и задачи дисциплины. Дайте определение понятиям ‘программы’, ‘программное обеспечение’, ‘системное программирование’. Перечислите и опишите этапы подготовки программы. Целью дисциплины является изучение принципов и методов системного программирования. Задачами изучения дисциплины являются: обучить учащегося архитектуре команд процессора, средства взаимодействия с внешними устройствами компьютера; обучить разрабатывать программы на ассемблере. Программа – это данные, предназначенные для управления конкретными компонентами системы обработки информации. ПО – совокупность программ системы обработки информации и документов, необходимых для их эксплуатации. Системное программирование – подраздел программирования, заключающийся в работе над системным программным обеспечением. Процесс подготовки и отладки программы на языке ассемблера включает этапы подготовки исходного текста, трансляции, компоновки и отладки. Подготовка исходного текста программы выполняется с помощью любого текстового редактора. Файл с исходным текстом должен иметь расширение .asm. Трансляция исходного текста программы состоит в преобразовании строк исходного языка в коды машинных команд и выполняется с помощью транслятора с языка ассемблера. Компоновка объектного файла выполняется с помощью программы компоновщика. Её основное назначение — подсоединение к файлу с основной программой файлов с подпрограммами и настройка связей между ними. Отладка готовой программы может выполняться разными методами, выбор которых определяется структурой и функциями отлаживаемой программы.  

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

Команды DIV и IDIV предназначены для целочисленного деления беззнаковых и знаковых двоичных данных соответственно.

Синтаксис:

DIV источник(делитель)

IDIV источник (делитель)

Команда DIV выполняет целочисленное деление без знака AL, АХ или ЕАХ (в за­висимости от размера источника) на источник (регистр или перемен­ная) и помещает результат в AL, АХ или ЕАХ, а остаток - в АН, DX или EDX соответственно. Команда IDIV выполняет целочисленное деление со знаком AL, AX или ЕАХ (в за­висимости от размера источника) на источник (регистр или перемен­ная) и помещает результат в AL, АХ или ЕАХ, а остаток - в АН, DX или EDX соответственно. Исключения: При выполнении операции деления возможно возникновение исключительной ситуации: 0 — ошибка деления. Эта ситуация возникает в одном из двух случаев: делитель равен 0 или частное слишком велико для его размещения в регистре eax/ax/al.

Пример:

.data

delt          db      45

.code

div delt

 

3. Дайте определение понятия ‘системы программирования’. Назовите принципы функционирования систем программирования. Перечислите их возможности. Приведите примеры современных систем программирования.

Система программирования – система, образуемая языкам программирования, компьютером или интерпретатором программ, а также вспомогательными средствами для подготовки программ к форме, пригодной для их выполнения. Система программирования и трансляции — очень наукоемкая область программного обеспечения. Организация трансляторов — это было первое применение теоретических достижений науки, которые заключались в следующем. За счет возможности использования тех или иных грамматик (наборов формальных правил построения лексических конструкций и синтаксических правил), можно разделить программную реализацию лексических и синтаксических анализаторов на два компонента. Первый компонент — это программа, которая в общем случае ничего не знает о том языке, который она будет анализировать. Второй компонент — это набор данных, представляющий из себя формальное описание свойств языка, который мы анализируем. Совмещение этих двух компонентов, позволяет автоматизировать процесс построения лексических и синтаксических анализаторов, а также генераторов кода, для различных языков программирования.

 

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

Способы передачи аргументов в процедуру: через область памяти, через стек, через регистры, и с помощью extern и public.Передача аргументов через регистры — наиболее простой в реализации способ передачи данных. Данные, переданные подобным способом, становятся доступными немедленно после передачи управления процедуре. Этот способ можно рекомендовать для передачи небольших объемов данных.Недостатки этого способа: небольшое число доступных для пользователя регистров; необходимость постоянно помнить о том, какая информация в каком регистре находится; ограничение размера передаваемых данных размерами регистра — если размер данных превышает 8, 16 или 32 бита, то передачу данных посредством регистров произвести нельзя и передавать приходится не сами данные, а указатели на них. Достоинства:наиболее простой в реализации способ передачи данных(простота).

Пример:

Primer proc uses eax ecx

.....

Primer endp

 

5.Раскройте суть понятия ‘программный отладчик’. Опишите процесс их эксплуатации. Перечислите воз­можности программных отладчиков. Приведите примеры программных отладчиков.

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

Возможности:

· Способы отображения дизассемблированного кода: MASM, IDEAL, HDA.

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

· Развёрнутая система поиска: поиск всех возможных констант, команд, последовательностей команд, текстовых строк и ссылок в коде на данный адрес.

· Распознание и расшифровка более двух тысяч типичных функций Windows API.

· Эвристический анализ стека, распознание адресов возврата в родительскую процедуру.

· Простые, условные и протоколирующие точки останова.

Пример отладчиков: OllyDbg, Turbodbg.

 

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

Команды работы с битами: bsf, bsr, ВТ, BTS, BTR, ВТС.

Синаксис:

bsf операнд_1, операнд_2

bsr операнд_1,операнд_2

bt операнд, смещение_бита

bts операнд, смещение_бита

btr операнд, смещение_бита

btc операнд, смещение_бита

bsf — сканирование битов вперед.

bsr — сканирование битов в обратном порядке.

Команда проверки бита ВТ (Bit Test) переносит значение бита в флаг CF Команда проверки и установки бита BTS переносит значение бита в флаг CF и затем устанавливает проверяемый бит в 1. Команда проверки и сброса бита BTR переносит значение бита во флаг CF и затем устанавливает этот бит в 0.

Команда проверки и инвертирования бита ВТС переносит значение бита в флаг CF и затем инвертирует значение этого бита.

Пример:

bsf bx,ax

bsr bx,ax    

bt ax,5

mov ax,10

bts pole,ах

 

 

Перечислите основные типы данных микропроцессора. Опишите каждый тип с точки зрения размерности и с точки зрения разрядности. Сформулируйте основной принцип хранения данных для микропроцессоров Intel. Поясните этот принцип на конкретном примере.


Дата добавления: 2018-05-09; просмотров: 380; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!