Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
38 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
686.87 kB
Просмотров:
60
Скачиваний:
1
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img0.jpg)
Содержание слайда: Синтаксис языка
Ассемблера
№2 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img1.jpg)
Содержание слайда: Синтаксис языка Ассемблера
Ассемблер
программа, используемая для преобразования исходной программы на языке Ассемблера в машинный код
Язык Ассемблера
система обозначений, используемая для представления в удобочитаемой форме программ, записанных в машинном коде
№3 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img2.jpg)
Содержание слайда: Синтаксис языка Ассемблера
Пример программы в машинном коде для некоторой архитектуры
0403 1A00 0101 0001
0201 0201 0103 1604
0202 0501 060A 0703
02
№4 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img3.jpg)
Содержание слайда: Синтаксис языка Ассемблера
Пример программы в машинном коде
00: 04
01: 03
02: 1A
03: 00
04: 010100
07: 010201
0A: 020101
0D: 0316
0F: 040202
12: 0501
14: 060A
16: 070302
№5 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img4.jpg)
Содержание слайда: Синтаксис языка Ассемблера
Виды предложений языка Ассемблера
Инструкции
Макрокоманды
Директивы
Комментарии
№6 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img5.jpg)
Содержание слайда: Синтаксис языка Ассемблера
Структура программы на языке Ассемблера
.data
; входные данные
x db 3
y dw 26
.data?
; выходные данные
z dd ?
.code
start:
mov AX, x
add AX, y
mov z, AX
end start
№7 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img6.jpg)
Содержание слайда: Синтаксис языка Ассемблера
Структура программы на языке Ассемблера
.data
; входные данные
x db 3
y dw 26
.data?
; выходные данные
z dd ?
.code
start:
mov AX, x
add AX, y
mov z, AX
end start
№8 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img7.jpg)
Содержание слайда: Синтаксис языка Ассемблера
Структура программы на языке Ассемблера
Программа на ассемблере представляет собой совокупность блоков, называемых сегментами.
Сегменты программы имеют назначение, соответствующее типам сегментов памяти (кода, данных и стека).
Каждый сегмент состоит из совокупности отдельных строк, называемых предложениями языка Ассемблера.
№9 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img8.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№10 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img9.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№11 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img10.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№12 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img11.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№13 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img12.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№14 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img13.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№15 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img14.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№16 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img15.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№17 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img16.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№18 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img17.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№19 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img18.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№20 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img19.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№21 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img20.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№22 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img21.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№23 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img22.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№24 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img23.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№25 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img24.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№26 слайд![Простейшее приложение .](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img25.jpg)
Содержание слайда: Простейшее приложение
.486
.model flat, stdcall
option casemap: none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
title db "Message",0
message db "Hello, World!",0
№27 слайд![Простейшее приложение .code](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img26.jpg)
Содержание слайда: Простейшее приложение
.code
start:
push MB_OK
push offset title
push offset message
push 0
call MessageBox
push 0
call ExitProcess
end start
№28 слайд![Простейшее приложение .code](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img27.jpg)
Содержание слайда: Простейшее приложение
.code
start:
push MB_OK
push offset title
push offset message
push 0
call MessageBox
push 0
call ExitProcess
end start
№29 слайд![Простейшее приложение .code](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img28.jpg)
Содержание слайда: Простейшее приложение
.code
start:
push MB_OK
push offset title
push offset message
push 0
call MessageBox
push 0
call ExitProcess
end start
№30 слайд![Простейшее приложение .code](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img29.jpg)
Содержание слайда: Простейшее приложение
.code
start:
push MB_OK
push offset title
push offset message
push 0
call MessageBox
push 0
call ExitProcess
end start
№31 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img30.jpg)
Содержание слайда: Синтаксис языка Ассемблера
Формат инструкции или макрокоманды
[метка:] КОП [список операндов]
Формат директивы
[имя] директива [список операндов]
№32 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img31.jpg)
Содержание слайда: Синтаксис языка Ассемблера
Операнды
– обозначения регистров;
– числовые и текстовые константы;
– метки и имена переменных;
– знаки операций;
– зарезервированные слова.
№33 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img32.jpg)
Содержание слайда: Синтаксис языка Ассемблера
Машинные команды могут
– не иметь операндов
ret
– иметь один операнд
inc EAX
– иметь два операнда
add EBX, 1
№34 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img33.jpg)
Содержание слайда: Синтаксис языка Ассемблера
Виды операндов
Регистровый операнд
обозначает регистр процессора (имя регистра)
Адресный операнд
обозначает адрес некоторой ячейки памяти
Непосредственный операнд
значение, которое указывается непосредственно в команде
№35 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img34.jpg)
Содержание слайда: Синтаксис языка Ассемблера
Для адресных операндов можно использовать различные методы адресации
Прямая адресация
в команде прямо указывается адрес (смещение) ячейки памяти
Косвенная адресация
в команде указываются регистр(ы), в которых находятся адрес (или часть адреса) ячейки памяти
№36 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img35.jpg)
Содержание слайда: Синтаксис языка Ассемблера
Полное выражение для вычисления адреса ячейки памяти при косвенной адресации:
регистр + масштаб * регистр + число
№37 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img36.jpg)
Содержание слайда: Синтаксис языка Ассемблера
Виды косвенной адресации определяются составом выражения для вычисления адреса, например:
Косвенная базовая
inc [EBX]
Косвенная базовая со смещением
inc [EBX + 10]
Косвенная базовая индексная со смещением
inc [EBX + 4*ESI + 10]
и т.д.
№38 слайд![Синтаксис языка Ассемблера](/documents_6/4c6c521956f3bce258a14aab042e7ad9/img37.jpg)
Содержание слайда: Синтаксис языка Ассемблера
Большинство машинных команд имеют два операнда, один из которых является источником,
другой – приемником.
Допустимы следующие сочетания операндов: