Презентация Язык Ассемблер онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Язык Ассемблер абсолютно бесплатно. Урок-презентация на эту тему содержит всего 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
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
Лекция Язык Ассемблер,
Содержание слайда: Лекция 16 Язык Ассемблер, трансляция программ с языка Ассемблер в машинный код, структура программы, описание сегментов, указание констант, объявление данных

№2 слайд
Трансляторы языка Ассемблер
Содержание слайда: Трансляторы языка Ассемблер Основные представители: TASM – Turbo Assembler MASM – Macro Assembler FASM – Flat Assembler NASM – Native Assembler

№3 слайд
Процесс разработки программ
Содержание слайда: Процесс разработки программ на Ассемблере

№4 слайд
Язык Ассемблер Язык Ассемблер
Содержание слайда: Язык Ассемблер Язык Ассемблер является символическим аналогом машинного языка. Программа, написанная на Ассемблере, должна отражать все особенности архитектуры микропроцессора: организацию памяти, способы адресации операндов, правила использования регистров и т.д. Программа на Ассемблере представляет собой совокупность блоков памяти, называемых сегментами памяти. Программа может состоять из одного или нескольких таких блоков. Сама программа состоит из предложений Ассемблера.

№5 слайд
Язык Ассемблер Предложения
Содержание слайда: Язык Ассемблер Предложения языка Ассемблер бывают четырех типов: Команды (или инструкции) – символические аналоги машинных команд. Макрокоманды – оформляемые определенным образом предложения текста программы, замещаемые во время трансляции другими предложениями. Директивы – указания транслятору на выполнение некоторых действий. Строки комментариев – текст, игнорирующийся транслятором.

№6 слайд
Формат предложения
Содержание слайда: Формат предложения

№7 слайд
Формат директив
Содержание слайда: Формат директив

№8 слайд
Формат команд и макрокоманд
Содержание слайда: Формат команд и макрокоманд Имя метки – идентификатор, значением которого является адрес первого байта того предложения исходного текста программы, которое он обозначает. Имя – идентификатор, отличающий данную директиву от других директив. Код операции или директива – это мнемоническое обозначения соответствующей машинной команды, макрокоманды или директивы транслятора. Операнды – части команды, макрокоманды или директивы ассемблера, обозначающие объекты, над которыми производятся действия.

№9 слайд
Синтаксис языка Ассемблер
Содержание слайда: Синтаксис языка Ассемблер Допустимыми символами при написании текста программ являются: все латинские буквы; цифры; знаки: ?, @, $, _, &; разделители: , . [ ] ( ) < > { } + / * % ! ‘ “ ? \ = # ^

№10 слайд
Синтаксис языка Ассемблер
Содержание слайда: Синтаксис языка Ассемблер Предложения Ассемблера формируются из лексем, представляющих собой синтаксически неразделимые последовательности допустимых символов языка, имеющие смысл для транслятора. Лексемами являются: Идентификаторы – последовательности допустимых символов, использующиеся для обозначения таких объектов программы, как коды операций, имена переменных и названия меток. Цепочки символов – последовательности символов, заключенные в одинарные или двойные кавычки. Целые числа в двоичной, десятичной или шестнадцатеричной системах счисления: 10000011b – двоичная система счисления 123 – десятичная система счисления 2Ah – шестнадцатеричная система счисления 0D4h – шестнадцатеричная система счисления

№11 слайд
Виды операндов Постоянные
Содержание слайда: Виды операндов Постоянные (непосредственные) операнды Адресные операнды. Перемещаемые операнды. Счетчик адреса. Регистровый операнд. Базовый и индексный операнды. Структурные операнды. Записи.

№12 слайд
Постоянные непосредственные
Содержание слайда: Постоянные (непосредственные) операнды Постоянным (непосредственным) операнд – число, строка, имя или выражение имеющее некоторое фиксированное значение. Имя должно быть определено операторами equ или =. val equ 10 num = val – 5 mov ax, val ;mov ax, 10 mov ax, num ;mov ax,5 mov ax, 10

№13 слайд
Адресные операнды movax, ds h
Содержание слайда: Адресные операнды mov ax, ds:0000h

№14 слайд
Перемещаемые операнды
Содержание слайда: Перемещаемые операнды Перемещаемые операнды – любые символьные имена, представляющие некоторые адреса в памяти. Эти адреса могут обозначать местоположение в памяти некоторой инструкции (если операнд – метка) или данных (если операнд – имя области памяти в сегменте данных). Data SEGMENT values db 10 dup(0) … Code SEGMENT … jmp next … next: lea si, values …

№15 слайд
Счетчик адреса Счетчик адреса
Содержание слайда: Счетчик адреса Счетчик адреса – специфический вид операнда, обозначаемый знаком $. Когда транслятор встречает в исходной программе этот символ, то он подставляет вместо него текущее значение счетчика адреса. jmp $+3 nop mov al, 10

№16 слайд
Остальные операнды
Содержание слайда: Остальные операнды Регистровый операнд – это просто имя регистра. Базовый и индексный операнды – используются при реализации косвенной, индексной или их комбинаций и расширений. Структурные операнды – используются для доступа к конкретному элементу структуры. Записи (аналогично структурному типу) используются для доступа к битовому полю некоторой записи.

№17 слайд
Операторы языка Ассемблер
Содержание слайда: Операторы языка Ассемблер Делятся на следующие виды: Арифметические операторы, Операторы сдвига, Операторы сравнения, Логические операторы, Индексный оператор, Оператор переопределения типа, Оператор переопределения сегмента, Оператор именования типа Оператор получения сегментной составляющей адреса Оператор получения смещения выражения

№18 слайд
Операторы языка Ассемблер
Содержание слайда: Операторы языка Ассемблер

№19 слайд
Операторы языка Ассемблер
Содержание слайда: Операторы языка Ассемблер

№20 слайд
Операторы языка Ассемблер
Содержание слайда: Операторы языка Ассемблер

№21 слайд
Операторы языка Ассемблер
Содержание слайда: Операторы языка Ассемблер Оператор переопределения типа ptr val dd 0 … mov al, byte ptr val+1

№22 слайд
Операторы языка Ассемблер
Содержание слайда: Операторы языка Ассемблер Оператор переопределения сегмента: .code jmp metka val dw 100 metka: … mov al, cs:val

№23 слайд
Операторы языка Ассемблер
Содержание слайда: Операторы языка Ассемблер Оператор получения сегментной составляющей адреса seg Оператор получения смещения выражения offset .data value dw 5 … .code … mov ax, seg value mov es, ax mov bx, offset value mov ax, es:[bx]

№24 слайд
Описание сегментов
Содержание слайда: Описание сегментов

№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

№28 слайд
Директива MODEL Директива
Содержание слайда: Директива MODEL Директива MODEL предназначена для управления моделью памяти программы. Эта директива позволяет использовать упрощенные директивы сегментации.

№29 слайд
Упрощенные директивы
Содержание слайда: Упрощенные директивы определения сегмента

№30 слайд
Идентификаторы, создаваемые
Содержание слайда: Идентификаторы, создаваемые директивой MODEL

№31 слайд
Модели памяти
Содержание слайда: Модели памяти

№32 слайд
Простые типы данных
Содержание слайда: Простые типы данных

№33 слайд
Простые типы данных
Содержание слайда: Простые типы данных Обозначения: ? – показывает, что значение не определено; Значение инициализации – значение элемента данных, которое будет занесено после загрузки программы; Выражение – итеративная конструкция; Имя – некоторое символическое имя метки или ячейки данных. Типы данных: db – 1 байт dw – 2 байта dd – 4 байта dq – 8 байт df – 6 байт dp – 6 байт dt – 10 байт

№34 слайд
Простые типы данных Примеры
Содержание слайда: Простые типы данных Примеры: Mess db ‘Hello world!’, 0 Value dw 1400 Array dd 20 dup(?)

№35 слайд
Пример COM программы для
Содержание слайда: Пример 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 программы для
Содержание слайда: Пример 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 программы для
Содержание слайда: Пример 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 презентации Язык Ассемблер одним архивом: