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

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Основы языка ассемблера абсолютно бесплатно. Урок-презентация на эту тему содержит всего 74 слайда. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Основы языка ассемблера



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    74 слайда
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    3.91 MB
  • Просмотров:
    92
  • Скачиваний:
    2
  • Автор:
    неизвестен



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

№1 слайд
Основы языка ассемблера
Содержание слайда: Основы языка ассемблера

№2 слайд
План лекции Устройство
Содержание слайда: План лекции Устройство компьютера Устройство процессора Режимы работы процессора Регистры процессора Языки ассемблера Формат команд (инструкций) Команды ассемблера Процесс создания программы Адресное пространство процесса Системные структуры и механизмы

№3 слайд
Основные понятия Ассемблер
Содержание слайда: Основные понятия Ассемблер – транслятор исходного кода программы, на языке ассемблера в машинный код Дизассемблер Машинный код Машинное слово

№4 слайд
Фон-неймановская архитектура
Содержание слайда: Фон-неймановская архитектура Принцип однородности памяти  Принцип адресности  Принцип программного управления  Принцип двоичного кодирования 

№5 слайд
Архитектура компьютера ЦПУ
Содержание слайда: Архитектура компьютера ЦПУ Оперативная память (ОЗУ) Северный мост Южный мост BIOS (ППЗУ) Периферийные устройства Системная шина (адреса, данных, управления)

№6 слайд
Устройство персонального
Содержание слайда: Устройство персонального компьютера

№7 слайд
Процессор Регистры АЛУ RSB
Содержание слайда: Процессор Регистры АЛУ RSB Кэш-память (кода и данных) TLB L1, L2, L3

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

№9 слайд
Режимы работы процессора
Содержание слайда: Режимы работы процессора Реальный режим (real mode) Защищенный режим (protected mode) Режим виртуального 8086 Режим системного управления (SMM)

№10 слайд
Кольца защиты Ring Ring -
Содержание слайда: Кольца защиты (Ring) Ring -2 (Режим системного управления, System Management Mode) Ring -1 (режим гипервизора, Hypervisor mode) Ring 0 (режим ядра, супервизора – ring mode, supervisor mode) Ring 1 Ring 2 Ring 3 (режим пользователя, user mode)

№11 слайд
Реальный режим Физические
Содержание слайда: Реальный режим Физические адреса от 0 до 1 Мб Макс размер сегмента 64 Кб (16 разр) Использование сегментной адресации

№12 слайд
Типы данных Двоичные числа
Содержание слайда: Типы данных Двоичные числа Двоично-десятичные числа Неупакованный BCD-формат Упакованный BCD-формат Числа с плавающей точкой Символьный тип

№13 слайд
Регистры процессора Регистры
Содержание слайда: Регистры процессора Регистры общего назначения (EAX, EBX, ECX, EDX) Адресные регистры (ESI, EDI, EBP) Управляющие регистры (ESP, EIP, EFLAGS) Сегментные регистры (CS, DS, SS, ES, GS, FS) Регистры управления памятью (GDTR, LDTR, IDTR) Регистры управления (CR0-CR4) Отладочные регистры (DR0-DR7) Машинно-зависимые регистры (MSR)

№14 слайд
Регистры общего назначения
Содержание слайда: Регистры общего назначения

№15 слайд
Адресные регистры ESI индекса
Содержание слайда: Адресные регистры ESI – индекса источника EDI - регистр индекса результата EBP - регистр указатель стековой базы

№16 слайд
Регистры состояния ESP -
Содержание слайда: Регистры состояния ESP - Указатель на вершину стека EIP - Cчетчик команд EFLAGS - Регистр флагов

№17 слайд
Регистры управления CR CR CR
Содержание слайда: Регистры управления CR0 CR1 CR2 CR3 CR4

№18 слайд
Регистр EFLAGS FLAGS
Содержание слайда: Регистр EFLAGS / FLAGS

№19 слайд
Сегментные регистры -битные
Содержание слайда: Сегментные регистры 16-битные регистры для хранения селекторов сегмента CS – сегмент кода DS – сегмент данных SS – сегмент стека Дополнительные сегменты: ES GS FS

№20 слайд
Системные регистры GDTR LDTR
Содержание слайда: Системные регистры GDTR LDTR IDTR TR

№21 слайд
Регистры x
Содержание слайда: Регистры x64

№22 слайд
Порты ввода вывода I O Ports
Содержание слайда: Порты ввода/вывода (I/O Ports) Используются для взаимодействия с утройствами IN eax, port_num (DX) – чтение из порта OUT port_num(DX), eax- запись в порт

№23 слайд
MSR регистры Model-Specific
Содержание слайда: MSR–регистры (Model-Specific Registers) Зависят от модели процессора Вызываются только из режима ядра RDMSR – чтение, ECX –номер MSR Результат - EDX:EAX WRMSR Примеры: RDTSC – читает MSR-регистр IA32_TIME_STAMP_COUNTER (0x10) SYSENTER/SYSEXIT, SYSCALL/SYSRET

№24 слайд
Расширения инструкций
Содержание слайда: Расширения инструкций процессора Работа с аудио- и видео-данными FPU / NPX MMX MMX Extended 3dNow! 3dNow! Extended SSE SSE2 SSE3 SSSE3 SSE4 AVX

№25 слайд
Стек ESP хранит адрес вершины
Содержание слайда: Стек ESP – хранит адрес вершины стека EBP – хранит адрес начала стекового фрейма SS – регистр, хранит селектор стека Стек – растет от старших адресов к младшим

№26 слайд
Языки ассемблера Команды
Содержание слайда: Языки ассемблера Команды языка соответствуют инструкциям процессора Синтаксисы: Intel AT&T Ассемблеры: MASM NASM FASM TASM GAS

№27 слайд
Типы команд Арифметические
Содержание слайда: Типы команд Арифметические Логические Передачи данных Перехода Пропуска Вызова подпрограммы Возврата из подпрограммы Смешанные

№28 слайд
Формат команды Поле префиксов
Содержание слайда: Формат команды Поле префиксов Замена сегмента Изменение размерности адреса Изменение размерности операнда Необходимость повторения команды Поле кода операции Поле операндов (от 0 до 2)

№29 слайд
Пример Префикс Команда
Содержание слайда: Пример Префикс Команда Операнды

№30 слайд
Типы операндов Байт Слово
Содержание слайда: Типы операндов Байт Слово Десятичный операнд Разряд Число Составной операнд

№31 слайд
Способы адресации Регистровая
Содержание слайда: Способы адресации [1] Регистровая адресация mov ax, bx Непосредственная адресация mov ax, 2 Прямая адресация mov ax, es:0001 mov ax, ds:word_var (ds – по умолчанию) Косвенная адресация mov ax, [bx] Адресация по базе со сдвигом mov ax, [bx+2] mov eax, [ebp]+2 / mov eax, 2[ebp]

№32 слайд
Способы адресации Косвенная
Содержание слайда: Способы адресации [2] Косвенная адресация с масштабированием mov eax, [esi*3]+2 Адресация по базе с индексированием mov ax, [bx+si+2] mov ax, [bx][si]+2 Адресация по базе с индексированием и масштабированием mov edx, es:[eax+ecx*2+4]

№33 слайд
Порядок байт big-endian, от
Содержание слайда: Порядок байт big-endian, от старшего к младшему (SPARC, TCP/IP) little-endian, от младшего к старшему (x86) bi-endian – переключаемый порядок middle-endian – смешанный порядок

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

№35 слайд
ASCII
Содержание слайда: ASCII

№36 слайд
Команды пересылки . MOV
Содержание слайда: Команды пересылки 1. MOV DST,SRC; переслать (SRC) в (DST). 2. PUSH RP; поместить на вершину стека содержимое пары регистров RP (например push bx). 3. POP RP; снять с вершины стека два байта и поместить в пару RP (например pop ax). 4. XCHG DST, SRC; поменять местами содержимое (DST) и (SRC). Оба операнда не могут быть одновременно содержимым ячеек памяти. 5. XLAT SRC; извлечь из таблицы с начальным адресом SRC байт данных имеющий номер от начала таблицы = (AL), и поместить его в AL. Адрес SRC должен находиться в регистре BX. Другой вариант: XLATB. 6. LEA RP,M; загрузить в регистр RP эффективный адрес (смещение) ячейки памяти с символическим адресом M.

№37 слайд
Арифметические команды . ADD
Содержание слайда: Арифметические команды 1. ADD DST, SRC; сложить содержимое SRC и DST и результат переслать в DST. add al, [mem_byte]; mem_byte однобайтовая ячейка памяти add [mem_word], dx; mem_word двухбайтовая ячейка памяти add ch,10001010b; 2. INC DST; увеличить (DST) на 1 (инкремент (DST)). 3. SUB DST, SRC; вычесть (SRC) из (DST) и результат поместить в DST. 4. DEC DST; декремент (DST). 5. CMP DST, SRC; сравнить содержимое DST и SRC. Эта команда выполняет вычитание (SRC) из (DST) но разность не помещает в DST и по результату операции воздействует на флаги.

№38 слайд
Логические команды и команды
Содержание слайда: Логические команды и команды сдвига 1. AND DST, SRC; поразрядное логическое "И". 2. OR DST, SRC; поразрядное логическое "ИЛИ". 4. NOT DST; инверсия всех битов приемника. 5. TEST DST, SRC; выполняет операцию AND над операндами, но воздействует только на флаги и не изменяет самих операндов. 6. SHR DST, CNT; логический сдвиг вправо, освобождающиеся слева биты заполняются нулем, крайний правый бит выталкивается во флаг CF. Операнд DST может быть ячейкой 7. SHL DST, CNT; логический сдвиг влево. 8. RLC DST, CNT; циклический сдвиг влево через перенос 9. RRC DST, CNT;циклический сдвиг вправо через перенос 10. ROR DST, CNT;циклический сдвиг влево 11. ROL DST, CNT;циклический сдвиг вправо

№39 слайд
Использование сдвигов
Содержание слайда: Использование сдвигов Умножение Деление Работа с 64 переменными

№40 слайд
Команды передачи управления .
Содержание слайда: Команды передачи управления 1. CALL SUBR; вызов подпрограммы с адресом SUBR; 2. RET; возврат из подпрограммы к оператору следующему непосредственно за CALL, то есть в приведенном выше примере к MOV .. 3. JMP NAME; безусловный переход к команде с символическим адресом NAME. 4. JA NAME или JNBE NAME; условный переход, если, например, в результате сравнения CMP DST, SRC приемник по абсолютной величине больше источника, то перейти к метке name. 5. JB NAME или JNAE NAME; условный переход, если, например, в результате сравнения CMP DST, SRC приемник по абсолютной величине меньше источника, то перейти к метке name (команды п4 и п5 выполняются по результатам выполнения операций над беззнаковыми числами). 6. JZ NAME или JE NAME; перейти, если результат операции влияющей на флаг нуля - нулевой (переход по "нулю"). 7. JNZ NAME или JNE NAME; переход по "не нулю". (команды п6 и п7 выполняются по результатам выполнения операций над числами cо знаком).

№41 слайд
. Instruction types Data
Содержание слайда: 2.6 Instruction types Data transfer instructions

№42 слайд
. Instruction types
Содержание слайда: 2.6 Instruction types Arithmetic instructions

№43 слайд
. Instruction types Bit
Содержание слайда: 2.6 Instruction types Bit manipulation instructions

№44 слайд
. Instruction types String
Содержание слайда: 2.6 Instruction types String instructions

№45 слайд
Основные команды CALL RET JMP
Содержание слайда: Основные команды CALL / RET JMP PUSH / POP JE / JNE XOR MOV CMP NOP

№46 слайд
Команды условного перехода
Содержание слайда: Команды условного перехода

№47 слайд
Безусловный переход JMP
Содержание слайда: Безусловный переход (JMP)

№48 слайд
NOP No OPeration x
Содержание слайда: NOP No OPeration 0x90

№49 слайд
Пример E опкод call E FE FF
Содержание слайда: Пример E8 – опкод call 8E FE FF FF – аргумент, little-endian ff ff fe 8e = -0x172 (-370) check_pass = 0x40126D – 0x172 + 5 (размер инструкции) = 0x401100

№50 слайд
Опкоды инструкций Принцип
Содержание слайда: Опкоды инструкций Принцип построения

