Библиотека knigago >> Компьютеры: Языки и системы программирования >> Assembler >> Ассемблер в примерах и задачах


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 977, книга: Обретенное счастье
автор: Кристин Морган

"Обретенное счастье" Кристин Морган - это трогательный и волнующий короткий любовный роман, оставляющий неизгладимое впечатление. История повествует о двух одиноких душах, которые находят любовь и исцеление в объятиях друг друга. Главная героиня, Эмма, недавно потеряла мужа и изо всех сил пытается справиться с горем. Она замкнулась в себе и дистанцировалась от всех, включая свою дочь-подростка. В это темное время своей жизни Эмма встречает Джейка, привлекательного и сострадательного...

СЛУЧАЙНАЯ КНИГА

Твой соблазнительный обман. Александра Хоукинз
- Твой соблазнительный обман

Жанр: О любви

Год издания: 2017

Серия: Уроки обольщения

Наталья Юрьевна Добровольская , Олег Васильевич Гаркуша - Ассемблер в примерах и задачах

Ассемблер в примерах и задачах
Книга - Ассемблер в примерах и задачах.  Наталья Юрьевна Добровольская , Олег Васильевич Гаркуша  - прочитать полностью в библиотеке КнигаГо
Название:
Ассемблер в примерах и задачах
Наталья Юрьевна Добровольская , Олег Васильевич Гаркуша

Жанр:

Учебники и самоучители по компьютеру, Программирование: прочее, Assembler

Изадано в серии:

неизвестно

Издательство:

Кубанский государственный университет

Год издания:

ISBN:

978-5-8209-2052-3

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Ассемблер в примерах и задачах"

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

Читаем онлайн "Ассемблер в примерах и задачах". [Страница - 2]

ожидания нажатия любой клавиши
клавиатуры для задержки вывода на экран результатов работы
приложения. Получаем классический пример первой программы.

1.1. ФОРМИРОВАНИЕ ИСПОЛНЯЕМОГО ПРИЛОЖЕНИЯ
Для запуска шаблона необходимо выполнить:
− трансляцию Make > Assemble;
− компоновку Make > Link;
− запуск на выполнение Make > Run.

В процессе трансляции (ассемблирования) исходная
программа на ассемблере преобразуется в двоичный эквивалент.
7

Ассемблер в примерах и задачах

Если трансляция проходит без ошибок, то в окне Output, которое
появляется под окном программы, выводится текст:
C:\Masm32\Bin\ML.EXE /c /coff /Cp /nologo
/I"C:\Masm32\Include" "HelloWord.asm"
Assembling: HelloWord.asm
Make finished.
Total compile time 297 ms

Окно Output появляется на время ассемблирования и
закрывается. Чтобы повторно увидеть результаты, необходимо
курсор мыши перевести в нижнюю часть активного окна среды
RadASM.
Первая строка сообщения об ассемблировании — вызов
ассемблера:
C:\Masm32\Bin\ML.EXE — полное имя файла транслятора
ассемблера masm32 (путь + имя), за которым следуют опции:
/c — заказывает ассемблирование без автоматической
компоновки;
/coff — определяет формат объектного модуля Microsoft
(coff);
/Cp — означает сохранение регистра строчных и прописных
букв всех идентификаторов программы;
/nologo — осуществляет подавление вывода сообщений на
экран в случае успешного завершения ассемблирования;
/I"C:\Masm32\Include" — определяет местонахождение
вставляемых (.inc) файлов;
"HelloWord.asm" — имя обрабатываемого файла.
Остальные строки — сообщение о начале и завершении
процесса ассемблирования и времени выполнения этого процесса.
Результатом нормального завершения ассемблирования
является создание файла, содержащего объектный модуль
программы, — файла HelloWord.obj.
Если при ассемблировании обнаружены ошибки, то
объектный модуль не создается и после сообщения о начале
ассемблирования идут сообщения об ошибках, например:
HelloWord.asm(14):error A2006: undefined symbol: EDY
8

Формирование исполняемого приложения

В сообщении указывается:
− номер строки исходного текста (в скобках);
− номер ошибки, под которым она описана в документации;
− возможная причина.
После исправления ошибок процесс ассемблирования
повторяют.
Следующий этап — компоновка программы. На этом этапе к
объектному (двоичному) коду программы добавляются объектные
коды используемых процедур. При этом в тех местах программы,
где происходит вызов процедур, указывается их относительный
адрес в модуле. Сведения о компоновке также выводятся в окно
Output:
C:\Masm32\Bin\LINK.EXE /SUBSYSTEM:CONSOLE /RELEASE
/VERSION:4.0 /LIBPATH:"C:\Masm32\Lib"
/OUT:"HelloWord.exe" "HelloWord.obj"
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights
reserved.
Make finished.
Total compile time 109 ms

Первая строка вывода также является командной строкой
вызова компоновщика:
C:\Masm32\Bin\LINK.EXE — полное имя компоновщика, за
которым следуют опции:
/SUBSYSTEM:CONSOLE — подключить стандартное окно
консоли;
/RELEASE — создать реализацию (а не отладочный вариант);
/VERSION:4.0 — минимальная версия компоновщика;
/LIBPATH:"C:\Masm32\Lib" — путь к файлам библиотек;
/OUT:"HelloWord.exe" — имя результата компоновки —
загрузочного файла и параметр "HelloWord.obj" — имя
объектного файла.
После устранения ошибки программу необходимо
перетранслировать и заново скомпоновать.
Если процессы трансляции и компоновки прошли нормально,
то ее можно запустить на выполнение. При этом открывается окно
консоли, в которое выводится строка запроса.
9

Ассемблер в примерах и задачах

Окно закрывается при нажатии любой клавиши.
1.2. СТРУКТУРА ПРОГРАММЫ НА ЯЗЫКЕ АССЕМБЛЕРА
Программа
структуру:

на

языке

ассемблера

имеет

следующую

.686
.model flat, stdcall
option casemap: none
.data

.data?

.const

.code


end

Директива .686 указывает компилятору ассемблера, что
необходимо
использовать
набор
операций
процессора
определённого поколения.
Директива .model позволяет указывать используемую
модель памяти и соглашение о вызовах. Как уже было сказано, на
архитектуре Win32 используется только одна модель памяти –
flat, что и указано в приведённом примере. Соглашения о вызовах
определяют порядок передачи параметров и порядок очистки
стека.

10

Структура программы на языке ассемблера

Директива option casemap: none заставляет компилятор
языка ассемблера --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.