Презентация Язык Ассемблер онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Язык Ассемблер абсолютно бесплатно. Урок-презентация на эту тему содержит всего 37 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Язык Ассемблер
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:37 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:386.00 kB
- Просмотров:85
- Скачиваний:2
- Автор:неизвестен
Слайды и текст к этой презентации:
№4 слайд
Содержание слайда: Язык Ассемблер
Язык Ассемблер является символическим аналогом машинного языка. Программа, написанная на Ассемблере, должна отражать все особенности архитектуры микропроцессора: организацию памяти, способы адресации операндов, правила использования регистров и т.д.
Программа на Ассемблере представляет собой совокупность блоков памяти, называемых сегментами памяти. Программа может состоять из одного или нескольких таких блоков.
Сама программа состоит из предложений Ассемблера.
№5 слайд
Содержание слайда: Язык Ассемблер
Предложения языка Ассемблер бывают четырех типов:
Команды (или инструкции) – символические аналоги машинных команд.
Макрокоманды – оформляемые определенным образом предложения текста программы, замещаемые во время трансляции другими предложениями.
Директивы – указания транслятору на выполнение некоторых действий.
Строки комментариев – текст, игнорирующийся транслятором.
№8 слайд
Содержание слайда: Формат команд и макрокоманд
Имя метки – идентификатор, значением которого является адрес первого байта того предложения исходного текста программы, которое он обозначает.
Имя – идентификатор, отличающий данную директиву от других директив.
Код операции или директива – это мнемоническое обозначения соответствующей машинной команды, макрокоманды или директивы транслятора.
Операнды – части команды, макрокоманды или директивы ассемблера, обозначающие объекты, над которыми производятся действия.
№10 слайд
Содержание слайда: Синтаксис языка Ассемблер
Предложения Ассемблера формируются из лексем, представляющих собой синтаксически неразделимые последовательности допустимых символов языка, имеющие смысл для транслятора. Лексемами являются:
Идентификаторы – последовательности допустимых символов, использующиеся для обозначения таких объектов программы, как коды операций, имена переменных и названия меток.
Цепочки символов – последовательности символов, заключенные в одинарные или двойные кавычки.
Целые числа в двоичной, десятичной или шестнадцатеричной системах счисления:
10000011b – двоичная система счисления
123 – десятичная система счисления
2Ah – шестнадцатеричная система счисления
0D4h – шестнадцатеричная система счисления
№12 слайд
Содержание слайда: Постоянные (непосредственные) операнды
Постоянным (непосредственным) операнд – число, строка, имя или выражение имеющее некоторое фиксированное значение. Имя должно быть определено операторами equ или =.
val equ 10
num = val – 5
mov ax, val ;mov ax, 10
mov ax, num ;mov ax,5
mov ax, 10
№14 слайд
Содержание слайда: Перемещаемые операнды
Перемещаемые операнды – любые символьные имена, представляющие некоторые адреса в памяти. Эти адреса могут обозначать местоположение в памяти некоторой инструкции (если операнд – метка) или данных (если операнд – имя области памяти в сегменте данных).
Data SEGMENT
values db 10 dup(0)
…
Code SEGMENT
…
jmp next
…
next: lea si, values
…
№16 слайд
Содержание слайда: Остальные операнды
Регистровый операнд – это просто имя регистра.
Базовый и индексный операнды – используются при реализации косвенной, индексной или их комбинаций и расширений.
Структурные операнды – используются для доступа к конкретному элементу структуры.
Записи (аналогично структурному типу) используются для доступа к битовому полю некоторой записи.
№17 слайд
Содержание слайда: Операторы языка Ассемблер
Делятся на следующие виды:
Арифметические операторы,
Операторы сдвига,
Операторы сравнения,
Логические операторы,
Индексный оператор,
Оператор переопределения типа,
Оператор переопределения сегмента,
Оператор именования типа
Оператор получения сегментной составляющей адреса
Оператор получения смещения выражения
№25 слайд
Содержание слайда: Описание сегментов
Выравнивание сегмента:
BYTE – выравнивание не выполняется
WORD – сегмент начинается по адресу, кратному двум
DWORD - сегмент начинается по адресу, кратному четырем
PARA – сегмент начинается по адресу, кратному шестнадцати (по умолчанию)
PAGE - сегмент начинается по адресу, кратному 256
MEMPAGE - сегмент начинается по адресу, кратному 4Кбайт
№26 слайд
Содержание слайда: Описание сегментов
Атрибут комбинирования сегментов:
PRIVATE – сегмент не будет объединятся с другими сегментами с тем же именем вне данного модуля
PUBLIC – заставляет компоновщик соединить все сегменты с одинаковым именем
COMMON – располагает все сегменты с одним и тем же именем по одному адресу
AT XXXX – располагает сегмент по абсолютному адресу параграфа
STACK – определение сегмента стека
Атрибут класса сегмента – это заключенная в кавычки строка, помогающая компоновщику определить соответствующий порядок следования сегментов при сборке программы из сегментов нескольких модулей.
№27 слайд
Содержание слайда: Описание сегментов
Атрибут размера сегмента:
USE16 – это означает, что сегмент допускает 16-разрядную адресацию.
USE32 – сегмент будет 32-ухразрядным
Директива SEGMENT не содержит информации о функциональном назначении сегмента (код, данные или стек). Указание этого назначения осуществляется с помощью директивы ASSUME в следующем виде:
ASSUME <имя-сегментного-регистра> ‘:’ <имя-сегмента>
Пример:
ASSUME cs:Code, ds:Data, ss:Stack
№33 слайд
Содержание слайда: Простые типы данных
Обозначения:
? – показывает, что значение не определено;
Значение инициализации – значение элемента данных, которое будет занесено после загрузки программы;
Выражение – итеративная конструкция;
Имя – некоторое символическое имя метки или ячейки данных.
Типы данных:
db – 1 байт
dw – 2 байта
dd – 4 байта
dq – 8 байт
df – 6 байт
dp – 6 байт
dt – 10 байт
№35 слайд
Содержание слайда: Пример COM программы для MS-DOS
.386
model tiny ;Указание модели памяти
Code segment use16 ;Начало описания сегмента кода
ASSUME cs:Code, ds:Code ;Ассоциация регистров с сегментом
org 100h ;Генерация смещения на 256 байт
start: ;Метка начала программы
push cs ;Запись регистра CS в стек
pop ds ;Загрузка регистра DS значением из стека
mov dx, offset mess ;Помещение в DS смещения строки mess
mov ah, 09h ;Запись в AH номера функции вывода строки
int 21h ;Вызов сервиса MS-DOS
int 20h ;Завершение COM программы в MS-DOS
mess db 'Hello world!','$‘ ;Объявление строки
Code ends ;Завершение описания строки
end start
№36 слайд
Содержание слайда: Пример EXE программы для MS-DOS
.386
model small ;Указание модели памяти
Stack SEGMENT STACK use16 ;Объявление сегмента стека
ASSUME ss:Stack ;Ассоциация регистра SS с сегментом стека
DB 100h dup(?) ;Резервирование 256 байт под стек
Stack ENDS ;Завершение описания сегмента стека
Data SEGMENT use16 ;Объявление сегмента данных
ASSUME ds:Data ;Ассоциирование регистра DS с сегментом данных
mess db 'Hello world!','$‘ ;Объявление строки
Data ENDS ;Завершение описания сегмента данных
Code SEGMENT use16 ;Объявление сегмента кода
ASSUME cs:Code ; Ассоциирование регистра CS с сегментом кода
start: ;Метка начала программы
mov ax, seg mess ;Загрузка в AX адреса сегмента строки mess
mov ds, ax ;Запись в DS значения AX
mov dx, offset mess ;Запись в DX смещения строки mess
mov ah, 09h ;Запись в AH номера функции вывода строки
int 21h ;Вызов сервиса MS-DOS
mov ax, 4c00h ;Запись в AX функции завершения программы
int 21h ;Завершение EXE программы в MS-DOS
Code ENDS ;Завершение описания сегмента данных
end start
№37 слайд
Содержание слайда: Пример EXE программы для Windows
include \masm32\include\masm32rt.inc ;Подключение библиотеки
;Объявление сегмента неинициализированных данных
.data?
value dd ? ;Объявление переменной без инициализации
;Объявление сегмента инициализированных данных
.data
item dd 0 ; Объявление переменной с инициализацией
.code ;Объявление сегмента кода
start: ;Метка начала программы
call main ;вызов процедуры main
inkey ;вызов макроса ожидания нажатия клавиши
exit ;вызов макроса завершения программы
main proc ;объявление процедуры main
cls ;вызов макроса очистки экрана
print "Hello World!",13,10 ;вызов макроса вывода сообщения
ret ;команда выхода из процедуры
main endp ;конец описания процедуры
end start
Скачать все slide презентации Язык Ассемблер одним архивом:
-
Программирование на языке ассемблер
-
Первое знакомство с языком программирования Ассемблер
-
Основные компоненты языка Ассемблер
-
Числа со знаком. Операции в языке С. Ассемблерные команды, им соответствующие
-
Модель памяти в языке С. Функции в языке С. Функции в ассемблере
-
Сравнение языков ассемблера Intel and AT&T
-
Основы языка ассемблера
-
Основы языка ассемблер. Операции ввода/вывода
-
Основы языка ассемблер. Использование массивов
-
Синтаксис языка Ассемблера