№51 слайд
Основные инструкции
Содержание слайда: Основные инструкции

№52 слайд
Управляющие структуры IF-ELSE
Содержание слайда: Управляющие структуры: IF-ELSE if <A!=B> then <C=3> else <C=5> mov eax, A cmp eax, B jne then mov C, 5 jmp end then: mov C, 3 end:

№53 слайд
Управляющие структуры
Содержание слайда: Управляющие структуры:switch-case

№54 слайд
Передача параметров механизм
Содержание слайда: Передача параметров: механизм По значению По ссылке По возвращаемому значению По результату По имени Отложенным вычислением

№55 слайд
Передача параметров место
Содержание слайда: Передача параметров: место хранения В регистрах В глобальных переменных В стеке В потоке кода В блоке параметров

№56 слайд
Структура исполняемого файла
Содержание слайда: Структура исполняемого файла Секции: Кода Данных Стека Кучи Неинициализированных переменных (bss)

№57 слайд
Процесс компиляции
Содержание слайда: Процесс компиляции

№58 слайд
Средства отладки Linux
Содержание слайда: Средства отладки Linux: ktrace, gdb, ddd, readelf, nm

№59 слайд
Средства разработки GCC CL VS
Содержание слайда: Средства разработки GCC \ CL VS

№60 слайд
Адресное пространство
Содержание слайда: Адресное пространство процесса: Windows

№61 слайд
Адресное пространство
Содержание слайда: Адресное пространство процесса: Linux

№62 слайд
Структура стека
Содержание слайда: Структура стека

№63 слайд
Стековый кадр Вызов функции
Содержание слайда: Стековый кадр Вызов функции call = { “push eip”, jmp func } ret = { “pop eip”, “jmp eip” } Пролог функции push ebp mov ebp, esp Эпилог функции mov esp, ebp pop ebp enter / leave

№64 слайд
Стековый кадр
Содержание слайда: Стековый кадр

№65 слайд
Стековый кадр пример
Содержание слайда: Стековый кадр: пример

№66 слайд
Соглашения о вызове calling
Содержание слайда: Соглашения о вызове (calling convention)

№67 слайд
Thread Environment Block TEB
Содержание слайда: Thread Environment Block (TEB) Wow64 процессы в Windows имеют два PEB и два TEB. TEB создается функцией MmCreateTeb, PEB создается функцией MmCreatePeb TEB — структура которая используется для хранения информации о потоках в текущем процессе, каждый поток имеет свой TEB.

№68 слайд
Thread Environment Block TEB
Содержание слайда: Thread Environment Block (TEB) [TEB+0] Указатель на первый SEH на стэке. [TEB+4] Указатель на конец области памяти, выделенных на стеке. [TEB+8] Указатель на начало области памяти выделенных на стеке, для контроля исключений переполнения стека. [TEB+18] Адрес текущей TEB. [TEB+30] Адрес PEB.

№69 слайд
PEB PEB содержит все
Содержание слайда: PEB PEB содержит все параметры пользовательского процесса: местоположение главной выполняемой программы указатель/загрузчик данных (может использоваться, для перечисления всех dll/модулей, которые были/могут быть загруженными в процесс) указатель на информацию о динамической памяти (heap - куче)

№70 слайд
PEB Находится в TIB x , fs x
Содержание слайда: PEB Находится в TIB[0x30], fs:[0x30]

№71 слайд
Содержание слайда:

№72 слайд
Системные таблицы SSDT IDT LDT
Содержание слайда: Системные таблицы SSDT IDT LDT

№73 слайд
Системные вызовы INT e
Содержание слайда: Системные вызовы INT 2e SYSENTER/SYSEXIT, SYSCALL/SYSRET ntdll_KiFastSystemCall Номер в таблице SSDT CreateFile->NtCreateFile->ZwCreateFile

№74 слайд
Литература Зубков С.В.
Содержание слайда: Литература Зубков С.В. Assembler для DOS, Windows и Unix Касперски К., Рокко Е. Искусство дизассемблирования Юричев Д. Reverse Engineering для начинающих

Скачать все slide презентации Основы языка ассемблера одним архивом: