48841 (Робота з записами мови ассемблера)

2016-07-30СтудИзба

Описание файла

Документ из архива "Робота з записами мови ассемблера", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48841"

Текст из документа "48841"

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ

“ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”

Кафедра "Обчислювальної техніки та програмування"

АЛЬБОМ ДОКУМЕНТІВ

до курсового проекту з курсу

“Системне програмування”

Тема: “ Робота з записами мови ассемблера ”

Харків

2005

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ

“ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”

Кафедра"Обчислювальної техніки та програмування"

Затверджую

__________________________

_ ________________/ /

“___” ________________2005 р.

Робота з записами мови ассемблера

Специфікація

Лист затвердження

xxxxxxxxxxxxxx

Виконав

ст. гр xxxx

xxxxxxxxxxxxxxx

“___” ________________2005 р.

Перевірив

xxxxxx.

“___” ________________2005 р.

Харків

2005

ЗАТВЕРДЖЕНО

xxxxxxxxxxxx

Робота з записами мови ассемблера

Специфікація

xxxxxxxxxxxxxxxx

Код

Найменування

Примітки

xxxxxx – 00 00-01

Специфікація

xxxxxx. 03011 – 13 00-01

Опис пргограми

xxxxxxx. 03011 – 12 00-01

Текст програми

Харків

2005

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ

“ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ”

Кафедра"Обчислювальної техніки та програмування"

Затверджую

__________________________

_ ________________/ /

“___” ________________2005 р.

Робота з записами мови ассемблера

Опис програми

Лист затвердження

xxxxxxxxxxxxx

Виконав

ст. гр xxxxxx

x xxxxxxx.

“___” ________________2005 р.

Перевірив

xxxxxxxxx.

“___” ________________2005 р.

Харків

2005

ЗАТВЕРДЖЕНО

xxxxxxxxxxx

Робота з записами мови ассемблера

Опис програми

xxxxxxxxxxx

Харків

2005

Зміст

Вступ

Загальні відомості

Функціональне призначення

Опис логічної структури

Використовувані технічні засоби

Виклик і завантаження

Вхідні дані

Вихідні дані

Висновки

Література

Вступ

Запис — структурний тип даних, що складається з фіксованого числа елементів завдовжки від одного до декількох біт.

При описі запису для кожного елементу вказується його довжина в бітах і, що необов'язкове, деяке значення. 8, 16 або 32 біт.

Якщо сумарний розмір запису менше вказаних значень, то всі поля запису “притискаються” до молодших розрядів.

Використовування записів в програмі, так само, як і структур, організовується в три етапи:

Задання шаблона запису, тобто визначення набору бітових полів, їх довжин і, при необхідності, ініціалізація полів.

Визначення екземпляру запису. Так само, як і для структур, цей етап має на увазі ініціалізацію конкретної змінної типом наперед визначеної за допомогою шаблона запису.

Організація звертання до элементів запису.

Компілятор TASM, крім стандартних засобів обробки записів, підтримує також і деякі додаткові можливості їх обробки.

Опис запису

Опис шаблона запису має наступний синтаксис (мал. 6):

Имя_записи RECORD

Тут: є послідовністю описів окремих елементів запису згідно синтаксичній діаграмі (див. мал. 6):

Мал.1. Синтаксис опису шаблона запису

При описі шаблона пам'ять не виділяється, оскільки це всього лише інформація для транслятора асемблера про структуру запису.
Так само, як і для структур, місцеположення шаблона в програмі може бути будь-ким, але при цьому необхідно враховувати логіку роботи однопрохідного транслятора.

Визначення екземпляру запису

Для використовування шаблона запису в програмі необхідно визначити змінну з типом даного запису, для чого застосовується наступна синтаксична конструкція (мал. 7):

Мал.2. Синтаксис опису екземпляру запису

Аналізуючи цю синтаксичну діаграму, можна зробити висновок, що ініціалізація елементів запису здійснюється достатньо гнучко. Розглянемо декілька варіантів ініціалізації.

Якщо ініціалізувати поля не потрібен, то достатньо вказати ? при визначенні екземпляру запису:

...

iotest record

i1:1,i2:2=11,i3:1,i4:2=11,i5:2=00

...

flag iotest ?

Якщо ви складете і дослідите у відладчику тестовий приклад з даним визначенням запису, то побачите, що всі поля змінної типу запис flag обнуляються. Це відбувається не дивлячись на те, що у визначенні запису задані початкові значення полів.

Якщо потрібна часткова ініціалізація елементів, то вони полягають в кутові () або фігурні ({ і }) дужки.
Відмінність тут в тому, що в кутових дужках елементи повинні бути задані в тому ж порядку, що і у визначенні запису. Якщо значення деякого елементу спывпадає з початковим, то його можна не вказувати, але обов'язково позначити його комі. Для останніх елементів коми, що йдуть підряд, можна опустити.

Наприклад, згодитися із значеннями за умовчанням можна так:

iotest record

i1:1,i2:2=11,i3:1,i4:2=11,i5:2=00

...

flag iotest <> ;согласились со значением по умолчанию

Змінити значення поля i2 можна так:

iotest record

i1:1,i2:2=11,i3:1,i4:2=11,i5:2=00

...

flag iotest ; перевизначили i2

Застосовуючи фігурні дужки, також можна вказати вибіркову ініціалізацію полів,але при цьому необов'язково позачити комами поля, із значеннями за умовчанням яких ми згодні:

iotest record

i1:1,i2:2=11,i3:1,i4:2=11,i5:2=00

...

flag iotest {i2=10} ; переопределили i2, не обращая внимания на порядок;следования других компонентов записи

1.Загальні відомості

Проект написан на мові TASM, реалізовано у трьох файлах:

main.asm, defs.inc, funcs.inc, record.inc. Під час компіляції усі файли об’єднуються в один.

Для своєї роботи проект може використовувати операційні системи MS Dos версії 1.0, або вище, а також операційні системи

MS WINDOWS 95/98/Me/2000/XP. Не виключається робота проекту під усіма іншими операційними системами, що якимсь чином можуть емулювати сеанси роботи під операційною системою MS DOS.

2. Функціональне призначення

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

Програма написана на мові ассемблера з використовуванням процедур.

Функціональне обмеження програми є те, що вона може бути реалізована тільки у файлі з розширенням COM, якщо розширення буде EXE програма працювати не буде. Більше функціональних обмежень немає.

3. Опис логічної структури








Mov ah,8

Int 16h













Dec cx

Inc si



Mov al,byet ptr[si]

Cmp al,9h



н

add al,30h

і


т ак

Add al,37h



Mov byte ptr [di],al

Inc si



Inc di

Loop





Mov bp,sp



Push bp



Mov ax,0Ah



Mov dx,[bp+10]


Приведення шляху в asсii


Çì³íà äèñêó çã³äíî øëÿõó


Зміна директорії





Pop bp


Ret 14





Вівод на екран MESX, MES0, MES1,

MES2, MES3, MESX






Mov AH,08h

Int 21h













4.Використовувані технічні записи

Проект має нормально працювати на комп’ютерах IBM PC із процесорами і8086, або більш старших моделях. Програма потребує оперативної пам’яті не більше 6 Кб, до цього треба додати пам’ять, яку займає операційна система MS DOS чи WINDOWS. Потрібен також відеоадаптер VGA, для організації діалогу з користувачем. При написанні проекту використовувався комп’ютер з процесором AMD Athlon XP 1700+, оперативною пам’ятю 256 Мб та операційною системою Windows XP у середовищі TASM.

5. Виклик і завантаження

Основним є файл main.com з його допомогою працює проект. Запускається він з будь-якого носія. Перед користувачем на синьому фоні з’являється меню, в якому він спочатку може виконати наступні дії, за допомогою функціональних клавіш: F2 - створити масив, або F10 – залишити програму.

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

6. Вхідні дані

Вхідними даними програми компілятора є файли main.asm, defs.inc, funcs.inc, record.inc, що розташовані в одному каталозі. Зкомпільований виконуючий файл main.com запускається і користувач працює з інформацією.

7.Вихідні дані

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее