Зміст звіту - раздел Образование, Виконати дослідження переводу чисел з десяткової в двійкову систему числення 1. Постановка Задачі Для Отриманого Варіанта Завдання.
2. Блок-Схема...
1. Постановка задачі для отриманого варіанта завдання.
2. Блок-схема алгоритму виконання прикладу з детальним коментарем.
3. Лістинг програми з детальним коментарем до кожної команди.
4. Рrint screen екрана 32-розрядного налагоджувача з виконанням програми та результатами виконання.
5. Короткий опис виконання програми.
6. Висновки за результатами роботи.
Приклад 7.8.Написати на асемблері програму обчислення виразу
а × b + c, де a = 4, b = 5, c = 6,
оформити її у вигляді API-подібної функції та зберегти результат виконання виразу у пам’яті.
Лістинг 7.24. Програма обчислення прикладу 7.8:
title CopyRight by Rysovaniy A. N. rysov@rambler.ru
.386 ; директива визначення типу мікропроцесора
.model flat,stdcall ; завдання лінійної моделі пам’яті
; та угоди ОС Windows
option casemap:none ; відмінність малих та великих літерincludelib masm32v9_0libkernel32.lib ; виклик бібліотеки kernel32.libExitProcess proto :DWORD ; прототип процедуриOperDigs proto :WORD, :WORD, :WORD ; прототип процедури.data ; директива визначення данихres dw 2 dup(0) ; резервування комірок для результату.code ; директива початку програми_start: ; мітка початку програми з ім’ям _startinvoke OperDigs,4,5,6 ; виклик директиви з параметрамиinvoke ExitProcess,0 ; виклик директиви з параметрамиOperDigs proc arg1:WORD,arg2:WORD,arg3:WORDmov ax,arg1 ; ax := arg1 (число 4)mul arg2 ; dx,ax = ax × arg2add ax, arg3 ; ax := ax + arg3 (число 6)jc m1 ; перейти, якщо є перенесенняjmp m2 ; безумовний перехід на збереження результатуm1: inc dx ; dx + 1, якщо перенесення єm2: mov res,ax ; запам’ятовування в пам’ятіmov res+2,dx ; запам’ятовування в пам’яті ret ; повернення з процедуриOperDigs endp ; закінчення процедури OperDigsend _start ; закінчення програми з ім’ям _start У зв’язку з тим, що числа вибрані невеликі, то для їх визначення вибрано слово WORD. Команди розгалуження jc та jmp необхідні для випадку, коли використовуватимуть числа, які могуть дати переповнення розрядної сітки.
Порядок розміщення даних у пам’яті та стан налагоджувача OllyDbg з програмою з лістингу 7.21 наведено на рис. 7.13.
Параметри процедури OperDigs розміщуються в стеці за порядком справо наліво (спочатку – число 6 := arg3, потім – число 5 := arg2, а на остаток – число 4 := arg1). Директива invoke замінює дві команди: CALL та PUSH 0, де PUSH 0 – код успішного завершення, який повертається операційній системі. При виконанні команди CALL 7_10L.00401012 після аргументів записується код повернення в процедуру, а вже потім передається керування командам процедури.
Результат виконання операції прикладу 7.8 розташовано у двох регістрах: EAX = 001А, та EDX = 0000.
7.12 Лабораторна робота “Зовнішні процедури”
Мета заняття:
– поглибити і закріпити знання з архітектури МП платформи х86 і навички його програмування;
– придбати практичні навички складання, налагодження і виконання програм, написаних мовою асемблеру з використанням зовнішніх процедур для МП платформи х86.
Лабораторна робота Подання даних... Мета заняття... Виконати дослідження переводу чисел з десяткової в двійкову систему числення Дати їх внутрішнє машинне подання...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:
Зміст звіту
Что будем делать с полученным материалом:
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Вхідний контроль знань
1. Перевести числа вашого дня, місяця та року народження у двійкову, вісімкову та шістнадцяткову системи числення.
2. Перевести число DD.MM у двійкову та шістнадцяткову системи числення дл
Порядок виконання роботи
Для виконання завдання №1 необхідно вибрати свій варіант із табл. 3.3 та записати тільки число X зі знаками.
Таблиця 3.3 – Варіанти завдань
Link.exe /subsystem:console Lab1.obj.
Скопіювати вигляд налагоджувача у звіт можна, натиснувши клавіші PrtScr або Alt + PrtScr.
Потім треба викликати налагоджувач OllyDbg (http://cracklab.ru/_dl/new/ollydbg110xp.rar або www.ol
Вхідний контроль знань
Написати та налагодити програму згідно з одержаним варіантом завдання. Результат записати у пам’ять.
1. Скласти день, місяць та рік свого народження.
2. Перемножити день, місяць т
Постановка задачі
Згідно з номером в групі вибрати варіант та написати на асемблері програму обчислення одного з виразів:
1. a – ab – e/c; 5. a – de – e/b; 9. (de – e)/(c – a);
Зміст звіту
1. Постановка задачі для конкретного варіанта.
2. Лістинг програми з детальним коментарем та описом роботи.
3. Рrint screen екрана 32-розрядного налагоджувача з виконаною програмо
Вхідний контроль знань
Написати та налагодити програму згідно з отриманим варіантом та оформити її у вигляді процедури з параметрами. Результат записати у пам’ять.
1. Виконати операцію логічного додавання дня та
Постановка задачі
Згідно з номером студента в групі вибрати варіант завдання та написати на асемблері програму обчислення одного з виразів:
1. 2d/с – сd; 8. 2ab – 8c/b; 15.
Постановка задачі
Згідно з номером студента в групі вибрати варіант завдання та написати на асемблері програму обчислення одного з виразів:
1. 2(a – bс) + e/d; 9. 8c – 6ad
Зміст звіту
1. Постановка задачі для отриманого варіанта завдаання.
2. Блок-схема алгоритму виконання прикладу з детальним коментарем та описом роботи.
3. Лістинг програм: головної та зовнішн
Завдання 1.
Згідно з останньою цифрою номера студента в групі вибрати варіант завдання та написати на асемблері програму обчислення одного з прикладів з введенням та виведенням даних. П
Завдання 2.
Згідно з останньою цифрою номера студента в групі вибрати варіант завдання та написати програму з виведенням даних у файл та на екран монітора з використанням функції MessageBox (Mes
Зміст звіту
1. Постановка задачі для конкретного варіанта завдання.
2. Блок-схема алгоритму виконання прикладу з детальним коментарем та описом роботи.
3. Лістинг програми та коментарі до всі
Постановка задачі
Згідно з останньою цифрою номера в групі вибрати варіант завдання та написати на асемблері програму обчислення одного з виразів з використанням дійсних чисел та виведенням їх на екран. При цьому об
Методичні рекомендації
Для налагодження остаточного варіанта програми спочатку необхідно налагодити частину програми з отриманням одного результату та його виведенням. На другому етапі – отримання масиву результатів. На
Зміст звіту
1. Постановка задачі для конкретного варіанта.
2. Блок-схема алгоритму виконання прикладу.
3. Лістинг програми з детальним коментарем та описом роботи.
4. Рrint screen ек
Постановка задачі
Згідно з цифрою номера студента в групі вибрати свій варіант та написати програму з використанням команд обробки рядків,з обов’язковим використанням операцій введення та виведення.
Зміст звіту
1. Постановка задачі для конкретного варіанта.
2. Блок-схема алгоритму виконання прикладу з детальним коментарем та описом роботи.
3. Лістинг програми з виведенням даних на екран
Постановка задачі
Згідно з останньою цифрою номера студента в групі вибрати свій варіант та написати програму з використанням директив умовного асемблювання та дійсних чиселз обов’язковим виведенням
Зміст звіту
1. Постановка задачі для конкретного варіанта.
2. Блок-схема алгоритму виконання прикладу з детальним коментарем та описом роботи.
3. Лістинг програми та коментарі до всіх команд.
Завдання 1
1. Задано матрицю 3 ´ 5. Виконати транспонування цієї матриці. Результат виконання програми вивести у вікно консолі.
2. Задано матрицю 6 ´ 6. Визначити суму елементів під голов
Завдання 2
1. Задано послідовність структур. Структура містить поля: назва автомобіля, порядковий номер, ім’я власника, кількість порушень. Обчислити кількість власників з більш ніж з трьома порушеннями.
Макроси. Постановка задачі
Згідно з останньою цифрою номера студента в групі вибрати свій варіант та написати на асемблері програму обчислення одного з виразів з використанням макросів та виведенням їх на екран. При цьому об
Завдання 1
1. (2a/b) + a/3,1b; 6. (1,1ab – 3)/ab;
2. 1,1(x – a) + 210/(x – a); 7. 2,3(a – b) + 2,3(a – b)/a;
Зміст звіту
1. Постановка задачі для конкретного варіанта.
2. Блок-схема алгоритму виконання прикладу з детальним коментарем та описом роботи.
3. Лістинг програми та коментарі до всіх команд.
DATE1 ENDS
.data ; директива визначення даних
str1 DATE1 <1,-1,-2,3> ; структура з іменем str1
str2 DATE1 <0,-2,-1,-3> ; структура з іменем str2
Постановка задачі
Згідно з останньою цифрою номера студента в групі вибрати свій варіант та написати програму на асемблері обчислення одного з виразів:
1. Задано масив А з N = 5 елементів. Нав
Деталі реалізації
Для виконання завдання було розроблено дві динамічні бібліотеки: ArrHandler.dllта ConsoIeIO.dll.Перша містить функції обробки масивів, друга – функції введення/вив
Public WriteLine
GetNum proto
PrintNum proto Number :DWORD
WriteLine proto
BSIZE equ 12
.data
hInst dd 0
stdin dd 0
stdout dd 0
rdn dd 0
GetNum proc
; вивести запрошення
invoke WriteConsole, stdout, offset msg, MS, offset wrtn, 0
; прочитати число в символьному вигляді
invoke ReadConsole, stdin, offset buff, BSIZE, of
Хотите получать на электронную почту самые свежие новости?
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Новости и инфо для студентов