From fb50ba182947c32bbc99f4aba2508b492d524a68 Mon Sep 17 00:00:00 2001
From: Andrew <saintruler@gmail.com>
Date: Fri, 24 Apr 2020 18:22:32 +0400
Subject: =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20=D1=87?=
 =?UTF-8?q?=D0=B5=D1=82=D0=B2=D0=B5=D1=80=D1=82=D1=83=D1=8E=20=D0=BB=D0=B0?=
 =?UTF-8?q?=D0=B1=D0=BE=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=BD=D1=83=D1=8E=20?=
 =?UTF-8?q?=D0=BF=D0=BE=20=D0=B0=D1=81=D0=B2=D1=82=20=D0=B8=20=D0=BB=D0=B0?=
 =?UTF-8?q?=D0=B1=D0=BE=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=BD=D1=83=D1=8E=20?=
 =?UTF-8?q?3.2=20=D0=BF=D0=BE=20=D1=84=D0=B8=D0=B7=D0=B8=D0=BA=D0=B5.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 asvt/labs/lab4/lab4.tex | 210 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 210 insertions(+)
 create mode 100644 asvt/labs/lab4/lab4.tex

(limited to 'asvt/labs/lab4/lab4.tex')

diff --git a/asvt/labs/lab4/lab4.tex b/asvt/labs/lab4/lab4.tex
new file mode 100644
index 0000000..b55956d
--- /dev/null
+++ b/asvt/labs/lab4/lab4.tex
@@ -0,0 +1,210 @@
+\documentclass[bachelor, och, labwork]{SCWorks}
+% параметр - тип обучения - одно из значений:
+%    spec     - специальность
+%    bachelor - бакалавриат (по умолчанию)
+%    master   - магистратура
+% параметр - форма обучения - одно из значений:
+%    och   - очное (по умолчанию)
+%    zaoch - заочное
+% параметр - тип работы - одно из значений:
+%    referat    - реферат
+%    coursework - курсовая работа (по умолчанию)
+%    diploma    - дипломная работа
+%    pract      - отчет по практике
+% параметр - включение шрифта
+%    times    - включение шрифта Times New Roman (если установлен)
+%               по умолчанию выключен
+
+\usepackage{subfigure}
+\usepackage{tikz,pgfplots}
+\pgfplotsset{compat=1.5}
+\usepackage{float}
+
+%\usepackage{titlesec}
+\setcounter{secnumdepth}{4}
+%\titleformat{\paragraph}
+%{\normalfont\normalsize}{\theparagraph}{1em}{}
+%\titlespacing*{\paragraph}
+%{35.5pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
+
+\titleformat{\paragraph}[block]
+{\hspace{1.25cm}\normalfont}
+{\theparagraph}{1ex}{}
+\titlespacing{\paragraph}
+{0cm}{2ex plus 1ex minus .2ex}{.4ex plus.2ex}
+
+% --------------------------------------------------------------------------%
+
+
+\usepackage[T2A]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage{graphicx}
+\graphicspath{ {./images/} }
+\usepackage{tempora}
+
+\usepackage[sort,compress]{cite}
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{amsthm}
+\usepackage{fancyvrb}
+\usepackage{listings}
+\usepackage{listingsutf8}
+\usepackage{longtable}
+\usepackage{array}
+\usepackage[english,russian]{babel}
+
+% \usepackage[colorlinks=true]{hyperref}
+\usepackage{url}
+
+
+\newcommand{\eqdef}{\stackrel {\rm def}{=}}
+
+\renewcommand\theFancyVerbLine{\small\arabic{FancyVerbLine}}
+
+\newtheorem{lem}{Лемма}
+
+\begin{document}
+
+% Кафедра (в родительном падеже)
+\chair{}
+
+% Тема работы
+\title{Отчет по дисциплине ``Аппаратные средства вычислительной техники'' по лабораторной работе \#3}
+
+% Курс
+\course{1}
+
+% Группа
+\group{131}
+
+% Факультет (в родительном падеже) (по умолчанию "факультета КНиИТ")
+\department{факультета КНиИТ}
+
+% Специальность/направление код - наименование
+%\napravlenie{09.03.04 "--- Программная инженерия}
+%\napravlenie{010500 "--- Математическое обеспечение и администрирование информационных систем}
+%\napravlenie{230100 "--- Информатика и вычислительная техника}
+%\napravlenie{231000 "--- Программная инженерия}
+\napravlenie{090301 "--- Компьютерная безопасность}
+
+% Для студентки. Для работы студента следующая команда не нужна.
+% \studenttitle{Студентки}
+
+% Фамилия, имя, отчество в родительном падеже
+\author{Гущина Андрея Юрьевича}
+
+% Заведующий кафедрой
+% \chtitle{} % степень, звание
+% \chname{}
+
+%Научный руководитель (для реферата преподаватель проверяющий работу)
+\satitle{доцент} %должность, степень, звание
+\saname{О. В. Мещерякова}
+
+% Руководитель практики от организации (только для практики,
+% для остальных типов работ не используется)
+% \patitle{к.ф.-м.н.}
+% \paname{С.~В.~Миронов}
+
+% Семестр (только для практики, для остальных
+% типов работ не используется)
+%\term{8}
+
+% Наименование практики (только для практики, для остальных
+% типов работ не используется)
+%\practtype{преддипломная}
+
+% Продолжительность практики (количество недель) (только для практики,
+% для остальных типов работ не используется)
+%\duration{4}
+
+% Даты начала и окончания практики (только для практики, для остальных
+% типов работ не используется)
+%\practStart{30.04.2019}
+%\practFinish{27.05.2019}
+
+% Год выполнения отчета
+\date{2020}
+
+\maketitle
+
+% Включение нумерации рисунков, формул и таблиц по разделам
+% (по умолчанию - нумерация сквозная)
+% (допускается оба вида нумерации)
+% \secNumbering
+
+\tableofcontents
+
+\section{Задание 1}
+
+\textit{Скомпилируйте программу лаб. работы 11 (установка системных часов) в 
+формате .exe, загрузите ее в отладчик (с произвольными параметрами командной 
+строки) и проанализируйте PSP этой программы. Выведите дамп блока памяти 
+окружения процесса.}
+
+\subsection{Проверяем программу}
+
+Возьмём программу из прошлой лабораторной и проверим её работоспособность.
+
+\begin{figure}[H]
+    \centering
+    \includegraphics[width=0.7\textwidth]{run.png}
+    \caption{Смотрим часы}
+    \label{}
+\end{figure}
+
+Всё ещё работает. Сделано на века!
+
+\subsection{Program Segment Prefix}
+PSP или Program Segment Prefix -- это префикс программного сегмента в MS-DOS,
+который предшествует в памяти каждой COM или EXE-программе, и занимает 100h 
+байт. Структура PSP одинакова для файлов обоих типов.
+
+\subsection{Дебажим}
+
+Для дебага программы решил взять дебаггер из того же набора, что и 
+ассемблер с линковщиком -- Turbo Debugger. Попробуем посмотреть что нам выведет
+дебаггер.
+
+\begin{figure}[H]
+    \centering
+    \includegraphics[width=0.8\textwidth]{tdb_run.png}
+    \caption{Turbo Debugger}
+    \label{}
+\end{figure}
+
+Можно увидеть несколько окон со всей информацией, которую нам нужно знать о
+нашей программе. Непосредственно в основном окне выведен её исходный код.
+
+Значение столбцов главного окна слева направо:
+\begin{itemize}
+    \item Адреса команд в памяти. Можно заметить смещение на 100h, благодаря команде ORG 100h
+    \item Сами команды в виде машинного кода.
+    \item Эти же команды, только в человекочитаемом виде.
+\end{itemize}
+
+Под основным окном видно дамп памяти программы (А рядом с ним этот же дамп, но
+в виде ASCII-символов).
+
+В окнах справа отображается состояние регистров, флагов и стека.
+
+
+\section{Задание 2}
+
+\textit{Определение размера программы в формате exe.}
+
+Возьмём ту же программу из прошлого задание я добавим в ней новый сегмент.
+
+После ассемблирования в дебаггере получилась следующая картина:
+
+\begin{figure}[H]
+    \centering
+    \includegraphics[width=0.8\textwidth]{cs_tdb.png}
+    \caption{}
+    \label{}
+\end{figure}
+
+Видно, что в регистре cs находится значение 43AD. Это и есть размер 
+нашей программы.
+
+\end{document}
-- 
cgit v1.2.3

