![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
1) Створення файлів
copy con [ дисковод:] [ шлях\ ] ім'я_файлу
Після введення цієї команди по черзі вводяться рядки файлу. Після кожного рядка варто натискати клавішу Enter. Після введення останнього рядка натиснути комбінацію клавіш Ctrl+Z, що є ознакою кінця файлу. На екран буде виведене повідомлення
1 file(s) copied (1 файл скопійований)
і на диску з'явиться файл із зазначеним ім'ям.
2) Видалення файлів.
Del [ дисковод:] [ шлях \] ім'я_файлу
Приклади: Del aaa.txt - віддаляється файл aaa.txt
Del a:\cc\aaa.txt - віддаляється файл aaa.txt каталогу cc диска a:
Del *.* - віддаляються усі файли поточного каталогу з попереднім запитом
3) Перейменування файлів.
Ren [ дисковод:] [ шлях \] ім'я_старе ім'я_нове
Приклади: ren aaa.doc aaa.txt файл aaa.doc з поточного каталогу
буде перейменований у aaa.txt
ren *.doc *.txt Усі файли поточного каталогу, що мають
розширення .doc будуть мати розширення .txt
ren aaa.doc *.txt аналогічна першому прикладові
4) Копіювання файлів
copy [ дисковод1:] [ шлях1\ ] ім'я1 [ дисковод2:] [ шлях2 \] ім'я2 [ /v ]
ключ /v задає перевірку запису читанням
Існують 3 варіанти завдання файлу-приймача:
1) Якщо задані тільки ім'я диска і шлях, то файл буде скопійований у файл із тим же ім'ям на заданий диск.
2) Якщо задано тільки ім'я файлу, то копіювання буде зроблено в поточний каталог.
3) Якщо задано повне ім'я файлу, то копіюється файл у зазначене місце у файл із зазначеним ім'ям.
Замість імен файлів можна використовувати позначення пристроїв:
CON - консоль (клавіатура для введення, монітор для виводу);
PRN - принтер (вихідний файл);
NUL - фіктивне (порожнє) пристрій.
Приклади: copy a1.txt prn вивід файлу a1.txt на принтер
copy a.xyz+b.com+b:c.txt xxx.yyy Команда зчіплює файли a.xyz, b.com і b:c.txt у файл xxx.yyy
copy a.txt b.txt Копіювання в поточному каталозі, створюється файл b.txt, зміст якого такий же як і в a.txt.
copy a:\*.* Усі файли з кореневого каталогу диска a: копіюються у поточний каталог
5) Відображення умісту файлу на екрані.
Type ім'я_файлу
Наприклад: type aaa.txt (виконання аналогічне команді copy aaa.txt con)
6) Порівняння файлів.
Команда порівнює 2 файли або 2 групи файлів і показує розходження інформації в них.
fc[ /режим ] оригінал копія > [ ім'я файлу-протоколу ]
/L виводяться всі рядки, де є розходження (порядкове порівняння)
/b режим побайтового порівняння
/с ігноруються розходження між прописними і рядковими лат. буквами
/n виводиться номер рядка в порівнянні
Наприклад: fc /L /n a:\LR1\task1.pas e:\PETROV\task1.pas > differ.txt
Звіт буде виведений у файл differ.txt (символ ">" перенаправляє дані, виведені командою на екран, у файл або на пристрій.)
7) Пошук
Команда, що завантажується, find здійснює пошук заданої підстроки тексту у файлі або файлах.
find [ /v ] [ /c ] [ /n ] "п і дстрока " [[ диск:] [ шлях ]...]
/v вивід на екран усіх рядків, що не містять задану подстроку;
/c друк числа рядків, що містять цю подстроку;
/n друк номера кожного виведеного рядка.
Приклади: find "text" alisa.pas data.bas Висновок на екран усіх рядків файлів alisa.txt і data.bas, що містять підстроку "text".
2.11 Лабораторна робота 3
Тема: "Утиліта налагоджувача DEBUG: дамп пам'яті"
Ціль: 1. Одержати початкові зведення про можливості програми DEBUG.
2. Вивчити методику застосування деяких основних команд DEBUG.
Порядок виконання:
1. Ознайомитися з можливостями, наданими програмою DEBUG.
2. Вивчити структуру наступних команд DEBUG:
а) початок роботи з DEBUG;
б) перегляд дампа пам'яті;
в) зчитування даних з диска в пам'ять;
г) запис даних з пам'яті на диск;
д) завдання імені програми;
е) пошук;
ж) безпосередні зміни в пам'яті;
з) закінчення роботи.
3. Зміст завдання:
а) Скопіювати на робочий диск у свій каталог файл EXAMPLE.COM і запустити його;
б) Запустити програму DEBUG і потім загрузити EXAMPLE.COM з
диска в пам'ять;
в) Використовуючи команду пошуку визначити перші три адреси осередків пам'яті в яких виявлений символ із заданим кодом (Заданий код дорівнює: Ваш номер за журналом в шістнадцятковому представленні плюс 41h). Визначити фізичні адреси цих осередків. Використовуючи команду перегляду змісту пам'яті визначити якому символу відповідає цей код;
г) Використовуючи команду пошуку визначити адреси осередків пам'яті, в яких виявлена послідовність символів (ця послідовність для кожного варіанта зазначена у таблиці 2.2)
д) Визначити фізичні адреси цих осередків;
е) Змінити зміст пам'яті по цих адресах на будь-яку іншу послідовність символів за своїм вибором;
ж) Записати виправлену програму з пам'яті на диск;
з) Вийти з DEBUG. Запустити EXAMPLE.COM і переконатися в результатах своєї роботи;
и) Видалити виправлений EXAMPLE.COM зі свого каталогу з диска
Зміст звіту.
1. Тема і ціль лабораторної роботи.
2. По кожному пункту завдання відбити:
а) структуру команд, використаних у процесі виконання цього пункту завдання;
б) результати виконання кожної команди;
в) проведені вручну розрахунки, якщо вони необхідні в цьому пункті завдання.
Утиліта налагоджувача DEBUG.
У перекладі з англійського "Bugs" - комахи. Дослівний переклад терміна "debugging" – знищення комах. Цей термін з'явився, коли в комп'ютері Гарвардського університету Марко-1 знайшли моль, що потрапила між контактами реле. Моль була вилучена, а в журнал були занесені зведення про процес "Debugging".
Debug - це інструментальна команда DOS. Застосовується для перегляду і редагування двійкових програмних файлів (файлів машинних команд, що виконуються). Звичайно вона присутня у виді програми DEBUG.COM у каталозі DOS і призначена для професійних програмістів.
Всі операції в DEBUG виконуються в шістнадцятковій арифметиці. Кожна шістнадцяткова цифра являє собою 4 біти в двійковому представленні. Дві шістнадцяткові цифри представляють один байт. Команда працює тільки зі словами!!!
Числа можуть мати довжину від 0 до FFFF.
Для того, щоб ввести чергову команду DEBUG натисніть клавішу "Enter"(Введення).
Короткий перелік основних команд утиліти налагоджувача DEBUG
1) Початок роботи: Введіть ім'я програми DEBUG
Наприклад: D:\TASM\DEBUG (У команді зазначений шлях до файлу, що виконується, DEBUG.COM)
На екрані з'являється запрошення до введення команд відладчика -
2) Припинення роботи DEBUG - Q (від Quit - припинити)
3) Команда для додавання і віднімання шістнадцяткових чисел.
- H число1 число2 (від Hexarithmetic - шістнадцяткова арифметика) Результатом виконання даної команди буде 2 шістнадцяткових числа
число1+число2 число1-число2
Приклад1: - H 3 2
0005 0001
Приклад2: - H D000 C000
9000 1000 (D000h+C000h=19000h, однак при переповненні
зберігаються лише 4 праві цифри відповіді)
Приклад3: - H 2 3
0005 FFFF
Для представлення негативних чисел м/п 8086 використовує додатковий код.
0000 0000 0000 0011 число 3 у прямому коді
1111 1111 1111 1100 інвертуємо біти - зворотний код числа 3
+ 1 додаємо 1
1111 1111 1111 1101 додатковий код числа 3
0000 0000 0000 0010 число 2
+ 1111 1111 1111 1101 додатковий код числа 3
1111 1111 1111 1111 (FFFF)
у відповіді вийшло негативне число в додатковому коді
0000 0000 0000 0000 інвертуємо всі біти
+ 1 і додаємо 1
0000 0000 0000 0001 модуль негативного числа дорівнює 1 (2-3=-1)
М/п може розглядати числа як зі знаком, так і без знака. Якщо розглядаються числа без знака, то переповнення - це помилка. Якщо розглядаються числа зі знаком, то помилки немає. При цьому числа від 8000h до FFFFh поводяться як негативні числа.
Позитивні 0000h 0000 0000 0000 0000b 0
.........
7FFFh 0111 1111 1111 1111b +32767
Негативні 8000h 1000 0000 0000 0000b -32768
.........
FFFFh 1111 1111 1111 1111b -1
Для представлення числа в зворотному коді немає необхідності попередньо переводити його в двійкову систему числення (таблиця 2.1).
Приклад 4: Знайти модуль негативного числа, додатковий код якого FFB4h
004Bh - зворотний код числа FFB4h
+ 1h
004Ch - модуль негативного числа
Таблиця 2.1. Коди чисел
Прямий код | Зворотний код | Прямий код | Зворотний код | ||||
0000b | 0h | 1111b | Fh | 1000b | 8h | 0111b | 7h |
0001b | 1h | 1110b | Eh | 1001b | 9h | 0110b | 6h |
0010b | 2h | 1101b | Dh | 1010b | Ah | 0101b | 5h |
0011b | 3h | 1100b | Ch | 1011b | Bh | 0100b | 4h |
0100b | 4h | 1011b | Bh | 1100b | Ch | 0011b | 3h |
0101b | 5h | 1010b | Ah | 1101b | Dh | 0010b | 2h |
0110b | 6h | 1001b | 9h | 1110b | Eh | 0001b | 1h |
0111b | 7h | 1000b | 8h | 1111b | Fh | 0000b | 0h |
4) Зчитування даних з диска в пам'ять і запис з пам'яті на диск
DEBUG дає засіб представлення на екрані і зміни даних у пам'яті. А нам потрібно переглядати і змінювати дані, збережені на дисках. Зчитати дані в пам'ять з диска можна двома способами:
а) DEBUG E:\MY\FILE.EXT
Якщо робота з DEBUG починається в такий спосіб (зазначені шлях і ім'я файлу), то утиліта зчитує файл у пам'ять.
б) - N E:\MY\FILE.EXT
DEBUG одержує повідомлення про ім'я файлу для зчитування. (від Name - ім'я)
- L
Файл зчитується в пам'ять (від Load - завантажити).
Після внесення змін у пам'ять запис на диск копії вмісту пам'яті виробляється під зазначеним заздалегідь ім'ям командою - W (від Write - записати)
Для того, щоб записати фрагмент програми на диск треба:
а) указати довжину фрагмента шістнадцятирічним числом у регістрі CX
- R CX
CX 0000
:0004
б) вказати ім'я файлу, в який буде записана програма
- N my.com
в) зробити запис файлу
- W
5) Команда перегляду вмісту пам'яті. - D (від Diplay - показати).
Звертання до осередків пам'яті відбувається по адресах. Для м/п типу Intel 8086 довжина адреси 5 шістнадцяткових розрядів.
Адреса представляється двома чотирьох розрядними числами (словами):
сегментна частина - розглядається як зміщена на одну позицію вліво, тобто *10h і зсув - відносна частина, додається до значення сегмента.
Приклад: запис адреси 1234: 5678
сегмент зсув
Повна фізична адреса утвориться так: сегмент*10h + зсув
5678
179B8 повна адреса
Сегменти нумеруються з 0000h. Мінімальний розмір сегмента - 16 байт, максимальний - 64ДО. Початкова адреса сегмента завжди кратний 16.
У команді D необхідно вказати, яку частину пам'яті ми хочемо переглянути: починаючи з якої адреси і скільки ячийок пам'яті.
Приклади: - D F000:6000
починаючи з адреси F000:6000 показується 128 байт за замовчуванням.
- D F000:6000 6800
показується вміст комірок пам'яті з адреси F000:6000 по адресу F000:6800.
- D F000:6000 L 100
починаючи з адреси F000:6000 показується задане число байт (у даному прикладі 100h) (від Length - довжина)
Ці три способи завдання області пам'яті називаються завданням діапазону.
Уміст пам'яті - дамп пам'яті представляється одночасно в шістнадцятковій формі й у символьному форматі. (У символьному форматі відображається тільки 96 символів з 256)
25B4:0100 8A FF F3 0A 1B AE 47 1F-8B C3 48 12 B1 04 50 50......G...H...PP
Тут вміст осередку з адресою 25B4:0100 - 8A 25B4:0101 - FF
25B4:0102 - F3....
6) Безпосередні зміни в пам'яті можна зробити за допомогою команди - E (від Enter - увести).
а)Пряме введення даних
- Е 2F32:1007 A4 B7 62 71
Зазначено починаючи з якої адреси будуть заповнюватися осередки пам'яті (0F32:1007) і шістнадцятирічні числа, що будуть записані в ці осередки.
У результаті вміст осередків з адресами 2F32:1007 A4 2F32:1009 62
2F32:1008 B7 2F32:100A 71
Існує ще одна форма прямого введення даних
- E 2F32:1007 "My name"
Рядок символів знаходиться в подвійних лапках. Починаючи з адреси 0F32:1007 у 7 осередків пам'яті будуть занесені ASCII-коди зазначених символів.
б)Уведення з попереднім переглядом
- E 2F32:1007
На екрані з'являється вміст зазначеного осередка пам'яті:
0F32:1007 EB._
Після крапки можна ввести нове шістнадцяткове число або натиснувши пробіл, залишити колишнє. Процес уведення припиняється натисканням клавіші Enter. Цю команду можна використовувати для безпосереднього введення в пам'ять команд машинною мовою.
Наприклад: - E CS:100
Команди будуть заноситися за зсувом 100h від початку сегмента кодів CS.
7) Для пошуку даних у пам'яті використовується команда - S (від Search - шукати).
- S діапазон список
Діапазон вказує область пам'яті, в якій варто робити пошук. Список показує, що варто шукати в цій області. Список задається або в шістнадцятковому виді, або рядком символів.
Приклади:
- S 0 L FFFF "AB"
пошук у найближчому сегменті починаючи зі зсуву 0000 на максимальну довжину FFFF (якщо відомо точну довжину файлу в шістнадцятковому коді, можна замінити нею число FFFF).
- S 0100 0110 41
пошук всіх адрес, по яких розташований байт 41, починаючи зі зсуву 0100 по 0110.
Результат може мати вигляд:
04BA:0104
04BA:0107
Якщо виконується пошук списку більш, ніж з одного символу, то повідомляється адреса початку областей пам'яті, де виявлений цей список.
Таблиця 2.2. Завдання на лабораторну роботу 3
Варіант | Послідовність символів | Варіант | Послідовність символів |
losing | Except | ||
blaming | build | ||
after | every | ||
yourself | broken | ||
heap | distance | ||
winnings | watch | ||
pitch | seconds | ||
heart | neither | ||
doubt | knaves | ||
allowance | common | ||
waiting | impostors | ||
wise | virtue | ||
hated | thoughts | ||
nerve | crowds | ||
sinew | master |
Дата публикования: 2014-11-18; Прочитано: 569 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!