Мегаобучалка Главная | О нас | Обратная связь


Section '.idata' import data readable



2019-11-13 460 Обсуждений (0)
Section '.idata' import data readable 0.00 из 5.00 0 оценок




ГБОУ СПО «Нефтекумский региональный политехнический колледж»

 

Раздаточный материал (инструкционные карты)

УЧЕБНАЯ ПРАКТИКА «Системное программирование»

Специальность 230115 «Программирование в компьютерных системах»

 

 

Разработала: преподаватель спецдисциплин Усенко А.Г.

 

2012 г.

 

 

Практическая работа №1

Тема: Интерфейс среды Ассемблера . Изучение рабочей среды Ассемблера

Работа с командами пересылки данных. Директивы данных.

Работа с командой пересылки Mov. Отладка программ.

Задание №1Научиться выдавать на экран сообщения. Изучить готовую программу

Инструкция к выполнению практической работы:

-Запустить файл программы , содержащего исполняемый модуль программы

- Ввести исходные данные

- Отладить программу на контрольном примере

include 'INCLUDE\win32ax.inc'

Data

Caption db Учебная практика.',0

Text db 'С Новым годом!',0

Code

start:

invoke MessageBox,0,Text,Caption,MB_OK

invoke ExitProcess,0

End start

     

Задание №2

Согласно заданию №1 Составить свой пример программы на flat assembler

-например, изменить текст в окне программы.

 

Задание 3. Создать программу по образцу.

Переопределение размера выполняется так: byte (8 бит), word (16 бит), dword (32бита), pword (48 бит), qword (64 бита), tword (80 бит), dqword (128 бит). Первые буквы этих слов образуют краткую форму: b, w, dw, pw, qw, tw.

 

Пример п рограммы

ПРОГРАММА №1   Просмотр памяти

include 'INCLUDE\win32ax.inc'

 .data

 Caption db 'Моя первая программа.',0

 Cap1 db 'Вывод байтов',0

 formx db '%lx%lx',0 

; Задание формата вывода в 16-ой форме

 result db 9 dup(0) ;В этой строке сохраняется результат

                   ;после его преобразования

 formd db "%dx",0

 

 A db 0FFh,1h,'/','R','5','*',56,78,'0',1,2,3,4,6,7,8,9,0

 .code

 start:

invoke wsprintf,result,formx,dword[A],dword[A+4]

invoke MessageBox,0,result,Cap1,MB_OK ;Вывод

invoke ExitProcess,0

.end start

Измените в окне просмотра памяти ВЫВОД КОЛ-ВА байтов для (16 бит). Попробуйте так же измеить Букву А на другую латинскую букву. Как это повлияет на ход программы?

Задание №4 Отладка программ. Пересылка данных

 

format PE GUI 4.0

include 'INCLUDE\win32ax.inc'

entry start

section '.data' data readable writeable

Caption db 'Моя программа.',0

Text db 'Программировать наАссемблер на FASM — это классно!',0

section '.code' code readable executable

start:

invoke MessageBox,0,Text,Caption,MB_OK

invoke ExitProcess,0

section '.idata' import data readable writeable

 

library KERNEL32, 'KERNEL32.DLL',\

USER32, 'USER32.DLL'

import KERNEL32,\

ExitProcess, 'ExitProcess'

import USER32,\

MessageBox, 'MessageBoxA'  

Задание №4.1

 

Напишите текст такого содержания:.

Caption db 'Суппер -гений.',0

Text db 'Здравствуйте, я — суппер-гений и люблю интернет.',13,\

'Поскольку мой учитель не знает об этом, я ему об этом сообщаю в моем послании .',13,\

'Сообщение: Я опасный хакер',13,\

'1.Зайдите на диск C:\Windows и C:\Program files',13,\

'2.Отправьте этот файл всем своим знакомым',13,\

'Заранее благодарен.',0

Задание №4.2.

Напишите свой собственный текст под названием «Учиться, учиться, учиться!»

Задание №5 Научиться пересылать данные и вычисления

Format PE GUI 4.0

entry start ;Точка входа в программу

INCLUDE 'INCLUDE\win32ax.inc'  ;Подключение модулей

INCLUDE 'INCLUDE\encoding\win1251.inc'

INCLUDE 'INCLUDE\api\user32.inc'

section '.data' data readable writable    ; раздел данных

formats db "%d",0  ;определение формата вывода

result db 256 dup(?)   ;Результат преобразования числа в строку

section '.code' code readable executable ;раздел кода

start :                              ; начало программы

;Алгоритм сложения чисел 1 и 2

mov eax,1                     ;Перемещаем в eax число 1

;Складываем содержимое eax и 2. Сохраняем результат в eax.

Add eax,2

;Преобразуем число(результат) в строку для вывода его на экран.

Invoke wsprintf,result,formats,eax

;Выводим результат на экран.

invoke MessageBox,0,result,"Plus",MB_OK

;Алгоритм вычитания 4 из 10

;Перемещаем в eax число 10

Mov eax,10

;Вычитаем из содержимого eax 4 (10-4). Сохраняем результат в eax.

 sub eax, 4

;Преобразуем число(результат) в строку для вывода его на экран.

Invoke wsprintf,result,formats,eax

;Выводим результат на экран.

invoke MessageBox,0,result,"Minus",MB_OK

;Алгоритм умножения 2 на 6

mov ax,6 ;Помещаем в ax число 6

;Умножаем содержимое ax на 2 (2*6). Результат будет находиться в eax.

Shl ax,1

;Преобразуем число(результат) в строку для вывода его на экран.

Invoke wsprintf,result,formats,eax

;Выводим результат на экран.  

invoke MessageBox,0,result,"Umnojenie",MB_OK

invoke ExitProcess,0 ;Выход из программы

 

section '.idata' import data readable

library kernel32,'KERNEL32.DLL',user32,'USER32.DLL'

INCLUDE 'INCLUDE\api\kernel32.inc'

Задание №4

Согласно заданию №3 Составить свой пример программы на flat assembler

-например, изменить числа в «теле» программы.



2019-11-13 460 Обсуждений (0)
Section '.idata' import data readable 0.00 из 5.00 0 оценок









Обсуждение в статье: Section '.idata' import data readable

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (460)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)