🗊 Презентация Лекции по программированию на ассемблере

Нажмите для полного просмотра!
Лекции по программированию на ассемблере, слайд №1 Лекции по программированию на ассемблере, слайд №2 Лекции по программированию на ассемблере, слайд №3 Лекции по программированию на ассемблере, слайд №4 Лекции по программированию на ассемблере, слайд №5 Лекции по программированию на ассемблере, слайд №6 Лекции по программированию на ассемблере, слайд №7 Лекции по программированию на ассемблере, слайд №8 Лекции по программированию на ассемблере, слайд №9 Лекции по программированию на ассемблере, слайд №10 Лекции по программированию на ассемблере, слайд №11 Лекции по программированию на ассемблере, слайд №12 Лекции по программированию на ассемблере, слайд №13 Лекции по программированию на ассемблере, слайд №14 Лекции по программированию на ассемблере, слайд №15 Лекции по программированию на ассемблере, слайд №16 Лекции по программированию на ассемблере, слайд №17 Лекции по программированию на ассемблере, слайд №18 Лекции по программированию на ассемблере, слайд №19 Лекции по программированию на ассемблере, слайд №20 Лекции по программированию на ассемблере, слайд №21 Лекции по программированию на ассемблере, слайд №22 Лекции по программированию на ассемблере, слайд №23 Лекции по программированию на ассемблере, слайд №24 Лекции по программированию на ассемблере, слайд №25 Лекции по программированию на ассемблере, слайд №26 Лекции по программированию на ассемблере, слайд №27 Лекции по программированию на ассемблере, слайд №28 Лекции по программированию на ассемблере, слайд №29 Лекции по программированию на ассемблере, слайд №30 Лекции по программированию на ассемблере, слайд №31 Лекции по программированию на ассемблере, слайд №32 Лекции по программированию на ассемблере, слайд №33 Лекции по программированию на ассемблере, слайд №34 Лекции по программированию на ассемблере, слайд №35 Лекции по программированию на ассемблере, слайд №36 Лекции по программированию на ассемблере, слайд №37 Лекции по программированию на ассемблере, слайд №38 Лекции по программированию на ассемблере, слайд №39 Лекции по программированию на ассемблере, слайд №40 Лекции по программированию на ассемблере, слайд №41 Лекции по программированию на ассемблере, слайд №42 Лекции по программированию на ассемблере, слайд №43 Лекции по программированию на ассемблере, слайд №44 Лекции по программированию на ассемблере, слайд №45 Лекции по программированию на ассемблере, слайд №46 Лекции по программированию на ассемблере, слайд №47 Лекции по программированию на ассемблере, слайд №48 Лекции по программированию на ассемблере, слайд №49 Лекции по программированию на ассемблере, слайд №50 Лекции по программированию на ассемблере, слайд №51 Лекции по программированию на ассемблере, слайд №52 Лекции по программированию на ассемблере, слайд №53 Лекции по программированию на ассемблере, слайд №54 Лекции по программированию на ассемблере, слайд №55 Лекции по программированию на ассемблере, слайд №56 Лекции по программированию на ассемблере, слайд №57 Лекции по программированию на ассемблере, слайд №58 Лекции по программированию на ассемблере, слайд №59 Лекции по программированию на ассемблере, слайд №60 Лекции по программированию на ассемблере, слайд №61 Лекции по программированию на ассемблере, слайд №62 Лекции по программированию на ассемблере, слайд №63 Лекции по программированию на ассемблере, слайд №64 Лекции по программированию на ассемблере, слайд №65 Лекции по программированию на ассемблере, слайд №66 Лекции по программированию на ассемблере, слайд №67 Лекции по программированию на ассемблере, слайд №68 Лекции по программированию на ассемблере, слайд №69 Лекции по программированию на ассемблере, слайд №70 Лекции по программированию на ассемблере, слайд №71 Лекции по программированию на ассемблере, слайд №72 Лекции по программированию на ассемблере, слайд №73 Лекции по программированию на ассемблере, слайд №74 Лекции по программированию на ассемблере, слайд №75 Лекции по программированию на ассемблере, слайд №76 Лекции по программированию на ассемблере, слайд №77 Лекции по программированию на ассемблере, слайд №78 Лекции по программированию на ассемблере, слайд №79 Лекции по программированию на ассемблере, слайд №80 Лекции по программированию на ассемблере, слайд №81 Лекции по программированию на ассемблере, слайд №82 Лекции по программированию на ассемблере, слайд №83 Лекции по программированию на ассемблере, слайд №84 Лекции по программированию на ассемблере, слайд №85 Лекции по программированию на ассемблере, слайд №86 Лекции по программированию на ассемблере, слайд №87 Лекции по программированию на ассемблере, слайд №88 Лекции по программированию на ассемблере, слайд №89 Лекции по программированию на ассемблере, слайд №90 Лекции по программированию на ассемблере, слайд №91 Лекции по программированию на ассемблере, слайд №92 Лекции по программированию на ассемблере, слайд №93 Лекции по программированию на ассемблере, слайд №94 Лекции по программированию на ассемблере, слайд №95 Лекции по программированию на ассемблере, слайд №96 Лекции по программированию на ассемблере, слайд №97 Лекции по программированию на ассемблере, слайд №98 Лекции по программированию на ассемблере, слайд №99 Лекции по программированию на ассемблере, слайд №100 Лекции по программированию на ассемблере, слайд №101 Лекции по программированию на ассемблере, слайд №102 Лекции по программированию на ассемблере, слайд №103 Лекции по программированию на ассемблере, слайд №104 Лекции по программированию на ассемблере, слайд №105 Лекции по программированию на ассемблере, слайд №106 Лекции по программированию на ассемблере, слайд №107 Лекции по программированию на ассемблере, слайд №108 Лекции по программированию на ассемблере, слайд №109 Лекции по программированию на ассемблере, слайд №110 Лекции по программированию на ассемблере, слайд №111 Лекции по программированию на ассемблере, слайд №112 Лекции по программированию на ассемблере, слайд №113 Лекции по программированию на ассемблере, слайд №114 Лекции по программированию на ассемблере, слайд №115 Лекции по программированию на ассемблере, слайд №116 Лекции по программированию на ассемблере, слайд №117 Лекции по программированию на ассемблере, слайд №118 Лекции по программированию на ассемблере, слайд №119 Лекции по программированию на ассемблере, слайд №120 Лекции по программированию на ассемблере, слайд №121 Лекции по программированию на ассемблере, слайд №122 Лекции по программированию на ассемблере, слайд №123 Лекции по программированию на ассемблере, слайд №124 Лекции по программированию на ассемблере, слайд №125 Лекции по программированию на ассемблере, слайд №126 Лекции по программированию на ассемблере, слайд №127 Лекции по программированию на ассемблере, слайд №128 Лекции по программированию на ассемблере, слайд №129 Лекции по программированию на ассемблере, слайд №130 Лекции по программированию на ассемблере, слайд №131 Лекции по программированию на ассемблере, слайд №132 Лекции по программированию на ассемблере, слайд №133 Лекции по программированию на ассемблере, слайд №134 Лекции по программированию на ассемблере, слайд №135 Лекции по программированию на ассемблере, слайд №136 Лекции по программированию на ассемблере, слайд №137 Лекции по программированию на ассемблере, слайд №138 Лекции по программированию на ассемблере, слайд №139 Лекции по программированию на ассемблере, слайд №140 Лекции по программированию на ассемблере, слайд №141 Лекции по программированию на ассемблере, слайд №142 Лекции по программированию на ассемблере, слайд №143 Лекции по программированию на ассемблере, слайд №144 Лекции по программированию на ассемблере, слайд №145 Лекции по программированию на ассемблере, слайд №146 Лекции по программированию на ассемблере, слайд №147 Лекции по программированию на ассемблере, слайд №148 Лекции по программированию на ассемблере, слайд №149 Лекции по программированию на ассемблере, слайд №150 Лекции по программированию на ассемблере, слайд №151 Лекции по программированию на ассемблере, слайд №152 Лекции по программированию на ассемблере, слайд №153 Лекции по программированию на ассемблере, слайд №154 Лекции по программированию на ассемблере, слайд №155 Лекции по программированию на ассемблере, слайд №156 Лекции по программированию на ассемблере, слайд №157 Лекции по программированию на ассемблере, слайд №158 Лекции по программированию на ассемблере, слайд №159 Лекции по программированию на ассемблере, слайд №160 Лекции по программированию на ассемблере, слайд №161 Лекции по программированию на ассемблере, слайд №162 Лекции по программированию на ассемблере, слайд №163 Лекции по программированию на ассемблере, слайд №164 Лекции по программированию на ассемблере, слайд №165 Лекции по программированию на ассемблере, слайд №166 Лекции по программированию на ассемблере, слайд №167 Лекции по программированию на ассемблере, слайд №168 Лекции по программированию на ассемблере, слайд №169 Лекции по программированию на ассемблере, слайд №170 Лекции по программированию на ассемблере, слайд №171 Лекции по программированию на ассемблере, слайд №172 Лекции по программированию на ассемблере, слайд №173 Лекции по программированию на ассемблере, слайд №174 Лекции по программированию на ассемблере, слайд №175 Лекции по программированию на ассемблере, слайд №176 Лекции по программированию на ассемблере, слайд №177 Лекции по программированию на ассемблере, слайд №178 Лекции по программированию на ассемблере, слайд №179 Лекции по программированию на ассемблере, слайд №180 Лекции по программированию на ассемблере, слайд №181 Лекции по программированию на ассемблере, слайд №182 Лекции по программированию на ассемблере, слайд №183 Лекции по программированию на ассемблере, слайд №184 Лекции по программированию на ассемблере, слайд №185 Лекции по программированию на ассемблере, слайд №186 Лекции по программированию на ассемблере, слайд №187 Лекции по программированию на ассемблере, слайд №188 Лекции по программированию на ассемблере, слайд №189 Лекции по программированию на ассемблере, слайд №190 Лекции по программированию на ассемблере, слайд №191 Лекции по программированию на ассемблере, слайд №192 Лекции по программированию на ассемблере, слайд №193 Лекции по программированию на ассемблере, слайд №194 Лекции по программированию на ассемблере, слайд №195 Лекции по программированию на ассемблере, слайд №196 Лекции по программированию на ассемблере, слайд №197 Лекции по программированию на ассемблере, слайд №198 Лекции по программированию на ассемблере, слайд №199 Лекции по программированию на ассемблере, слайд №200 Лекции по программированию на ассемблере, слайд №201 Лекции по программированию на ассемблере, слайд №202 Лекции по программированию на ассемблере, слайд №203

Содержание

Вы можете ознакомиться и скачать презентацию на тему Лекции по программированию на ассемблере. Доклад-сообщение содержит 203 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1


Введение. Классификация языков программирования. Машинный язык и язык ассемблера. Структурная схема компьютера.
Описание слайда:
Введение. Классификация языков программирования. Машинный язык и язык ассемблера. Структурная схема компьютера.

Слайд 2


Тищенко В.И. Учебное пособие по курсу «Системное программирование»; Тищенко В.И. Учебное пособие по курсу «Системное программирование»; Тищенко В.И....
Описание слайда:
Тищенко В.И. Учебное пособие по курсу «Системное программирование»; Тищенко В.И. Учебное пособие по курсу «Системное программирование»; Тищенко В.И. Лабораторный практикум по курсу «Системное программирование»; Тищенко В.И. Лабораторный практикум «Разработка оверлейных и резидентных программ»; Юров В. Ассемблер – учебник; Юров В. Ассемблер – практикум.

Слайд 3


Классификация языков программирования
Описание слайда:
Классификация языков программирования

Слайд 4


Машинный язык программирования – это язык, непосредственно воспринимаемый компьютером. Машинный язык программирования – это язык, непосредственно...
Описание слайда:
Машинный язык программирования – это язык, непосредственно воспринимаемый компьютером. Машинный язык программирования – это язык, непосредственно воспринимаемый компьютером. Каждая его команда интерпретируется аппаратурой ЭВМ. Машинная команда имеет структуру вида: код операции, операнд1, операнд2 Операнды - это данные или адреса, над которыми будет выполняться действие, определенное кодом операции. Структура данных в оперативной памяти называется форматим данных.

Слайд 5


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

Слайд 6


Выделим 5 основных поколений: Выделим 5 основных поколений: (конец 50-х г.) – Fortran, Algol; (середина 60-х г.) - Cobol, Lisp; (70-е годы) - PL/1,...
Описание слайда:
Выделим 5 основных поколений: Выделим 5 основных поколений: (конец 50-х г.) – Fortran, Algol; (середина 60-х г.) - Cobol, Lisp; (70-е годы) - PL/1, Pascal; (80-е годы) - Object Pascal, C++, Ada; (90-е годы) - Visual Basic, Delphi, Builder.

Слайд 7


с развитием аппаратных средств появились: функции ввода-вывода, поддержка файловой системы, взаимодействие с операционной системой; с развитием...
Описание слайда:
с развитием аппаратных средств появились: функции ввода-вывода, поддержка файловой системы, взаимодействие с операционной системой; с развитием аппаратных средств появились: функции ввода-вывода, поддержка файловой системы, взаимодействие с операционной системой; с усложнением задач: поддержка подпрограмм, механизм передачи параметров (основа для методологии структурного программирования);

Слайд 8


возможность создания больших программ на основе подпрограмм изменили архитектуру языков и подход к компоновке программ (механизм раздельной...
Описание слайда:
возможность создания больших программ на основе подпрограмм изменили архитектуру языков и подход к компоновке программ (механизм раздельной трансляции программ и понятие модульности); возможность создания больших программ на основе подпрограмм изменили архитектуру языков и подход к компоновке программ (механизм раздельной трансляции программ и понятие модульности); абстракция данных, типизация и модульность – основа технологии объектно-ориентированного программирования; появление среды Windows породило технологию визуального программирования.

Слайд 9


Архитектура ЭВМ – это абстрактное представление ЭВМ, которое отражает ее структурную, схемотехническую и логическую организации. Архитектура ЭВМ –...
Описание слайда:
Архитектура ЭВМ – это абстрактное представление ЭВМ, которое отражает ее структурную, схемотехническую и логическую организации. Архитектура ЭВМ – это абстрактное представление ЭВМ, которое отражает ее структурную, схемотехническую и логическую организации.

Слайд 10


Лекции по программированию на ассемблере, слайд №10
Описание слайда:

Слайд 11


Лекции по программированию на ассемблере, слайд №11
Описание слайда:

Слайд 12


Классификация регистров. Назначение регистров. Адресация памяти. Физическая адресация памяти.
Описание слайда:
Классификация регистров. Назначение регистров. Адресация памяти. Физическая адресация памяти.

Слайд 13


Электронное устройство, предназначенное для временного хранения информации, называется регистром. Электронное устройство, предназначенное для...
Описание слайда:
Электронное устройство, предназначенное для временного хранения информации, называется регистром. Электронное устройство, предназначенное для временного хранения информации, называется регистром. Расположены на кристалле МП. Характеризуются размером: 8-разрядные, 16-разрядные, 32-разрядные, 64-разрядные.

Слайд 14


Лекции по программированию на ассемблере, слайд №14
Описание слайда:

Слайд 15


Лекции по программированию на ассемблере, слайд №15
Описание слайда:

Слайд 16


sp – указатель стека; sp – указатель стека; bp – указатель базы; si – индекс источника; di -индекс результата. Адрес памяти задается двумя значениями...
Описание слайда:
sp – указатель стека; sp – указатель стека; bp – указатель базы; si – индекс источника; di -индекс результата. Адрес памяти задается двумя значениями – сегмент и смещение, например : ds:dx, es:bx, ss:sp, ss:bp. Текущая исполняемая команда определяется cs:ip.

Слайд 17


ip – указатель команд, ip – указатель команд, регистр флагов. Указатель команд - содержит смещение следующей команды в кодовом сегменте.
Описание слайда:
ip – указатель команд, ip – указатель команд, регистр флагов. Указатель команд - содержит смещение следующей команды в кодовом сегменте.

Слайд 18


16 – системных; 16 – системных; 16 – пользовательских: 8 РОН, индексных и указателей по 32 разряда eax/ax/ah/al, ebx/bx/bh/bl, edx/dx/dh/dl,...
Описание слайда:
16 – системных; 16 – системных; 16 – пользовательских: 8 РОН, индексных и указателей по 32 разряда eax/ax/ah/al, ebx/bx/bh/bl, edx/dx/dh/dl, ecx/cx/ch/cl, …….. 6 сегментных по 16 разрядов: cs, ds, ss, es, fs, gs; 2 регистра состояния и управления по 32 разряда: eip/ip и eflags/ flags.

Слайд 19


Лекции по программированию на ассемблере, слайд №19
Описание слайда:

Слайд 20


16 32 20 24 16 32 20 24 2 =64 кб, 2 = 4Гб, 2 = 1Мб, 2 = 16 Мб. Для МП intel 8088 размер машинного слова – 16 бит или 2 байта, шина имела 20 линий,...
Описание слайда:
16 32 20 24 16 32 20 24 2 =64 кб, 2 = 4Гб, 2 = 1Мб, 2 = 16 Мб. Для МП intel 8088 размер машинного слова – 16 бит или 2 байта, шина имела 20 линий, поэтому адрес 20- разрядный.

Слайд 21


Адрес, выдаваемый на шину адреса, называется физическим. Адрес, выдаваемый на шину адреса, называется физическим. Физический адрес = (сегментный...
Описание слайда:
Адрес, выдаваемый на шину адреса, называется физическим. Адрес, выдаваемый на шину адреса, называется физическим. Физический адрес = (сегментный адрес)*16 + смещение или Физический адрес = (сегментный адрес)*10h + смещение.

Слайд 22


Пусть содержимое сегментного регистра равно 2011h, смещение равно 15h, Пусть содержимое сегментного регистра равно 2011h, смещение равно 15h, тогда...
Описание слайда:
Пусть содержимое сегментного регистра равно 2011h, смещение равно 15h, Пусть содержимое сегментного регистра равно 2011h, смещение равно 15h, тогда ФА=20110h+15h= 20125h

Слайд 23


Младший байт записывается в ячейку с меньшим адресом, старший – в ячейку с адресом на 1 больше. Младший байт записывается в ячейку с меньшим адресом,...
Описание слайда:
Младший байт записывается в ячейку с меньшим адресом, старший – в ячейку с адресом на 1 больше. Младший байт записывается в ячейку с меньшим адресом, старший – в ячейку с адресом на 1 больше. Пример: пусть число 1234h размещено с адреса 1927:0000, т.е. занимает ф.а. 19270h и 19271h. Тогда цифры 34h – по адресу 19270h, а 12h – по адресу 19271h.

Слайд 24


АХ – аккумулятор. АХ – аккумулятор. ВХ – как вычислительный регистр, но может быть адресным. CX – счетчик в некоторых командах. DX – расширитель...
Описание слайда:
АХ – аккумулятор. АХ – аккумулятор. ВХ – как вычислительный регистр, но может быть адресным. CX – счетчик в некоторых командах. DX – расширитель аккумулятора.

Слайд 25


si, di, bp, bx – основное назначение – хранить 16 – разрядное значение при формировании адреса. si, di, bp, bx – основное назначение – хранить 16 –...
Описание слайда:
si, di, bp, bx – основное назначение – хранить 16 – разрядное значение при формировании адреса. si, di, bp, bx – основное назначение – хранить 16 – разрядное значение при формировании адреса.

Слайд 26


ip – указатель команд, ip – указатель команд, регистр флагов. Указатель команд - содержит смещение следующей команды. Методы изменения порядка...
Описание слайда:
ip – указатель команд, ip – указатель команд, регистр флагов. Указатель команд - содержит смещение следующей команды. Методы изменения порядка выполнения команд: последовательный порядок команд, переход внутри сегмента (near – переход), переход в другой сегмент (far – переход).

Слайд 27


Определяет смещение текущей вершины стека. Определяет смещение текущей вершины стека. Адрес стека определяется как ss:sp или ss:bp. Пример загрузки...
Описание слайда:
Определяет смещение текущей вершины стека. Определяет смещение текущей вершины стека. Адрес стека определяется как ss:sp или ss:bp. Пример загрузки сегментных регистров cs в ds: а) mov ax, cs mov ds, ax в) push cs pop ds

Слайд 28


Регистр флагов. Механизм формирования физического адреса. Форматы данных. Директивы определения данных.
Описание слайда:
Регистр флагов. Механизм формирования физического адреса. Форматы данных. Директивы определения данных.

Слайд 29


Лекции по программированию на ассемблере, слайд №29
Описание слайда:

Слайд 30


Лекции по программированию на ассемблере, слайд №30
Описание слайда:

Слайд 31


Лекции по программированию на ассемблере, слайд №31
Описание слайда:

Слайд 32


Классификация данных по разрядности Классификация данных по разрядности
Описание слайда:
Классификация данных по разрядности Классификация данных по разрядности

Слайд 33


Лекции по программированию на ассемблере, слайд №33
Описание слайда:

Слайд 34


8 регистров данных длиной 80 бит. 8 регистров данных длиной 80 бит. Оперирует 7 типами данных: 3 типа целых (слово 16 бит, короткое целое 32 бита,...
Описание слайда:
8 регистров данных длиной 80 бит. 8 регистров данных длиной 80 бит. Оперирует 7 типами данных: 3 типа целых (слово 16 бит, короткое целое 32 бита, длинное целое 64 бита); 3 типа вещественных (короткое 32 бита, длинное 64 бита, временное 80 бит): знак, характеристика, мантисса 1 бит 8, 11 или 15 бит 23, 52 или 64 бита; Упакованные двоично-десятичные числа.

Слайд 35


Общий вид оператора ассемблера: Общий вид оператора ассемблера: метка КОП операнд_1,операнд_2 Оператором может быть: машинная команда; директива...
Описание слайда:
Общий вид оператора ассемблера: Общий вид оператора ассемблера: метка КОП операнд_1,операнд_2 Оператором может быть: машинная команда; директива транслятора; макрокоманда; комментарий.

Слайд 36


формат директивы: формат директивы: имя d выражение a dw 10 ; в десятичной системе счисления b dw 10h ; использование шестнадцатеричной системы...
Описание слайда:
формат директивы: формат директивы: имя d выражение a dw 10 ; в десятичной системе счисления b dw 10h ; использование шестнадцатеричной системы счисления

Слайд 37


константой: ABC1 dw 1234h константой: ABC1 dw 1234h списком: ABC2 db 1,2,3 строкой: ABC3 db ‘stroka’ с операцией дублирования: ABC4 db 4 dup (0)
Описание слайда:
константой: ABC1 dw 1234h константой: ABC1 dw 1234h списком: ABC2 db 1,2,3 строкой: ABC3 db ‘stroka’ с операцией дублирования: ABC4 db 4 dup (0)

Слайд 38


Режимы адресации в ассемблере.
Описание слайда:
Режимы адресации в ассемблере.

Слайд 39


Лекции по программированию на ассемблере, слайд №39
Описание слайда:

Слайд 40


1. Регистровая адресация 1. Регистровая адресация mov ax,bx mov al,dl 2. Непосредственная адресация mov ax,1234h mov cl,‘a’ mov ah,5
Описание слайда:
1. Регистровая адресация 1. Регистровая адресация mov ax,bx mov al,dl 2. Непосредственная адресация mov ax,1234h mov cl,‘a’ mov ah,5

Слайд 41


.data .data ABC dw 1234h .code mov dx,ABC Пусть адрес АВС = ds:0000, тогда команда под отладчиком выглядит так: mov dx, word ptr [0000] или mov dx,...
Описание слайда:
.data .data ABC dw 1234h .code mov dx,ABC Пусть адрес АВС = ds:0000, тогда команда под отладчиком выглядит так: mov dx, word ptr [0000] или mov dx, [0000] Для вычисления адреса операнда по умолчанию используется сегментный регистр ds.

Слайд 42


Смещение, которое вычисляется аппаратно для доступа к операнду в памяти, называется исполнительным (эффективным) адресом (EA) Смещение, которое...
Описание слайда:
Смещение, которое вычисляется аппаратно для доступа к операнду в памяти, называется исполнительным (эффективным) адресом (EA) Смещение, которое вычисляется аппаратно для доступа к операнду в памяти, называется исполнительным (эффективным) адресом (EA) .data ABC dw 1234h .code ………. mov bx, offset ABC mov ax,[bx] Для вычисления адреса операнда по умолчанию используется сегментный регистр - ds

Слайд 43


Эффективный адрес ЕА вычисляется: Эффективный адрес ЕА вычисляется: Размер индексное смещение (сдвига) - 0, 1 или 2 байта. Пример: обращение к 2-му...
Описание слайда:
Эффективный адрес ЕА вычисляется: Эффективный адрес ЕА вычисляется: Размер индексное смещение (сдвига) - 0, 1 или 2 байта. Пример: обращение к 2-му элементу массива слов .data ARRAY dw 1,2,3,4,5 .code mov bx,offset ARRAY mov ax,[bx]+2

Слайд 44


Эффективный адрес ЕА вычисляется: Эффективный адрес ЕА вычисляется: Пример: загрузить 5-й элемент массива байтов в регистр al. .data table db...
Описание слайда:
Эффективный адрес ЕА вычисляется: Эффективный адрес ЕА вычисляется: Пример: загрузить 5-й элемент массива байтов в регистр al. .data table db 0Ah,0Bh,0Ch,0Dh,0Eh,0Fh .code mov di,0002 или mov di,2 mov al, table[di+2]

Слайд 45


Эффективный адрес ЕА вычисляется: Эффективный адрес ЕА вычисляется: Пример: задан массив записей, каждая запись состоит из 6 слов. Переслать 3-е...
Описание слайда:
Эффективный адрес ЕА вычисляется: Эффективный адрес ЕА вычисляется: Пример: задан массив записей, каждая запись состоит из 6 слов. Переслать 3-е слово 2-ой записи в регистр ax. .data table dw 1,2,3,4,5,6,7,8,9,10,11,12,…….. .code mov si,12 или mov si,2*6 mov bx,offset table mov ax, [bx+si+4 ]

Слайд 46


Для адресации по базе с индексированием возможны следующие комбинации регистров: Для адресации по базе с индексированием возможны следующие...
Описание слайда:
Для адресации по базе с индексированием возможны следующие комбинации регистров: Для адресации по базе с индексированием возможны следующие комбинации регистров: [bx][si] +сдвиг совместно с регистром ds [bx][di] +сдвиг совместно с регистром ds [bp][si] +сдвиг совместно с регистром ss [bp][di] +сдвиг совместно с регистром ss Используеются разные формы записи операнда: [bx][di] +4, [bx+di] +4, [bx+di+4 ]

Слайд 47


Лекции по программированию на ассемблере, слайд №47
Описание слайда:

Слайд 48


сдвиг отсутствует, длина поля равна 0; сдвиг отсутствует, длина поля равна 0; занимает 1 байт, значение в диапазоне -128 до +127; занимает 2 байта,...
Описание слайда:
сдвиг отсутствует, длина поля равна 0; сдвиг отсутствует, длина поля равна 0; занимает 1 байт, значение в диапазоне -128 до +127; занимает 2 байта, значение в диапазоне -32768 до +32767.

Слайд 49


- Принципы и свойства архитектуры ЭВМ. Иерархия памяти.
Описание слайда:
- Принципы и свойства архитектуры ЭВМ. Иерархия памяти.

Слайд 50


Принцип хранимой программы (Джона фон Неймана) – код программы и данные хранятся в оперативной памяти (ОП). Принцип хранимой программы (Джона фон...
Описание слайда:
Принцип хранимой программы (Джона фон Неймана) – код программы и данные хранятся в оперативной памяти (ОП). Принцип хранимой программы (Джона фон Неймана) – код программы и данные хранятся в оперативной памяти (ОП). Принцип микропрограммирования – для каждой команды есть набор действий- сигналов, генерируемых для ее выполнения. Принцип адресности – пространство ОП линейно, т.е. совокупность последовательно пронумерованных ячеек памяти. Номер ячейки – ее адрес (0,1,2,…). Принцип программного управления – последовательное выполнение команд программы. Для изменения порядка выполнения используются специальные команды.

Слайд 51


5. Принцип однородности памяти – для процессора нет принципиальной разницы между данными и командами. Над командами можно выполнять такие же действия...
Описание слайда:
5. Принцип однородности памяти – для процессора нет принципиальной разницы между данными и командами. Над командами можно выполнять такие же действия как и над данными. 5. Принцип однородности памяти – для процессора нет принципиальной разницы между данными и командами. Над командами можно выполнять такие же действия как и над данными. 6. Принцип двоичного кодирования – необходимо четко разделять пространство данных и команд, т.к. процессор трактует двоичную информацию в зависимости от назначения адресного пространства . 7. Принцип безразличие к целевому назначению данных – процессору не важна логическая назрузка обрабатываемых данных.

Слайд 52


Способы кеширования кода и данных: Способы кеширования кода и данных: в i486 – один блок встроенного кеша размером 8 кб для кодов и данных; в Pentium...
Описание слайда:
Способы кеширования кода и данных: Способы кеширования кода и данных: в i486 – один блок встроенного кеша размером 8 кб для кодов и данных; в Pentium - два блока по 8 кб, один для кода, другой для данных. Возможен одновременный доступ к коду и данным.

Слайд 53


Лекции по программированию на ассемблере, слайд №53
Описание слайда:

Слайд 54


Располагается между основной памятью и процессором. Располагается между основной памятью и процессором. Основное назначение - улучшение эффективной...
Описание слайда:
Располагается между основной памятью и процессором. Располагается между основной памятью и процессором. Основное назначение - улучшение эффективной скорости взаимодействия с памятью и увеличение быстродействия процессора. Подразделяется на кеш I уровня (на кристалле) и кеш II уровня (на кристалле или вне его).

Слайд 55


Предвосхищение наиболее вероятного использования процессором данных из ОП путем их копирования в кеш-память. Предвосхищение наиболее вероятного...
Описание слайда:
Предвосхищение наиболее вероятного использования процессором данных из ОП путем их копирования в кеш-память. Предвосхищение наиболее вероятного использования процессором данных из ОП путем их копирования в кеш-память. Данные передаются блоками, состоящими из нескольких слов. Среднее время доспупа к кеш – памяти: в 3 раза быстрее, чем к ОЗУ, в 10 раз быстрее, чем к ПЗУ.

Слайд 56


Физическая память, к которой МП имеет доступ по шине адреса, называется ОП. Физическая память, к которой МП имеет доступ по шине адреса, называется...
Описание слайда:
Физическая память, к которой МП имеет доступ по шине адреса, называется ОП. Физическая память, к которой МП имеет доступ по шине адреса, называется ОП. Выполнена ОП на дешевых и медленно действующих полупроводниковых устройствах. Реально реализована как последовательность ячеек – байтов. Каждому байту соответствует уникальный адрес, называемый физическим.

Слайд 57


Он обеспечивает: Он обеспечивает: компактность хранения адреса в команде; гибкость механизма адресации; защиту адресного пространства задачи;...
Описание слайда:
Он обеспечивает: Он обеспечивает: компактность хранения адреса в команде; гибкость механизма адресации; защиту адресного пространства задачи; поддержку виртуальной памяти.

Слайд 58


МП аппаратно поддерживает модели: МП аппаратно поддерживает модели: сегментированную; страничную. Режимы работы МП: режим реальных адресов;...
Описание слайда:
МП аппаратно поддерживает модели: МП аппаратно поддерживает модели: сегментированную; страничную. Режимы работы МП: режим реальных адресов; защищенный; виртуального процессора.

Слайд 59


Сегментация – механизм адресации, обеспечивающий существование нескольких независимых адресных пространств (как в пределах одной задачи, так и в...
Описание слайда:
Сегментация – механизм адресации, обеспечивающий существование нескольких независимых адресных пространств (как в пределах одной задачи, так и в системе в целом) для защиты от взаимного влияния. Сегментация – механизм адресации, обеспечивающий существование нескольких независимых адресных пространств (как в пределах одной задачи, так и в системе в целом) для защиты от взаимного влияния. Сегмент – независимый, поддерживаемый на аппаратном уровне блок памяти. Программно возможен непосредственный доступ только к 4(6) сегментам. Каждый сегмент имеет специальное назначение.

Слайд 60


Первоначально начальные физические адреса сегментов программы неизвестны. Первоначально начальные физические адреса сегментов программы неизвестны....
Описание слайда:
Первоначально начальные физические адреса сегментов программы неизвестны. Первоначально начальные физические адреса сегментов программы неизвестны. ОС распределяет память и помещает адреса: в реальном режиме - в сегментные регистры; в защищенном – в специальную дескрипторную таблицу. Под физическим (линейным) адресом понимается адрес, выдаваемый на шину адреса.

Слайд 61


Лекции по программированию на ассемблере, слайд №61
Описание слайда:

Слайд 62


Виды операндов, поддерживаемые транслятором. Структура команды мп intel 80386. Байт mod r/m. Формат команды mov (1-2).
Описание слайда:
Виды операндов, поддерживаемые транслятором. Структура команды мп intel 80386. Байт mod r/m. Формат команды mov (1-2).

Слайд 63


метка КОП операнд_1,операнд_2 Оператором ассемблера может быть: машинная команда; директива транслятора; макрокоманда; комментарий.
Описание слайда:
метка КОП операнд_1,операнд_2 Оператором ассемблера может быть: машинная команда; директива транслятора; макрокоманда; комментарий.

Слайд 64


Постоянные или непосредственные (число, строка): ABC equ 3 или АВС1=АВС1+120/5; Постоянные или непосредственные (число, строка): ABC equ 3 или...
Описание слайда:
Постоянные или непосредственные (число, строка): ABC equ 3 или АВС1=АВС1+120/5; Постоянные или непосредственные (число, строка): ABC equ 3 или АВС1=АВС1+120/5; Адресные (сегмент:смещение): ds:0001; Перемещаемые – адреса, непривязанные к конкретному физическому адресу памяти; Текущее значение счетчика адреса ($): mov ax,$+5; Регистровые: ax, cx, dx и т.д.; Базовый и индексный операнды: bx, di, si; Арифметические операторы в выражении: +, -, *, /;

Слайд 65


Операторы сравнения: eq, ne, lt, le, gt, ge и т.д. Операторы сравнения: eq, ne, lt, le, gt, ge и т.д. Логические операторы: and, or, xor. Индексный...
Описание слайда:
Операторы сравнения: eq, ne, lt, le, gt, ge и т.д. Операторы сравнения: eq, ne, lt, le, gt, ge и т.д. Логические операторы: and, or, xor. Индексный оператор [ ]: mov ax, ABC [si] Оператор определения типа (приписывает операнду указанный тип): формат: тип ptr выражение пример: abc dw 12h mov al, byte ptr abc Получение сегментной части адреса или смещения: mov ax, seg ABC mov dx, offset ABC

Слайд 66


Лекции по программированию на ассемблере, слайд №66
Описание слайда:

Слайд 67


Префикс КОП байт_mod_r/m сдвиг данное 0,1 1 0,1 0,1,2 0,1,2 Длина команды: min - 1 байт, max - 7 байт.
Описание слайда:
Префикс КОП байт_mod_r/m сдвиг данное 0,1 1 0,1 0,1,2 0,1,2 Длина команды: min - 1 байт, max - 7 байт.

Слайд 68


Лекции по программированию на ассемблере, слайд №68
Описание слайда:

Слайд 69


Каждый префикс может занимать 1 байт. Каждый префикс может занимать 1 байт. Есть 5 типов префиксов: повторения (в цепочечных командах); размера...
Описание слайда:
Каждый префикс может занимать 1 байт. Каждый префикс может занимать 1 байт. Есть 5 типов префиксов: повторения (в цепочечных командах); размера адреса; размера операнда; замены сегмента; блокировки шины.

Слайд 70


| mod | reg/коп | r/m | | mod | reg/коп | r/m | Поле mod – 2 бита, кодировка: 00 – индексное смещение отсутствует; 01 – смещение занимает 1 байт; 10...
Описание слайда:
| mod | reg/коп | r/m | | mod | reg/коп | r/m | Поле mod – 2 бита, кодировка: 00 – индексное смещение отсутствует; 01 – смещение занимает 1 байт; 10 - смещение занимает 2 байта; 11 – поле r/m определяет регистр. Поля reg и r/m имеют длину по 3 бита. Определяют регистр и способ адресации.

Слайд 71


Лекции по программированию на ассемблере, слайд №71
Описание слайда:

Слайд 72


При регистровой адресации поле mod = 11, а в поле r/m - код второго регистра. При регистровой адресации поле mod = 11, а в поле r/m - код второго...
Описание слайда:
При регистровой адресации поле mod = 11, а в поле r/m - код второго регистра. При регистровой адресации поле mod = 11, а в поле r/m - код второго регистра. Для прямой адресации поле mod = 00, r/m=110 и за байтом mod r/m стоят 2 байта, указывающих смещение прямого адреса.

Слайд 73


mov ax, @data mov ds, ax
Описание слайда:
mov ax, @data mov ds, ax

Слайд 74


Пересылка регистра/памяти в/из регистра: Пересылка регистра/памяти в/из регистра: mov ax,bx
Описание слайда:
Пересылка регистра/памяти в/из регистра: Пересылка регистра/памяти в/из регистра: mov ax,bx

Слайд 75


d определяет направление перемещения: d определяет направление перемещения: w определяет размер операнда:
Описание слайда:
d определяет направление перемещения: d определяет направление перемещения: w определяет размер операнда:

Слайд 76


Форматы команды MOV Префикс замены сегмента. Система машинных команд МП intel 8086 (п.1-2).
Описание слайда:
Форматы команды MOV Префикс замены сегмента. Система машинных команд МП intel 8086 (п.1-2).

Слайд 77


2. Непосредственный операнд в регистр/память 2. Непосредственный операнд в регистр/память mov ABC,46 Пусть смещение АВС равно 0005
Описание слайда:
2. Непосредственный операнд в регистр/память 2. Непосредственный операнд в регистр/память mov ABC,46 Пусть смещение АВС равно 0005

Слайд 78


3. Непосредственный операнд в регистр 3. Непосредственный операнд в регистр mov si,1000 (1000=03E8h)
Описание слайда:
3. Непосредственный операнд в регистр 3. Непосредственный операнд в регистр mov si,1000 (1000=03E8h)

Слайд 79


4. Память в аккумулятор 4. Память в аккумулятор mov ax,exword ; если адрес exword = ds:0002, то А 1 02 00
Описание слайда:
4. Память в аккумулятор 4. Память в аккумулятор mov ax,exword ; если адрес exword = ds:0002, то А 1 02 00

Слайд 80


5. Аккумулятор в память 5. Аккумулятор в память mov exbyte,al ; если адрес exbyte = ds:0004, то А 2 04 00
Описание слайда:
5. Аккумулятор в память 5. Аккумулятор в память mov exbyte,al ; если адрес exbyte = ds:0004, то А 2 04 00

Слайд 81


6. Регистр/память в сегментный регистр 6. Регистр/память в сегментный регистр mov ds,ax
Описание слайда:
6. Регистр/память в сегментный регистр 6. Регистр/память в сегментный регистр mov ds,ax

Слайд 82


7. Сегментный регистр в регистр/память: 7. Сегментный регистр в регистр/память: mov ax,еs
Описание слайда:
7. Сегментный регистр в регистр/память: 7. Сегментный регистр в регистр/память: mov ax,еs

Слайд 83


Префикс занимает 1 байт и имеет вид: Префикс занимает 1 байт и имеет вид: 001 regs 110 Кодировка сегментных регистров: Пример: переменная var...
Описание слайда:
Префикс занимает 1 байт и имеет вид: Префикс занимает 1 байт и имеет вид: 001 regs 110 Кодировка сегментных регистров: Пример: переменная var определена в сегменте cs, тогда в исходном модуле - inc cs:var, под отладчиком - cs: inc var

Слайд 84


Лекции по программированию на ассемблере, слайд №84
Описание слайда:

Слайд 85


Выполняют обмен информации между регистрами, ячейками памяти и портами ввода-вывода: Выполняют обмен информации между регистрами, ячейками памяти и...
Описание слайда:
Выполняют обмен информации между регистрами, ячейками памяти и портами ввода-вывода: Выполняют обмен информации между регистрами, ячейками памяти и портами ввода-вывода: a) команды пересылки данных (mov, lea, xchg); пример: mov bx,offset abc lea bx,abc xchg ax,bx б) стековые операции (push, pop, pushf, popf). Пример: push ds pop es

Слайд 86


Стек – это область оперативной памяти, специально выделенная для временного хранения данных программы. Стек – это область оперативной памяти,...
Описание слайда:
Стек – это область оперативной памяти, специально выделенная для временного хранения данных программы. Стек – это область оперативной памяти, специально выделенная для временного хранения данных программы. Работает по принципу LIFO в сторону уменьшения адресов. Используются 3 регистра: ss - сегментный регистр, sp – указатель стека, bp – указатель базы кадра стека.

Слайд 87


----------------------------- 0000:0000 ----------------------------- 0000:0000 ………………. ------------------------------ Сегмент стека SS:0000 Вершина...
Описание слайда:
----------------------------- 0000:0000 ----------------------------- 0000:0000 ………………. ------------------------------ Сегмент стека SS:0000 Вершина стека SS:SP Дно стека SS:FFFF ------------------------------- …………………..

Слайд 88


рush – запись значения в вершину стека: рush – запись значения в вершину стека: sp=(sp)-2; Запись операнда по адресу ss:sp. рop – извлечение из...
Описание слайда:
рush – запись значения в вершину стека: рush – запись значения в вершину стека: sp=(sp)-2; Запись операнда по адресу ss:sp. рop – извлечение из вершины стека: Извлечение операнда по адресу ss:sp sp=(sp)+2; Запись операнда. рusha – групповая запись в стек регистров аx, cx, dx, bx, sp, bp, si, di рopa – групповое извлечение из стека в регистры

Слайд 89


рushf – загрузка содержимого регистра флагов в вершину стека: рushf – загрузка содержимого регистра флагов в вершину стека: sp=(sp)-2; Запись...
Описание слайда:
рushf – загрузка содержимого регистра флагов в вершину стека: рushf – загрузка содержимого регистра флагов в вершину стека: sp=(sp)-2; Запись содержимого регистра флагов по адресу ss:sp. рopf – извлечение информации из вершины стека и загрузка в регистр флагов: извлечение операнда по адресу ss:sp; sp=(sp)+2; загрузка в регистр флагов.

Слайд 90


Лекции по программированию на ассемблере, слайд №90
Описание слайда:

Слайд 91


Система команд процессора (п.3-7). Прерывания. Классификация прерываний.
Описание слайда:
Система команд процессора (п.3-7). Прерывания. Классификация прерываний.

Слайд 92


Лекции по программированию на ассемблере, слайд №92
Описание слайда:

Слайд 93


Типы адресов: short, near, far Типы адресов: short, near, far Существует 4 способа передачи управления. Команды перехода Длина смещения безусловного...
Описание слайда:
Типы адресов: short, near, far Типы адресов: short, near, far Существует 4 способа передачи управления. Команды перехода Длина смещения безусловного перехода: jmp 2, 4 байта условного перехода: j xxx 1 байт перехода с вызовом процедур: call 2, 4 байта управления циклами: loop 1 байт Пример: jmp short label

Слайд 94


Если относительный адрес перехода превышает 128 б, то меняют команду (а) на две команды (в): Если относительный адрес перехода превышает 128 б, то...
Описание слайда:
Если относительный адрес перехода превышает 128 б, то меняют команду (а) на две команды (в): Если относительный адрес перехода превышает 128 б, то меняют команду (а) на две команды (в): а) в) cmp dl,’а’ cmp dl,’а’ jz zero jnz continue continue: jmp zero ………. Continue: zero: ……… ……….. Zero:

Слайд 95


Замену команд для условного перехода можно сделать с помощью директивы транслятора jumps. Замену команд для условного перехода можно сделать с...
Описание слайда:
Замену команд для условного перехода можно сделать с помощью директивы транслятора jumps. Замену команд для условного перехода можно сделать с помощью директивы транслятора jumps. Тогда транслятор автоматически заменит условный переход на пару переходов.

Слайд 96


Использует значение регистра CX, уменьшает его при каждом шаге на 1 и проверяет на 0. Использует значение регистра CX, уменьшает его при каждом шаге...
Описание слайда:
Использует значение регистра CX, уменьшает его при каждом шаге на 1 и проверяет на 0. Использует значение регистра CX, уменьшает его при каждом шаге на 1 и проверяет на 0. Если не равно 0, то переход по адресу операнда. mov cx,10 mov ax,0 abc: inc ax ……… loop abc ddd: ……..

Слайд 97


Перемещают, сравнивают, сканируют строки данных. Перемещают, сравнивают, сканируют строки данных. Работают с последовательностями элементов размером...
Описание слайда:
Перемещают, сравнивают, сканируют строки данных. Перемещают, сравнивают, сканируют строки данных. Работают с последовательностями элементов размером в байт, слово, двойное слово. Используются с префиксом повторения (rep). Например, команда movs: movsb movsw movsd

Слайд 98


Установить флаг df командами cld (по возрастанию) или std (по убыванию); Установить флаг df командами cld (по возрастанию) или std (по убыванию);...
Описание слайда:
Установить флаг df командами cld (по возрастанию) или std (по убыванию); Установить флаг df командами cld (по возрастанию) или std (по убыванию); Загрузить адреса цепочек в ds:si и es:di; Загрузить в cx количество элементов для обработки; Выполнить команду (например, movsw) с префиксом rep: rep movsw

Слайд 99


Для обработки специфический ситуаций существует 3 команды: Для обработки специфический ситуаций существует 3 команды: int, iret, intо
Описание слайда:
Для обработки специфический ситуаций существует 3 команды: Для обработки специфический ситуаций существует 3 команды: int, iret, intо

Слайд 100


Назначение: установка и сброс флагов, изменение режима функционирования процессора. Назначение: установка и сброс флагов, изменение режима...
Описание слайда:
Назначение: установка и сброс флагов, изменение режима функционирования процессора. Назначение: установка и сброс флагов, изменение режима функционирования процессора. Например, cld – сбросить флаг направления (флаг=0), std – установить флаг направления (флаг=1).

Слайд 101


Прерывание – это сигнал, заставляющий микропроцессор менять обычный порядок исполнения команд. Прерывание – это сигнал, заставляющий микропроцессор...
Описание слайда:
Прерывание – это сигнал, заставляющий микропроцессор менять обычный порядок исполнения команд. Прерывание – это сигнал, заставляющий микропроцессор менять обычный порядок исполнения команд. Прерывание называется ситуация, приводящая к временному или окончательному прекращению выполнения команд одной программы и переходу к другой программе.

Слайд 102


Механизм прерываний обеспечивает эффективное взаимодействие устройств ввода-вывода с микропроцессором. Механизм прерываний обеспечивает эффективное...
Описание слайда:
Механизм прерываний обеспечивает эффективное взаимодействие устройств ввода-вывода с микропроцессором. Механизм прерываний обеспечивает эффективное взаимодействие устройств ввода-вывода с микропроцессором. Обработка прерываний – это прерогатива программирования на ассемблере. Микропроцессор может распознать 256 типов прерываний. Для каждого типа разработана своя программа обработки, называемая обработчиком прерываний.

Слайд 103


Адрес программы обработки прерывания конкретного типа называется вектором прерываний. Размер – 4 байта: сегмент:смещение Адрес программы обработки...
Описание слайда:
Адрес программы обработки прерывания конкретного типа называется вектором прерываний. Размер – 4 байта: сегмент:смещение Адрес программы обработки прерывания конкретного типа называется вектором прерываний. Размер – 4 байта: сегмент:смещение Все векторы собраны в таблицу векторов прерываний. Размер таблицы 4*256=1024 байта. Расположена в младших адресах памяти.

Слайд 104


2 команды вызова пррываний: 2 команды вызова пррываний: int тип_прерывания into (прерывание по переполнению). 1 команда возврата - iret
Описание слайда:
2 команды вызова пррываний: 2 команды вызова пррываний: int тип_прерывания into (прерывание по переполнению). 1 команда возврата - iret

Слайд 105


Схема обработки прерываний. Функции int 21h для работы с файлами. Примеры использования команды int 21h для работы с файлами.
Описание слайда:
Схема обработки прерываний. Функции int 21h для работы с файлами. Примеры использования команды int 21h для работы с файлами.

Слайд 106


Лекции по программированию на ассемблере, слайд №106
Описание слайда:

Слайд 107


По месту возникновения: По месту возникновения: внешние (аппаратные), внутренние (программные). По типу системных ресурсов: BIOS, DOS.
Описание слайда:
По месту возникновения: По месту возникновения: внешние (аппаратные), внутренние (программные). По типу системных ресурсов: BIOS, DOS.

Слайд 108


Векторы прерываний микропроцессора (деление на 0, переполнение); Векторы прерываний микропроцессора (деление на 0, переполнение); Векторы прерываний...
Описание слайда:
Векторы прерываний микропроцессора (деление на 0, переполнение); Векторы прерываний микропроцессора (деление на 0, переполнение); Векторы прерываний микроконтроллера ( системный таймер, клавиатура, гибкий диск); Входные точки процедур системы BIOS (обмен данными с клавиатурой, дисплеем, …); Вызов процедур пользователя; Указатели системных таблиц (параметры гибкого и жесткого дисков).

Слайд 109


20h – завершение программ; 20h – завершение программ; 21h- вызов функций DOS; 23h- обработка клавиш Ctrl+ Break; 25h- абсолютное чтение с диска; 26h-...
Описание слайда:
20h – завершение программ; 20h – завершение программ; 21h- вызов функций DOS; 23h- обработка клавиш Ctrl+ Break; 25h- абсолютное чтение с диска; 26h- абсолютная запись на диск.

Слайд 110


Номер функции задают в регистре ah, дополнительную информацию через другие регистры, например, ds:dx. Номер функции задают в регистре ah,...
Описание слайда:
Номер функции задают в регистре ah, дополнительную информацию через другие регистры, например, ds:dx. Номер функции задают в регистре ah, дополнительную информацию через другие регистры, например, ds:dx. Выходная информация выдается через регистр al или другие регистры.

Слайд 111


Лекции по программированию на ассемблере, слайд №111
Описание слайда:

Слайд 112


3ch - Создание файла; 3ch - Создание файла; 6ch - Создание и открытие существующего; 3dh - открытие; 3eh - закрытие; 3fh – чтение файла; 40h - запись...
Описание слайда:
3ch - Создание файла; 3ch - Создание файла; 6ch - Создание и открытие существующего; 3dh - открытие; 3eh - закрытие; 3fh – чтение файла; 40h - запись в файл; 42h – позиционирование указателя записи.

Слайд 113


Входные данные: Входные данные: ah – 3ch, ds:dx - адрес ASCIIZ-строки с именем файла, cx - атрибут файла: 0 – обычный. Выходные данные: если cf=0, то...
Описание слайда:
Входные данные: Входные данные: ah – 3ch, ds:dx - адрес ASCIIZ-строки с именем файла, cx - атрибут файла: 0 – обычный. Выходные данные: если cf=0, то в ax - логический номер файла (дескриптор файла), если cf=1, то в ax - код ошибки: 3 – нет указанного пути, 4 – нет свободного дескриптора, 5 – отказано в доступе.

Слайд 114


Функция 3сh на выходе передает код ошибки при cf=1. Функция 3сh на выходе передает код ошибки при cf=1. Для обработки этой ситуации используются...
Описание слайда:
Функция 3сh на выходе передает код ошибки при cf=1. Функция 3сh на выходе передает код ошибки при cf=1. Для обработки этой ситуации используются команды: jc – переход при cf=1; jnc - переход при cf=0.

Слайд 115


Задается в регистре побитно: Задается в регистре побитно: 0 бит = 1 –только для чтения, 0 бит = 0 – обычный; 1 бит = 1 – скрытый файл; 2 бит = 1 –...
Описание слайда:
Задается в регистре побитно: Задается в регистре побитно: 0 бит = 1 –только для чтения, 0 бит = 0 – обычный; 1 бит = 1 – скрытый файл; 2 бит = 1 – системный файл; и т.д.

Слайд 116


Примеры работы с прерываниями. Структура программного сегмента. Префикс программного сегмента ( PSP). Буфер обмена DTA.
Описание слайда:
Примеры работы с прерываниями. Структура программного сегмента. Префикс программного сегмента ( PSP). Буфер обмена DTA.

Слайд 117


.data .data handle dw 0 filename db ‘myfile.txt’,0 point_fname dd filename .code ……….. xor cx,cx ; обнуляем сх lds dx,point_fname ; формируем...
Описание слайда:
.data .data handle dw 0 filename db ‘myfile.txt’,0 point_fname dd filename .code ……….. xor cx,cx ; обнуляем сх lds dx,point_fname ; формируем указатель на файл mov ah,3ch int 21h jc exit ; переход по ошибке mov handle,ax ……………. exit:

Слайд 118


Входные данные: Входные данные: ds:dx - адрес ASCIIZ-строки с именем файла, al =0 для чтения, al =1 для записи, al=2 для чтения и записи. Выходные...
Описание слайда:
Входные данные: Входные данные: ds:dx - адрес ASCIIZ-строки с именем файла, al =0 для чтения, al =1 для записи, al=2 для чтения и записи. Выходные данные: ax - логический номер файла.

Слайд 119


Входные данные: Входные данные: cx - атрибут файла, 0- для обычного файла, bx – режим доступа, 2 – чтение-запись; dx – 1 - для существующего файла...
Описание слайда:
Входные данные: Входные данные: cx - атрибут файла, 0- для обычного файла, bx – режим доступа, 2 – чтение-запись; dx – 1 - для существующего файла открыть доступ, 10h – создать и открыть; ds:si - адрес ASCIIZ-строки с именем файла. Выходные данные: ax - логический номер файла.

Слайд 120


Входные данные: Входные данные: AH -3Еh, BX - логический номер файла.
Описание слайда:
Входные данные: Входные данные: AH -3Еh, BX - логический номер файла.

Слайд 121


Входные данные: Входные данные: ah=3Fh - для чтения, 40h - для записи в файл, bx - логический номер файла, cx - число считываемых байтов, ds:dx -...
Описание слайда:
Входные данные: Входные данные: ah=3Fh - для чтения, 40h - для записи в файл, bx - логический номер файла, cx - число считываемых байтов, ds:dx - адрес буфера ввода-вывода. Выходные данные: ax - число фактически считанных (или записанных) байтов.

Слайд 122


.data .data handle dw 0 filename db ‘myfile.txt’, 0 point_fname dd filename .code ……….. xor cx,cx ; атрибут файла mov bx,2 ; режим доступа: чт-запись...
Описание слайда:
.data .data handle dw 0 filename db ‘myfile.txt’, 0 point_fname dd filename .code ……….. xor cx,cx ; атрибут файла mov bx,2 ; режим доступа: чт-запись mov dx,1 ;если сущ-ет, то открыть lds si,point_fname ; формируем указатель на файл mov ah, 6ch int 21h jnc ABC ; переход, если существует

Слайд 123


mov dx,10h ; создать и открыть mov ah,6ch int 21h jc exit ; переход по ошибке ABC: mov handle, ax ……………. exit: ; обработка ошибки
Описание слайда:
mov dx,10h ; создать и открыть mov ah,6ch int 21h jc exit ; переход по ошибке ABC: mov handle, ax ……………. exit: ; обработка ошибки

Слайд 124


.data .data filename db ‘вывод строки’,13,10,$ ……….. .code mov ax,@data mov ds,ax mov dx, offset filename mov ah, 9h int 21h
Описание слайда:
.data .data filename db ‘вывод строки’,13,10,$ ……….. .code mov ax,@data mov ds,ax mov dx, offset filename mov ah, 9h int 21h

Слайд 125


Функция 2ah засылается в ah. Функция 2ah засылается в ah. Выходные данные: cx – год в формате типа 2013, dh – месяц, dl – день.
Описание слайда:
Функция 2ah засылается в ah. Функция 2ah засылается в ah. Выходные данные: cx – год в формате типа 2013, dh – месяц, dl – день.

Слайд 126


Область памяти, начинающаяся с минимального адреса загрузки программы пользователя, называется программным сегментом. Область памяти, начинающаяся с...
Описание слайда:
Область памяти, начинающаяся с минимального адреса загрузки программы пользователя, называется программным сегментом. Область памяти, начинающаяся с минимального адреса загрузки программы пользователя, называется программным сегментом. Этот адрес определяется при вызове программы, т.е. при выполнении операции OS - EXEC. Программный сегмент состоит из: префикса программного сегмента (PSP),расположенного по смещению 0000; тела загрузочного модуля (по смещению 0100h).

Слайд 127


Лекции по программированию на ассемблере, слайд №127
Описание слайда:

Слайд 128


Прерывания : Прерывания : 22h – завершение процесса; 23h – нажатие клавиш Ctrl+Break; 24h – фатальная ошибка. Область сохранения вектора имеет вид: 2...
Описание слайда:
Прерывания : Прерывания : 22h – завершение процесса; 23h – нажатие клавиш Ctrl+Break; 24h – фатальная ошибка. Область сохранения вектора имеет вид: 2 байта – смещение, 2 байта –сегмент. Адрес среды - занимает 2 байта , задается сегментным адресом. Вызов диспетчера функций DOS (5 байт): call – 1 б, адрес обработчика - 4 б ( смещение, сегмент). Номер функции выбирается из регистра ah.

Слайд 129


Буфер обмена DTA. Системное окружение. Структура dos и карта памяти.
Описание слайда:
Буфер обмена DTA. Системное окружение. Структура dos и карта памяти.

Слайд 130


DTA (Disk Transfer Area) –рабочий буфер обмена с диском. DTA (Disk Transfer Area) –рабочий буфер обмена с диском. Содержит символы командной строки...
Описание слайда:
DTA (Disk Transfer Area) –рабочий буфер обмена с диском. DTA (Disk Transfer Area) –рабочий буфер обмена с диском. Содержит символы командной строки после имени программы, включая все пробелы, разделители и код 0dh. Пример вызова программы в командной строке: abc.exe bbbbb 5 Содержимое dta: 20424242424220350d При нажатии клавиши Enter в DTA записывается код 0dh. Максимальная длина командной строки 140 байт.

Слайд 131


Передаваемая среда является копией родительского процесса. Передаваемая среда является копией родительского процесса. Представляет собой...
Описание слайда:
Передаваемая среда является копией родительского процесса. Передаваемая среда является копией родительского процесса. Представляет собой последовательность строк ASCIIZ в виде: параметр=значение0 Общая длина строк – до 32 кб, по умолчанию -512 б.

Слайд 132


Строки среды I Строки среды I ------------------------------------ Имя_1=значение_1 I Имя_2=значение_2 I ……………………….. I Имя_n=значение_n I I I...
Описание слайда:
Строки среды I Строки среды I ------------------------------------ Имя_1=значение_1 I Имя_2=значение_2 I ……………………….. I Имя_n=значение_n I I I _имя_программы I I

Слайд 133


2ch – адрес среды; 2ch – адрес среды; 80h – длина рабочего буфера; 81h – начальное смещения для содержимого командной строки.
Описание слайда:
2ch – адрес среды; 2ch – адрес среды; 80h – длина рабочего буфера; 81h – начальное смещения для содержимого командной строки.

Слайд 134


int 20h; int 20h; переход по адресу 0000 в программном сегменте; int 21h с ah=4ch; Косвенный переход по адресу 0050 в PSP.
Описание слайда:
int 20h; int 20h; переход по адресу 0000 в программном сегменте; int 21h с ah=4ch; Косвенный переход по адресу 0050 в PSP.

Слайд 135


DS, ES указывают на начало PSP; DS, ES указывают на начало PSP; IP, SP получают значения, указанные при редактировании программы в заголовке...
Описание слайда:
DS, ES указывают на начало PSP; DS, ES указывают на начало PSP; IP, SP получают значения, указанные при редактировании программы в заголовке загрузочного модуля; CS, SS, получают значения из заголовка загрузочного модуля, модифицированные на адрес начала программного сегмента.

Слайд 136


DS, ES, CS, SS указывают на начало PSP; DS, ES, CS, SS указывают на начало PSP; IP равен 0100h; SP указывает на конец программного сегмента, длина...
Описание слайда:
DS, ES, CS, SS указывают на начало PSP; DS, ES, CS, SS указывают на начало PSP; IP равен 0100h; SP указывает на конец программного сегмента, длина сегмента в ячейке 6 PSP уменьшается, чтобы освободить пространство для стека; в вершину стека записывается нулевое слово.

Слайд 137


Блок начальной загрузки (boot record); Блок начальной загрузки (boot record); Интерфейс с BIOS; Встроенные команды dos; Командный процессор...
Описание слайда:
Блок начальной загрузки (boot record); Блок начальной загрузки (boot record); Интерфейс с BIOS; Встроенные команды dos; Командный процессор (command.com).

Слайд 138


Блок начальной загрузки занимает 1 сектор. Блок начальной загрузки занимает 1 сектор. Размещается: на дискете - на нулевом треке; на диске – в первом...
Описание слайда:
Блок начальной загрузки занимает 1 сектор. Блок начальной загрузки занимает 1 сектор. Размещается: на дискете - на нулевом треке; на диске – в первом секторе раздела dos.

Слайд 139


Содержит команды взаимодействия с bios. Обеспечивает интерфейс низкого уровня с подпрограммами работы с устройствами через bios. Содержит команды...
Описание слайда:
Содержит команды взаимодействия с bios. Обеспечивает интерфейс низкого уровня с подпрограммами работы с устройствами через bios. Содержит команды взаимодействия с bios. Обеспечивает интерфейс низкого уровня с подпрограммами работы с устройствами через bios.

Слайд 140


Команды dos обеспечивают пользовательским программам интерфейс высокого уровня. Включают операции : Команды dos обеспечивают пользовательским...
Описание слайда:
Команды dos обеспечивают пользовательским программам интерфейс высокого уровня. Включают операции : Команды dos обеспечивают пользовательским программам интерфейс высокого уровня. Включают операции : управления файлами; распределения оперативной памяти; блочного обмена с дисками; управления двигателем нгмд и др.

Слайд 141


Состоит из трех частей: Состоит из трех частей: резидентной; инициализации; нерезидентной. содержит подпрограммы обработки прерваний (22h, 23h, 24h )...
Описание слайда:
Состоит из трех частей: Состоит из трех частей: резидентной; инициализации; нерезидентной. содержит подпрограммы обработки прерваний (22h, 23h, 24h ) и подзагрузки нерезидентной части. включает обработку файла autoexec.bat и определяет начальный адрес загрузки программы пользователя.

Слайд 142


Состоит из: Состоит из: интерпретатора команд; системного загрузчика нерезидентных команд и программ. Загрузчик вызывается операцией OS exec -вызов и...
Описание слайда:
Состоит из: Состоит из: интерпретатора команд; системного загрузчика нерезидентных команд и программ. Загрузчик вызывается операцией OS exec -вызов и загрузка программ.

Слайд 143


0000:0000 таблица векторов прерываний; 0000:0000 таблица векторов прерываний; 0040:0000 глобальные переменные BIOS; 0050:0000 глобальные переменные...
Описание слайда:
0000:0000 таблица векторов прерываний; 0000:0000 таблица векторов прерываний; 0040:0000 глобальные переменные BIOS; 0050:0000 глобальные переменные DOS; хххх:0000 BIO.COM; хххх:0000 DOS.COM; хххх:0000 2 части command.com; хххх:0000 резидентные программы; хххх:0000 нерезидентные программы и команды; хххх:0000 нерезидентная часть command.com

Слайд 144


Операторы ассемблера; директивы данных; варианты вызова процедур. директивы управления листингом.
Описание слайда:
Операторы ассемблера; директивы данных; варианты вызова процедур. директивы управления листингом.

Слайд 145


[метка] мнемоника [операнды] [метка] мнемоника [операнды] (код операции) Оператор ассемблера может быть: машинной командой; псевдооператором или...
Описание слайда:
[метка] мнемоника [операнды] [метка] мнемоника [операнды] (код операции) Оператор ассемблера может быть: машинной командой; псевдооператором или директивой транслятора; макрокомандой; комментарием.

Слайд 146


[метка] мнемоника [операнды] [метка] мнемоника [операнды] (код операции) Псевдооператоры (директивы ассемблера) подразделяются на 2 класса: директивы...
Описание слайда:
[метка] мнемоника [операнды] [метка] мнемоника [операнды] (код операции) Псевдооператоры (директивы ассемблера) подразделяются на 2 класса: директивы данных; директивы управления листингом.

Слайд 147


1. Определение идентификаторов: имя equ выражение 1. Определение идентификаторов: имя equ выражение Пример: count equ cx N equ 1024 2. Определение...
Описание слайда:
1. Определение идентификаторов: имя equ выражение 1. Определение идентификаторов: имя equ выражение Пример: count equ cx N equ 1024 2. Определение данных: резервируют память - db (1 байт), dw (2 байта), dd (4 байта), df, dp (6 байтов), dq (8 байтов), dt (10 байтов)

Слайд 148


Директивы segment и ends – определяют в программе начало и конец сегмента. Директивы segment и ends – определяют в программе начало и конец сегмента....
Описание слайда:
Директивы segment и ends – определяют в программе начало и конец сегмента. Директивы segment и ends – определяют в программе начало и конец сегмента. Формат директив: имя segment [тип подгонки,] [тип связи,]‘класс’, длина адреса Например, АВС segment para public ‘code’,use16 ……… АВС ends

Слайд 149


Регистр адресации задается директивой assume. Регистр адресации задается директивой assume. Формат: assume сегментный_регистр:имя_сегмента [, ]...
Описание слайда:
Регистр адресации задается директивой assume. Регистр адресации задается директивой assume. Формат: assume сегментный_регистр:имя_сегмента [, ] Пример: mycode segment para public ‘code’ assume cs:mycode,ds:mydata begin: mov ax,seg mydata mov ds,ax ……………….. mycode ends

Слайд 150


Формат: имя proc [атрибут дальности] Формат: имя proc [атрибут дальности] ……….. ret имя endp Атрибут дальности: near или far Пример: .code startАВС...
Описание слайда:
Формат: имя proc [атрибут дальности] Формат: имя proc [атрибут дальности] ……….. ret имя endp Атрибут дальности: near или far Пример: .code startАВС proc near …………. ret startАВС endp Механизм вызова – сохранение контекста программы в стеке. Контекст программы – это информация о состоянии программы в точке вызова процедуры.

Слайд 151


Пусть АВС1 - имя процедуры типа near, Пусть АВС1 - имя процедуры типа near, АВС2 – имя процедуры типа far, adr1, adr1 – ссылки: adr1 dw offset ABC1...
Описание слайда:
Пусть АВС1 - имя процедуры типа near, Пусть АВС1 - имя процедуры типа near, АВС2 – имя процедуры типа far, adr1, adr1 – ссылки: adr1 dw offset ABC1 adr2 dw offset ABC2,seg ABC2 Варианты вызова процедур: Прямая адресация в сегменте (ближний вызов): call near ptr ABC1 Прямая адресация между сегментами (дальний вызов): call far ptr ABC2 Косвенная адресация в сегменте: call word ptr adr1 Косвенная адресация между сегментами: call dword ptr adr2

Слайд 152


public имя – делает указанное имя доступным для других программных модулей, которые впоследствии могут загружаться вместе с данным модулем. public...
Описание слайда:
public имя – делает указанное имя доступным для других программных модулей, которые впоследствии могут загружаться вместе с данным модулем. public имя – делает указанное имя доступным для других программных модулей, которые впоследствии могут загружаться вместе с данным модулем. extrn имя: тип - описывает идентификатор, определенный в другом модуле и описанный там в операторе public. Тип для данных: byte, word, dword Тип для процедур: near, far include имяфайла - вставка в текущий файл текста из файла

Слайд 153


1 модуль: 1 модуль: public ABC ABC dw 1234h 2 модуль: extrn ABC:word ……….. mov ax,ABC
Описание слайда:
1 модуль: 1 модуль: public ABC ABC dw 1234h 2 модуль: extrn ABC:word ……….. mov ax,ABC

Слайд 154


end имя_программы
Описание слайда:
end имя_программы

Слайд 155


page [число строк] [число столбцов] page [число строк] [число столбцов] 10-255, 57 60-132, 80 title текст1 subttl текст2
Описание слайда:
page [число строк] [число столбцов] page [число строк] [число столбцов] 10-255, 57 60-132, 80 title текст1 subttl текст2

Слайд 156


Возможности макросов. Основные понятия. Классификация директив макросов.
Описание слайда:
Возможности макросов. Основные понятия. Классификация директив макросов.

Слайд 157


Исходный Макроопределение Макрорасширение Исходный Макроопределение Макрорасширение модуль ABC test.asm в test.asm в test.asm
Описание слайда:
Исходный Макроопределение Макрорасширение Исходный Макроопределение Макрорасширение модуль ABC test.asm в test.asm в test.asm

Слайд 158


Исходный Макроопределение Макрорасширение модуль Select x test.asm в test.asm в test.asm
Описание слайда:
Исходный Макроопределение Макрорасширение модуль Select x test.asm в test.asm в test.asm

Слайд 159


Поименованный набор операторов ассемблера называется макрокомандой. Поименованный набор операторов ассемблера называется макрокомандой. Группа...
Описание слайда:
Поименованный набор операторов ассемблера называется макрокомандой. Поименованный набор операторов ассемблера называется макрокомандой. Группа команд, определяющая действие макрокоманды, называется макроопределением. Процесс включения в исходный текст программы команд из макроопределения называется макрорасширением или макрогенерацией.

Слайд 160


Определение макрокоманды. Определение макрокоманды. Вызов макрокоманды.
Описание слайда:
Определение макрокоманды. Определение макрокоманды. Вызов макрокоманды.

Слайд 161


Формат: Формат: имя MACRO список_формальных_параметров тело макроопределения ENDM Список_формальных_параметров состоит из элементов вида:...
Описание слайда:
Формат: Формат: имя MACRO список_формальных_параметров тело макроопределения ENDM Список_формальных_параметров состоит из элементов вида: имя_формального_аргумента [тип] где тип: :REQ – для параметров, задаваемых явно; = для стандартного значения параметра.

Слайд 162


1. ADD_Word MACRO OP1:REQ,OP2:REQ,SUM 2. ADD_Word MACRO OP1,OP2,SUM=dx
Описание слайда:
1. ADD_Word MACRO OP1:REQ,OP2:REQ,SUM 2. ADD_Word MACRO OP1,OP2,SUM=dx

Слайд 163


Вызов макрокоманды осуществляется по имени макроса с указанием списка фактических параметров. Вызов макрокоманды осуществляется по имени макроса с...
Описание слайда:
Вызов макрокоманды осуществляется по имени макроса с указанием списка фактических параметров. Вызов макрокоманды осуществляется по имени макроса с указанием списка фактических параметров. Процесс замены формального параметра соответствующим фактическим значением при макрорасширении называется подстановкой аргументов.

Слайд 164


Определение: Определение: ADD_Word MACRO OP1,OP2,SUM MOV AX,OP1 ADD AX,OP2 MOV SUM,AX ENDM Макрокоманда: ADD_Word BX,CX,DX Макрорасширение: MOV AX,BX...
Описание слайда:
Определение: Определение: ADD_Word MACRO OP1,OP2,SUM MOV AX,OP1 ADD AX,OP2 MOV SUM,AX ENDM Макрокоманда: ADD_Word BX,CX,DX Макрорасширение: MOV AX,BX ADD AX,CX MOV DX,AX

Слайд 165


Второй вариант макрокоманды: Второй вариант макрокоманды: ADD_Word price, tax, cost Макрорасширение: MOV ax, price ADD ax, tax MOV cost, ax
Описание слайда:
Второй вариант макрокоманды: Второй вариант макрокоманды: ADD_Word price, tax, cost Макрорасширение: MOV ax, price ADD ax, tax MOV cost, ax

Слайд 166


1) директивы общего назначения: 1) директивы общего назначения: MACRO, ENDM, LOCAL 2) директивы повторения: REPT, IRP, IRPC 3) условные: IF, IFDEF,...
Описание слайда:
1) директивы общего назначения: 1) директивы общего назначения: MACRO, ENDM, LOCAL 2) директивы повторения: REPT, IRP, IRPC 3) условные: IF, IFDEF, IFDIF, IFIDN, IFB, IFNB 4) выхода: EXITM 5) управления листингом: LALL, SALL, XALL

Слайд 167


аaa macro bbb аaa macro bbb local next push cx mov cx,bbb ………………….. ; группа команд next: loop next pop cx endm
Описание слайда:
аaa macro bbb аaa macro bbb local next push cx mov cx,bbb ………………….. ; группа команд next: loop next pop cx endm

Слайд 168


Макрокоманда: Макрокоманда: aaa 100 Макрорасширение: push cx mov cx,100 ………………….. ; группа команд ??0001: loop ??0001 pop cx
Описание слайда:
Макрокоманда: Макрокоманда: aaa 100 Макрорасширение: push cx mov cx,100 ………………….. ; группа команд ??0001: loop ??0001 pop cx

Слайд 169


Директивы повторения. Условные директивы. Макрооперации.
Описание слайда:
Директивы повторения. Условные директивы. Макрооперации.

Слайд 170


REPT выражение REPT выражение ……… ENDM Пример: зарезервировать L байтов и присвоить им знач-я от 1 до L. ALLOCATE MACRO TLABEL, L TLABEL EQU THIS...
Описание слайда:
REPT выражение REPT выражение ……… ENDM Пример: зарезервировать L байтов и присвоить им знач-я от 1 до L. ALLOCATE MACRO TLABEL, L TLABEL EQU THIS BYTE VALUE = 0 REPT L VALUE = VALUE+1 DB VALUE ENDM ENDM

Слайд 171


Вызов: Вызов: .data Allocate table,40 Макрорасширение в точке вызова: tablе EQU THIS BYTE VALUE = 0 VALUE = VALUE+1 DB 1 VALUE = VALUE+1 DB 2...
Описание слайда:
Вызов: Вызов: .data Allocate table,40 Макрорасширение в точке вызова: tablе EQU THIS BYTE VALUE = 0 VALUE = VALUE+1 DB 1 VALUE = VALUE+1 DB 2 …………………………………………… VALUE = VALUE+1 DB 40

Слайд 172


IRP параметр , IRP параметр , ……… ENDM Пример создания таблицы из четырех слов: .data IRP ABC , DW ABC *ABC ENDM
Описание слайда:
IRP параметр , IRP параметр , ……… ENDM Пример создания таблицы из четырех слов: .data IRP ABC , DW ABC *ABC ENDM

Слайд 173


.data .data DW 1 *1 DW 2 *2 DW 3 *3 DW 4 *4
Описание слайда:
.data .data DW 1 *1 DW 2 *2 DW 3 *3 DW 4 *4

Слайд 174


IRPC параметр, IRPC параметр, Пример: IRPC RG, PUSH RG&X ENDM Макрорасширение : PUSH AX PUSH BX PUSH CX PUSH DX
Описание слайда:
IRPC параметр, IRPC параметр, Пример: IRPC RG, PUSH RG&X ENDM Макрорасширение : PUSH AX PUSH BX PUSH CX PUSH DX

Слайд 175


IF задает начало условно ассемблируемого блока , если истинно или имеет ненулевое значение. IF задает начало условно ассемблируемого блока , если...
Описание слайда:
IF задает начало условно ассемблируемого блока , если истинно или имеет ненулевое значение. IF задает начало условно ассемблируемого блока , если истинно или имеет ненулевое значение. Формат: IF ……………. ENDIF В выражении можно использовать операции: EQ, NE, GT, GE, LT, LE

Слайд 176


1. Без расширения оператора условия 1. Без расширения оператора условия .data BufNum dw 5 DoBuf db 0 .code ……… if DoBuf mov ax, BufNum call ReadBuf...
Описание слайда:
1. Без расширения оператора условия 1. Без расширения оператора условия .data BufNum dw 5 DoBuf db 0 .code ……… if DoBuf mov ax, BufNum call ReadBuf endif ……..

Слайд 177


2. С расширением условного оператора 2. С расширением условного оператора BufNum dw 5 DoBuf db 1 .code ……… if DoBuf расширяется в: mov ax, BufNum mov...
Описание слайда:
2. С расширением условного оператора 2. С расширением условного оператора BufNum dw 5 DoBuf db 1 .code ……… if DoBuf расширяется в: mov ax, BufNum mov ax, 5 call ReadBuf call ReadBuf endif ……..

Слайд 178


Операторы альтернативной обработки пустых операторов: Операторы альтернативной обработки пустых операторов: IFB IFNB Параметр всегда задается в...
Описание слайда:
Операторы альтернативной обработки пустых операторов: Операторы альтернативной обработки пустых операторов: IFB IFNB Параметр всегда задается в угловых скобках и определяет имя формального аргумента макроса.

Слайд 179


Пример макроопределения: Пример макроопределения: PRINT_T MACRO MSG IFB MOV SI, DEFMSG ELSE MOV SI, MSG ENDIF CALL SHOW_T ENDM ……….. DEFMSG db ‘no’
Описание слайда:
Пример макроопределения: Пример макроопределения: PRINT_T MACRO MSG IFB MOV SI, DEFMSG ELSE MOV SI, MSG ENDIF CALL SHOW_T ENDM ……….. DEFMSG db ‘no’

Слайд 180


POPREGS MACRO REG1, REG2 POPREGS MACRO REG1, REG2 IFNB POP REG1 ENDIF IFNB POP REG2 ENDIF ENDM
Описание слайда:
POPREGS MACRO REG1, REG2 POPREGS MACRO REG1, REG2 IFNB POP REG1 ENDIF IFNB POP REG2 ENDIF ENDM

Слайд 181


IF1 IF1 IF2 Пример: IF1 INCLUDE TEXTMACRO.TXT Ассемблирование, если символическое имя определено: IFDEF символическое имя Пример: IFDEF SIZE BUF db...
Описание слайда:
IF1 IF1 IF2 Пример: IF1 INCLUDE TEXTMACRO.TXT Ассемблирование, если символическое имя определено: IFDEF символическое имя Пример: IFDEF SIZE BUF db SIZE DUP(?) endif

Слайд 182


Ассемблирование, если параметры различны: Ассемблирование, если параметры различны: IFDIF Ассемблирование, если параметры тождественны: IFIDN
Описание слайда:
Ассемблирование, если параметры различны: Ассемблирование, если параметры различны: IFDIF Ассемблирование, если параметры тождественны: IFIDN

Слайд 183


& - операция замещения & - операция замещения ;; - подавление комментария % - вычисление выражения ! - операция литерального ввода символа - операция...
Описание слайда:
& - операция замещения & - операция замещения ;; - подавление комментария % - вычисление выражения ! - операция литерального ввода символа - операция литерального ввода строки

Слайд 184


1. Операция замещения 1. Операция замещения Формат: & имя параметра Пример: makemsg MACRO str, n msg&n db ‘&str’ endm Вызов макроса: makemsg ,5...
Описание слайда:
1. Операция замещения 1. Операция замещения Формат: & имя параметра Пример: makemsg MACRO str, n msg&n db ‘&str’ endm Вызов макроса: makemsg ,5 Расширение: msg5 db ‘Введите значение:’

Слайд 185


3. Вычисление выражения 3. Вычисление выражения Формат: %выражение Пример: makemsg ,%3+5 4. Операция литерального ввода символа Формат: !символ...
Описание слайда:
3. Вычисление выражения 3. Вычисление выражения Формат: %выражение Пример: makemsg ,%3+5 4. Операция литерального ввода символа Формат: !символ Пример: makemsg 100>,3 5. Операция литерального ввода строки Формат:

Слайд 186


Директивы управления листингом. Упрощенные директивы TASM. Модели памяти. Этапы разработки программы. Отладчик Turbo Debugger (td).
Описание слайда:
Директивы управления листингом. Упрощенные директивы TASM. Модели памяти. Этапы разработки программы. Отладчик Turbo Debugger (td).

Слайд 187


lall; lall; xall; sall.
Описание слайда:
lall; lall; xall; sall.

Слайд 188


model [модификатор] модель памяти [имя кодового сегмента] model [модификатор] модель памяти [имя кодового сегмента] Модификатор: use16, use32, dos...
Описание слайда:
model [модификатор] модель памяти [имя кодового сегмента] model [модификатор] модель памяти [имя кодового сегмента] Модификатор: use16, use32, dos Tasm создает идентификаторы: @code, @data, @stack, …. Упрощенные директивы определяют сегменты: .code - кода .stack - стека .data - инициированных данных типа near .fardata - инициированных данных типа far .const – постоянных данных .data? - неинициированных данных типа near

Слайд 189


tiny tiny small medium compact large huge
Описание слайда:
tiny tiny small medium compact large huge

Слайд 190


Лекции по программированию на ассемблере, слайд №190
Описание слайда:

Слайд 191


tasm имя_исх._модуля [, имя_объектного_модуля] tasm имя_исх._модуля [, имя_объектного_модуля] [, имя_lst] [, имя_crf] [опции] tasm имя , , , tasm имя...
Описание слайда:
tasm имя_исх._модуля [, имя_объектного_модуля] tasm имя_исх._модуля [, имя_объектного_модуля] [, имя_lst] [, имя_crf] [опции] tasm имя , , , tasm имя /l /c tlink список объектных модулей [, имя_exe_файла] [, имя_ map_файла] [, список lib_файлов] [опции] debug или td Для td: tasm /zi имя_исходного модуля tlink /v имя_объектного модуля

Слайд 192


Назначение и требования к программе; Назначение и требования к программе; представление исходных данных и результатов; структура входных и выходных...
Описание слайда:
Назначение и требования к программе; Назначение и требования к программе; представление исходных данных и результатов; структура входных и выходных данных; ограничения и допущения на исходные и выходные данные.

Слайд 193


формулировка ассемблерной модели задачи; выбор метода реализации; разработка алгоритма реализации; разработка структуры программы в соответствии с...
Описание слайда:
формулировка ассемблерной модели задачи; выбор метода реализации; разработка алгоритма реализации; разработка структуры программы в соответствии с моделью памяти.

Слайд 194


уточнение структуры данных и определение ассемблерного представления формата; программирование; комментирование текста программы и составление...
Описание слайда:
уточнение структуры данных и определение ассемблерного представления формата; программирование; комментирование текста программы и составление предварительного описания программы.

Слайд 195


составление тестов для проверки правильности работы программы; обнаружение, локализация и устранение ошибок в программе, выявленных в тестах;...
Описание слайда:
составление тестов для проверки правильности работы программы; обнаружение, локализация и устранение ошибок в программе, выявленных в тестах; корректировка кода программы и описания.

Слайд 196


настройка программы на конкретные условия использования; обучение пользователей работе с программой; сбор сведений о сбоях в работе программы;...
Описание слайда:
настройка программы на конкретные условия использования; обучение пользователей работе с программой; сбор сведений о сбоях в работе программы; модификация программы.

Слайд 197


Для работы в Turbo Debugger (td) необходимо создать загрузочный модуль: Для работы в Turbo Debugger (td) необходимо создать загрузочный модуль: tasm...
Описание слайда:
Для работы в Turbo Debugger (td) необходимо создать загрузочный модуль: Для работы в Turbo Debugger (td) необходимо создать загрузочный модуль: tasm /zi имя tlink /v имя Управление работой в отладчике ведется посредством меню двух типов: глобальное (вызов по F10); локальное (вызов по Alt-F10 или правой кнопкой мыши).

Слайд 198


Используется один из четырех режимов: Используется один из четырех режимов: безусловное выполнение (F9); по шагам: а) F7: Run|Trace into - c...
Описание слайда:
Используется один из четырех режимов: Используется один из четырех режимов: безусловное выполнение (F9); по шагам: а) F7: Run|Trace into - c пошаговым выполнением процерур и прерываний; б) F8: Run|Trace over - процеруры и прерывания выполняются как одна команда; до текущего положения курсора (F4); с установкой точек прерывания (breakpoints).

Слайд 199


Сначала устанавливаются точки прерывания курсором и F2, Сначала устанавливаются точки прерывания курсором и F2, затем – F9. Прервать выполнение...
Описание слайда:
Сначала устанавливаются точки прерывания курсором и F2, Сначала устанавливаются точки прерывания курсором и F2, затем – F9. Прервать выполнение программы – Ctrl+F2

Слайд 200


Лекции по программированию на ассемблере, слайд №200
Описание слайда:

Слайд 201


Лекции по программированию на ассемблере, слайд №201
Описание слайда:

Слайд 202


Лекции по программированию на ассемблере, слайд №202
Описание слайда:

Слайд 203


Подсистема ввода/вывода
Описание слайда:
Подсистема ввода/вывода



Похожие презентации
Mypresentation.ru
Загрузить презентацию