SoftCraft
разноликое программирование

Top.Mail.Ru

Яндекс.Метрика

Отладка ассемблерных программ


Начальная страница курса

Содержание занятия

  1. Отладчик OllyDbg. Особенности использования.
  2. Знакомство с регистрами процессора Intel.
  3. Разработка и отладка программ, написанных на Ассемблере.

Задание для самостоятельной работы

  1. Установить отладчик (OllyDbg) на рабочий компьютер.
      Примечание. По согласованию с преподавателем выполнение самостоятельной работы допускается с использование иных современных архитектур ВС, ОС, а также компиляторов с языка программирования Ассемблер.
  2. В соответствии с вариантом задания разработать программу, осуществляющу обработку одномерных массивов. При создании программы использовать подпрограммы для отдельных подзадач (ввода, вывода массивов, обработки данных).
  3. Выложить программу и скриншоты на Git в качестве отчета о выполненной работе, предоставляемого преподавателю. Сообщить о выполненной работе. Срок выполнения задания: 2 недели.
      Примечание. Для второго задания внутри ранее сформированного проекта создать отдельный каталог с названием task02. Размещение данных внутри этого каталога произвольное.

Используемые источники информации

  1. Подборка источников информации по отладки программ

Варианты заданий

Разработать программу, использующую динамическое выделение памяти под массив, которая вводит одномерный массив A[N], формирует из элементов массива A новый массив B по правилам, указанным в таблице, и выводит его.

Разбить решение задачи на функции следующим образом:

  1. Ввод и вывод массивов оформить как процедуры.
  2. Выполнение задания по варианту оформить как процедуру

Указанные процедуры могут использовать данные напрямую (имитация процедур без параметров)

Таблица. Варианты заданий
ВариантМассив B из...
1 положительных элементов A
2 элементов A, значение которых не совпадает с первым и последним элементами A
3 сумм соседних элементов A ({A[0] + A[1], A[1] + A[2], ...}).
4 элементов B[i]=1,1,0,если A[i]>0;если A[i]<0;если A[i]=0
5 элементов A, значение которых не совпадает с введённым числом x
6 элементов A, значение которых кратно введённому числу x
7 индексов положительных элементов A
8 элементов B[i]=A[i]+5,A[i]5,0,если A[i]>5;если A[i]<5;иначе
9 нечётных элементов A
10 элементов A в обратном порядке
11 за исключением первого положительного
12 за исключением последнего отрицательного
13 за исключением элементов, значения которых совпадают с минимальным элементом A
14 с заменой всех отрицательных элементов значением максимального
15 с заменой всех нулевых элементов значением минимального
16 значения которых больше среднего арифметического
17 расположенных после последнего положительного элемента
18 с уменьшением всех элементов до первого положительного на 5
19 с заменой нулевых элементов, предшествующих первому отрицательному, единицей
20 с перестановкой местами минимального и первого элемента

Начальная страница курса