Презентация Программирование на языке ассемблер онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Программирование на языке ассемблер абсолютно бесплатно. Урок-презентация на эту тему содержит всего 39 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Программирование на языке ассемблер
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:39 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:1.98 MB
- Просмотров:88
- Скачиваний:1
- Автор:неизвестен
Слайды и текст к этой презентации:
№2 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img1.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
Язык ассемблера — система обозначений, используемая для представления в удобочитаемой (мнемонической) форме программ, записанных в машинном коде. Он уникален для каждого семейства компьютеров и зависит от архитектуры компьютера.
Архитектура компьютера включает в себя:
структурную схему компьютера;
набор системных регистров;
способ организации оперативной памяти;
организацию и разрядность интерфейсов компьютера;
способы представления и форматы данных компьютера;
набор и форматы машинных команд;
систему обработки прерываний.
№3 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img2.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
В данном курсе рассматривается программирование на языке ассемблера для процессоров Intel. К числу архитектурных особенностей процессоров Intel относятся:
принцип хранимой программы – программа и ее данные находятся в одном адресном пространстве, с точки зрения процессора нет принципиальной разницы между данными и командами;
принцип микропрограммирования – каждой команде ассемблера соответствует набор действий в блоке микропрограммного управления;
линейное пространство памяти – адреса всех ячеек памяти имеют последовательную нумерацию.
№4 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img3.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
Процессоры, начиная с i486 и выше, включают в себя скалярную архитектуру, позволяющую организовать конвейерную обработку команд. Пятиступенчатый конвейер имеет следующие этапы:
выборка команды из оперативной памяти;
декодирование команды;
вычисление адреса операндов;
выполнение операции в арифметико-логическом устройством (АЛУ);
запись результата.
Дальнейшим развитием скалярной архитектуры является суперскалярная архитектура, реализованная в процессорах Pentium.
Суперскалярная архитектура имеет следующие особенности:
раздельное кэширование кода и данных;
предсказание правильного адреса перехода (сохраняется 256 последних переходов, вероятность правильного перехода доходит до 80%);
усовершенствованный блок вычислений с плавающей точкой.
№5 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img4.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
Регистры – это специальные ячейки памяти, расположенные непосредственно в процессоре. Работа с регистрами выполняется намного быстрее, чем с ячейками оперативной памяти, поэтому регистры активно используются как в программах на языке ассемблера, так и компиляторами языков высокого уровня.
Программная модель микропроцессора содержит 32 регистра, которые можно разделить на 2 группы:
16 пользовательских регистров;
16 системных регистров.
№9 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img8.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
Все флаги регистра флагов можно разделить на три группы:
8 флагов состояния. Данные флаги отражают результат исполнения арифметических или логических команд процессора;
1 флаг управления. Данный флаг используется цепочными командами. Значение флага, обозначаемого как ds, определяет направление поэлементной обработки. Если df=0 обработка производится в прямом порядке, а если df=1 то в обратном. Работа с данным флагом возможна с помощью специальных команд (cld и std);
5 системных флагов. Системные флаги предназначены для управлением вводом/выводом, системой прерываний, режимом отладки, переключением задач. Без особой нужды модифицировать значение этих флагов нецелесообразно.
№10 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img9.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
Процессор поддерживает несколько режимов работы с оперативной памятью:
реальный режим – режим в котором работал процессор i8086, сохраняемый для преемственности с ранними моделями;
защищенный режим – использование всех возможностей процессора;
режим виртуального 8086 – предназначен для работы программ созданных с использованием реального режима адресации памяти, в защищенном режиме.
Сегментированная модель памяти
Сегментация – механизм адресации, обеспечивающий существование нескольких независимых адресных пространств.
Сегмент – независимый, поддерживаемый на аппаратном уровне блок памяти.
№15 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img14.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
Машинная команда процессора имеет следующую структуру:
поле префиксов;
поле кода операции;
поле операндов.
Поле префиксов – элемент команды, который модифицирует действие этой команды, например: замена сегмента, изменение размерности адреса, изменение размерности операнда, циклическое выполнение команды.
Поле кода операции – числовой код команды.
Поле операндов – определяет, с какими ячейками работает команда и куда помещает результат. Поле операндов может содержать от 0 до 2-х операндов. Возможны следующие сочетания операндов в команде:
регистр – регистр;
регистр – память;
память – регистр;
значение – регистр;
значение – память.
№17 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img16.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
Для запуска программы на ассемблере потребуются: Tasm.exe, Tlink.exe, <имя программы>.asm. Исходный текст программы набирается в любом текстовом редакторе, а затем файлу с программой присваивается формат <asm>. Для трансляции используется программа tasm.exe .
Однако, для работы на Windows потребуется эмулятор DOSBox (https://www.dosbox.com/), поскольку tasm относится к устаревшим программам, запускаемым только под среду MS-DOS. В эмуляторе DOSBox осуществляется следующая последовательность команд:
mount c e: ; эмуляция диска E: в Windows как диск C: в MS-DOS
с: ; переход в эмулированный диск, который будет отображать содержимое диска E:
cd <имя директории, содержащей Tasm.exe, Tlink.exe, <имя программы>.asm > ; переход к директории, содержащей файл с текстом программы
tasm <имя программы> ; компилирование файла <имя программы>.asm > в <имя программы>.obj для интерпретатор tlink
tlink <имя программы>.obj ; преобразование <имя программы>.obj в приложение <имя программы>.exe
<имя программы>.exe ; запуск программы, работа программы будет выводиться на экран эмулятора DOSBox
№19 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img18.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
Непосредственные операнды
Непосредственным операндом называется число, строка или выражение имеющие фиксированное значение, оно может быть заданно конкретным значением в поле операнда или определено через equ или ‘=’.
Например:
r equ 13
e = r - 2
mov al, r
mov al, 13
! значения 13, r, e, в приведенном фрагменте являются непосредственными операндами
№21 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img20.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
Перемещаемые операнды являются именами переменных или меткам инструкций. В отличие от адресных операндов их значение изменяется в зависимости от значения сегментной составляющей адреса.
Например:
data segment
prim dw 25 dup (0)
. . .
code segment
. . .
lea si, prim
! конкретное физическое значение физического адреса переменной prim будет известно только после загрузки программы.
№22 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img21.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
Счетчик адреса позволяет задавать относительные адреса. Для обозначения текущего значения счетчика адреса используется символ $.
Например:
jmp $+3
cld
mov al, 2
! в приведенном фрагменте управление передается на оператор пересылки данных mov, минуя оператор установки флага управления cld, имеющий длину 1 байт.
№28 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img27.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
Операторы получения сегментной составляющий адреса и смещения
Оператор SEG позволяет получить значение сегмента, а offset – смещения для указанного адреса.
Например:
mov ex, seg prim
mov dx, offset prim
! после выполнения данных операторов в паре регистров ex: dx будет полный адрес переменный prim.
№29 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img28.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
Программа на ассемблере может работать с шестью сегментами: кода, сетка и четырьмя сегментами данных. Для простых программ содержащих только с одним сегментом кода, сетка и данных возможно применение упрощенной модели сегментации.
Структура программы:
model small
.stack (размер)
.data
описание переменных
.code
main proc
тело программы
main endproc
end
Назначение директив приведено в таблице 2.2.
№33 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img32.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
!При работе с переменными необходимо учитывать следующее, младший байт размещается всегда по младшему адресу.
Например:
model small
.stack 100h
.data
test1 db 12h
test2 db 10
test3 db 10 dup (' ')
test4 db 10 dup (?)
srt1 db 'строка$'
№35 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img34.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
Для вывода на экран сообщения используется прерывание 21h.
Вывод строки на экран:
mov ah, 09h ; поместить в регистр ah номер функции прерывания 21h
mov dx, offset str1 ; в регистр dx помещается указатель на строку
int 21h ; вызов прерывания 21h
Вывод символа на экран (выводимый символ находится в регистре dl):
mov ah, 02h ; поместить в регистр ah номер функции прерывания 21h
int 21h ; вызов прерывания 21h
Ввод символа с клавиатуры:
mov ah, 01h ; поместить в регистр ah номер функции прерывания 21h
int 21h ; вызов прерывания 21h
! Введенный символ находится в регистре al
№39 слайд
![Программирование на языке](/documents_6/9dd77d52312b2791009a2d40634dc10f/img38.jpg)
Содержание слайда: Программирование на языке ассемблер
к.т.н., проф. Красов А.В.
Задание на самостоятельную работу:
Поставить на свой ПК ассемблер;
Проверить программу
Научится работать в отладчике
Задание на Лабораторную работу
Ввести с клавиатуры несколько символов, оформив ввод соответствующими строками подсказки и сохранив их в переменных.
Вывести символы в другом порядке с сопровождающими надписями.
Скачать все slide презентации Программирование на языке ассемблер одним архивом:
Похожие презентации
-
Функции в языке программирования VB
-
Одномерные массивы в языке программирования Паскаль. Составление программ
-
Циклы в программировании на языке Паскаль
-
Условный оператор в языке программирования Pascal
-
Программирование на языке С. Модуль 2. Операции
-
Программирование на языке С. Модуль 1. Введение в язык С
-
Простые типы данных на языке программирования Turbo Pascal
-
Объектно-ориентированное программирование на алгоритмическом языке С
-
«Решение задач на языке программирования» (Подготовка к ОГЭ)
-
Программирование на языке Python