DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

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

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра електронних обчислювальних машин Звіт про виконання лабораторної роботи № 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:09

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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