рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

DATE1 ENDS

DATE1 ENDS - раздел Образование, Виконати дослідження переводу чисел з десяткової в двійкову систему числення .data ; Директива Визначення Даних Str1 Date1 <1,-1,-2,3&...

.data ; директива визначення даних

str1 DATE1 <1,-1,-2,3> ; структура з іменем str1

str2 DATE1 <0,-2,-1,-3> ; структура з іменем str2

st1 db " amount of negative elements ",0

st2 db 10 dup(?),0

ifmt db "%d",0

.code ; директива початку сегмента даних

start: ; мітка початку програми з ім’ям start

xor edx,edx ; заповнювання нулями

mov ebx,2 ; завантаження кількості рядків

lea esi,str1 ; завантаження адреси першого рядка структури

m5: mov ecx,4 ; кількість елементів у рядку

m3: mov eax,[esi] ; завантаження елемента з рядка структури

add eax,0 ; визначення ознак елемента

js m1 ; перейти на m1, якщо елемент негативний

jmp m2 ; безумовний перехід, якщо навпаки

m1: add edx,eax ; додавання негативних елементів рядка структури

m2: add esi,4 ; підготовка адреси нового елемента

loop m3 ; есх := ecx – 1 та перехід на m3, якщо не нуль

dec ebx ; ebx := ebx – 1

jz m4 ; якщо ebx = 0 (z = 1), то перехід на закінчення

lea esi,str2 ; завантаження адреси нового рядка

jmp m5 ; перехід на новий цикл

m4:

invoke wsprintf, ; АРІ-функція перетворення числа

ADDR st2, ; адреса буферу, куди буде записана послідовність символів

ADDR ifmt, ; адреса рядка перетворення формату

edx ; регістр, вміст якого перетворюється

invoke MessageBox, ; АРІ-функція виведення вікна консолі

NULL, ; hwnd – ідентифікатор вікна

addr st2, ; адреса рядка, яка містить текст повідомлення

addr st1, ; адреса рядка, яка містить заголовок повідомлення

MB_OK ; вигляд діалогового вікна

invoke ExitProcess, 0 ; повернення керування ОС Windows

; та визволення ресурсів

end start ; директива закінчення програми з іменем start

 

Результат виконання програми з лістингу 13.7 наведено на рис. 13.6.

 

 

У результаті виконання програми отримується число -9, яке заноситься до регістра edx, а потім виводиться у вікно консолі.

 

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

a(a – b) – (a – b)

та слів розміром у байт.

 

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

Лістинг 14.6:

title CopyRight by Rysovaniy A. N. RYSOV@RAMBLER.RU

.686 ; директива визначення типу мікропроцесора

.model flat,stdcall ; завдання лінійної моделі пам’яті

; та угоди ОС Windows

option casemap:none ; відмінність малих та великих літер

includelib masm32libkernel32.lib

ExitProcess proto:dword ; прототип API-функції

mSubB macro a,b ; макрос з ім’ям mSubB

mov al,a ;; занесення змінної а

sub al,b ;; віднімання a – b

mov res1,al ;; збереження результату у пам’яті

endm ;; закінчення макросу

.data ; директива визначення даних

a db 6 ; збереження в комірці пам’яті розміром в байт операнда 6

b db 5 ; збереження в комірці пам’яті розміром в байт операнда 5

res1 db 0 ; резервування пам’яті для результату res1

res2 dw 0 ; резервування пам’яті для результату res2

.code ; директива початку програми

_start: ; мітка початку програми з ім’ям _start

mSubB [a],[b] ; виклик макросу

mov al,a

mov bl,res1

mul bl ; ax := al × bl

mov bx,ax ; визволення ах для наступних операцій

mSubB [a],[b] ; виклик макросу

movzx ax,res1 ; занесення з розширенням розрядності

sub bx,ax ;

mov res2,bx ; збереження залишкового результату

invoke ExitProcess, 0 ; повернення керування ОС Windows

; та визволення ресурсів

end _start ; директива закінчення програми з ім’ям _start

 

Стан програми лістингу 14.6 після її виконання наведено на рис. 14.6. У програмі макрос викликається два рази.

 

 
 

 

 


15.4. Лабораторна робота “Dll-файли”

 

Мета заняття:

– поглибити і закріпити знання з архітектури МП платформи х86 і навички його програмування;

– придбати практичні навички складання, налагодження і виконання програм з використанням Dll-файлів з використанням точки входу, написаних мовою асемблеру для програмування МП платформи х86. Дані, які виводяться необхідно підписати. Окремо вивести довідку про автора програми.

 

– Конец работы –

Эта тема принадлежит разделу:

Виконати дослідження переводу чисел з десяткової в двійкову систему числення

Лабораторна робота Подання даних... Мета заняття... Виконати дослідження переводу чисел з десяткової в двійкову систему числення Дати їх внутрішнє машинне подання...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: DATE1 ENDS

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Вхідний контроль знань
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. Блок-схема алгоритму виконання прикладу з детальним коментарем. 3. Лістинг програми з детальним коментарем до кожної кома

Постановка задачі
Згідно з номером студента в групі вибрати варіант завдання та написати на асемблері програму обчислення одного з виразів: 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. Лістинг програми та коментарі до всіх команд.

Постановка задачі
Згідно з останньою цифрою номера студента в групі вибрати свій варіант та написати програму на асемблері обчислення одного з виразів: 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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги