Содержание
- 2. Трансляторы языка Ассемблер Основные представители: TASM – Turbo Assembler MASM – Macro Assembler FASM – Flat
- 3. Процесс разработки программ на Ассемблере 1. Ввод исходного текста программы 2. Создание объектного модуля 3. Создание
- 4. Язык Ассемблер Язык Ассемблер является символическим аналогом машинного языка. Программа, написанная на Ассемблере, должна отражать все
- 5. Язык Ассемблер Предложения языка Ассемблер бывают четырех типов: Команды (или инструкции) – символические аналоги машинных команд.
- 6. Формат предложения
- 7. Формат директив
- 8. Формат команд и макрокоманд Имя метки – идентификатор, значением которого является адрес первого байта того предложения
- 9. Синтаксис языка Ассемблер Допустимыми символами при написании текста программ являются: все латинские буквы; цифры; знаки: ?,
- 10. Синтаксис языка Ассемблер Предложения Ассемблера формируются из лексем, представляющих собой синтаксически неразделимые последовательности допустимых символов языка,
- 11. Виды операндов Постоянные (непосредственные) операнды Адресные операнды. Перемещаемые операнды. Счетчик адреса. Регистровый операнд. Базовый и индексный
- 12. Постоянные (непосредственные) операнды Постоянным (непосредственным) операнд – число, строка, имя или выражение имеющее некоторое фиксированное значение.
- 13. Адресные операнды mov ax, ds:0000h
- 14. Перемещаемые операнды Перемещаемые операнды – любые символьные имена, представляющие некоторые адреса в памяти. Эти адреса могут
- 15. Счетчик адреса Счетчик адреса – специфический вид операнда, обозначаемый знаком $. Когда транслятор встречает в исходной
- 16. Остальные операнды Регистровый операнд – это просто имя регистра. Базовый и индексный операнды – используются при
- 17. Операторы языка Ассемблер Делятся на следующие виды: Арифметические операторы, Операторы сдвига, Операторы сравнения, Логические операторы, Индексный
- 18. Операторы языка Ассемблер Арифметические операторы Операторы сдвига
- 19. Операторы языка Ассемблер Операторы сравнения
- 20. Операторы языка Ассемблер Логические операторы Индексный оператор
- 21. Операторы языка Ассемблер Оператор переопределения типа ptr val dd 0 … mov al, byte ptr val+1
- 22. Операторы языка Ассемблер Оператор переопределения сегмента: .code jmp metka val dw 100 metka: … mov al,
- 23. Операторы языка Ассемблер Оператор получения сегментной составляющей адреса seg Оператор получения смещения выражения offset .data value
- 24. Описание сегментов Имя сегмента SEGMENT Тип выравнивания Тип комбинирования Класс сегмента Тип размера сегмента Имя сегмента
- 25. Описание сегментов Выравнивание сегмента: BYTE – выравнивание не выполняется WORD – сегмент начинается по адресу, кратному
- 26. Описание сегментов Атрибут комбинирования сегментов: PRIVATE – сегмент не будет объединятся с другими сегментами с тем
- 27. Описание сегментов Атрибут размера сегмента: USE16 – это означает, что сегмент допускает 16-разрядную адресацию. USE32 –
- 28. Директива MODEL Директива MODEL предназначена для управления моделью памяти программы. Эта директива позволяет использовать упрощенные директивы
- 29. Упрощенные директивы определения сегмента
- 30. Идентификаторы, создаваемые директивой MODEL
- 31. Модели памяти
- 32. Простые типы данных
- 33. Простые типы данных Обозначения: ? – показывает, что значение не определено; Значение инициализации – значение элемента
- 34. Простые типы данных Примеры: Mess db ‘Hello world!’, 0 Value dw 1400 Array dd 20 dup(?)
- 35. Пример COM программы для MS-DOS .386 model tiny ;Указание модели памяти Code segment use16 ;Начало описания
- 36. Пример EXE программы для MS-DOS .386 model small ;Указание модели памяти Stack SEGMENT STACK use16 ;Объявление
- 38. Скачать презентацию