Технологія виконання системних робіт на ІBM PC.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра електронних обчислювальних машин

Інформація про роботу

Рік:
2004
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Системне програмування

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра електронних обчислювальних машин Звіт про виконання лабораторної роботи № 2 з курсу „ Системне програмування ” Тема: Технологія виконання системних робіт на ІBM PC. Львів – 2004 Мета роботи: оволодіння навичками роботи із системною програмою DEBUG (наладчик). Короткі теоретичні відомості РОБОТА ІЗ ПРОГРАМОЮ DEBUG Програма DEBUG - це наладчик програм у системі MS-DOS. Debug можна викликати за допомогою наступної команди MS-DOS: DEBUG[<специф._файла] [<список_аргум.>] Якщо вказане ім'я файлу, то можна задавати ще й список параметрів запуску даної програми. Команди debug складаються з літери та одного чи декількох параметрів. Команда debug | функція A [<address>] асемблювання С <range> <address> порівняння D [<range>] вивід дампа на екран E <address> [<lіst>] ввід байтів з клавіатури F <range> <lіst> наповнення (зони в пам'яті) G [=<address> [<address>...]] запуск програми H <value> <value> hex-арифметика І <value> ввід байта з порту L [<address>[<drіve:> <record> <record>]] завантаження M <range> <address> пересилання блока пам'яті N <fіlename>[<fіlename>] задати ім'я [файла] O <value> <byte> вивід байта до порту Q вихід до MS-DOS R <regіster-name> вміст регістра S <range> <lіst> пошук T [=address>][<value>] трасування U [<range>] деасемблювання W [<address> [<drіve:> <record> <record>] запис Якщо у команді debug присутня синтаксична помилка, він виводить помилковий командний рядок та вказує на помилку символом "^" та словом error. Під час вводу команд дозволені довільні сполучення символів верхнього та нижнього регістрів. Параметри у команді можуть бути розмежовані комами або пропусками. Опис деяких команд DEBUG. 1. Команда ASSEMBLE активує режим вводу команд асемблера та переводу їх в машинні коди. Встановлення початкової адреси здійснюється за допомогою команди: A nnnn <Enter>, де nnnn - адреса зміщення в кодовому сегменті, з якої буде здійснюватись ввід команд. Завершити ввід команд можна двічі натиснувши клавішу <Enter>. 2. Команда UNASSEMBLE деасемблює вказаний діапазон байтів з вказівкою адрес та значень байтів. Напр: U04BA:0100 L10 debug деасемблює 16 байтів, починаючи від адреси 04BA:0100. 3. Команда TRACE має наступний формат: T[=адреса][значення] Якщо наведено значення параметра [=адреса], буде виконана команда, що розташована за вказаною адресою. Якщо наведений параметр <значення, команда трасування Т буде виконана відповідне число разів. Наприклад: T=011a 10 debug виконає 16(10h) інструкцій, починаючи від адреси 011A у поточному сегменті. 4. Команда GO має наступний формат: G [=адреса][адреси] Здійснює/поновлює виконання програми з адреси вказаної в IP. Якщо наведено значення параметра [=адреса], будуть виконані всі програмні інструкції, що знаходяться в діапазоні адрес зміщень між поточним значенням IP та [=адреса], після чого виконання буде призупинено. 5. Команда DUMP виводить на екран вміст вказаної зони пам'яті. Наприклад: dcs:100 110 debug друкує дамп у наступному форматі: 04BA:0100 42 45 52 54 41 ... 4E 44 TOM SAWYER 6. Команда REGISTERS виводить на екран вміст регістрів та ознак. В якості необов'язкового параметра можна вказати який-небудь окремий регістр, значення якого необхідно вивести на екран. По замовчуванню команда виводить значення всіх регістрів. Регістр прапорів: Назва Встан./Скинуто Значення  O OV / NV Переповнення старшого біта при арифметичних командах  D DN / UP Напрям пересилання / порівняння для стрічкових даних  I EІ / DІ Дозвіл на переривання  S NG / PL Результуючий знак після арифметичних операцій (0 - "+" / 1 - "-")  Z ZR / NZ Результат арифметичних операцій та операцій порівн. (0-не нуль / 1-нуль)  A AC / NA Використовується для спеціальних арифметичних операцій  P PE / PO Контроль парності молодших 8-бітових даних (0 - парне / 1 - непарне)  C CY / NC Перенос із старшого біта після арифметичних операцій, а також останній біт при звичайних або циклічних зсувах  Завдання на лабораторну роботу Варіант 9. 0B1D:0100 B101 MOV CL,01 0B1D:0102 B80300 MOV AX,0003 0B1D:0105 D3E8 SHR AX,CL 0B1D:0107 A800 TEST AL,00 0B1D:0109 D0C8 ROR AL,1   Запускаємо наладчик: C:\>debug За допомогою команди а 100 вводимо команди. Щоб перевірити внесені дані використовуємо команду u 100. Щоб переглянути вміст регістрів використовуємо команду r. Для покрокового виконання програми вводимо команду t для кожного кроку. Вміст регістрів та наступна команда: AX=0000 CX=0000 IP=0100 NV UP EI PL NZ NA PO NC 0B1D:0100 B101 MOV CL,01 MOV CL,01 – записує в молодший байт регістра CX значення 01; AX=0000 CX=0001 IP=0102 NV UP EI PL NZ NA PO NC 0B1D:0102 B80300 MOV AX,0003 MOV AX,03 – записує в регістр AX значення 0003; AX=0003 CX=0001 IP=0105 NV UP EI PL NZ NA PO NC 0B1D:0105 D3E8 SHR AX,CL SHR AX,CL – зсовує вміст регістра AX на кількість розрядів, що зберігається в CL, тобто на 1, оскільки зсунутий біт був одиницею, то встановлюється прапорець переносу С ( CY; AX=0001 CX=0001 IP=0107 NV UP EI PL NZ AC PO CY 0B1D:0107 A800 TEST AL,00 TEST AL,00 – виконує логічну операцію І над своїми операндами, але змінює тільки значення прапорців, зокрема встановлює прапорець Z ( ZR – результат виконаної операції дорівнює нулю; AX=0001 CX=0001 IP=0109 NV UP EI PL ZR NA PE NC 0B1D:0109 D0C8 ROR AL,1 ROR AL,01 – циклічно зсовує вміст AL на 1 ( 0000 0001 (01h) ( 1000 0000 (80h) ), оскільки зсунутий біт був одиницею, то встановлюється прапорець переносу С ( CY; AX=0080 CX=0001 IP=010B OV UP EI PL ZR NA PE CY 0B1D:010B 90 NOP Висновок: Виконуючи дану лабораторну роботу, я оволодів навичками роботи із системною програмою DEBUG (наладчик).
Антиботан аватар за замовчуванням

31.03.2013 15:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!