Содержание
- 2. Директивы сегментации Процессор может одновременно работать: с одним сегментом кода; с одним сегментом стека; с одним
- 3. Директивы сегментации
- 4. Директивы сегментации Атрибут выравнивания сегмента (тип выравнивания) сообщает компоновщику о том, что нужно обеспечить размещение начала
- 5. Директивы сегментации Атрибут комбинирования сегментов (комбинаторный тип) сообщает компоновщику, как нужно комбинировать сегменты различных модулей, имеющие
- 6. Директивы сегментации Атрибут класса сегмента (тип класса) — это заключенная в кавычки строка, помогающая компоновщику определить
- 7. Директивы сегментации
- 8. Директивы сегментации Все сегменты сами по себе равноправны, так как директивы SEGMENT и ENDS не содержат
- 9. Директивы сегментации
- 10. Директивы сегментации
- 11. Директивы сегментации
- 12. Директивы сегментации
- 13. Директива Model Язык — необязательный операнд, принимающий значения C, PASCAL, BASIC, FORTRAN, SYSCALL и STDCALL. Если
- 14. Директивы сегментации
- 15. Директивы сегментации Сегменты, объявленные упрощенными директивами, не требуется закрывать директивой ENDS — они закрываются автоматически, как
- 16. Директива END Директива ENDS завершает сегмент, а директива ENDP завершает процедуру. Директива END отмечает конец исходной
- 17. Директивы определения идентификаторов Псевдооператоры (EQU и =) присваивают выражению символическое имя (идентификатор). Выражение может быть 16-битовой
- 18. Выражения Выражение — это набор чисел, меток или строк, связанных друг с другом операторами. Результатом вычисления
- 19. Операторы Ассемблера
- 20. Арифметические операторы X DW 1,2,3,4,5 Y DB ? SIZE_X EQU Y-X ;SIZE_X = 10
- 21. Операторы сдвига МАS EQU 10111011 MOV AL,MAS SHR 3 ;AL = 00010111
- 22. Операторы сравнения tab_size equ 30 ; размер таблицы mov al,tab_size ge 50 ; загрузка размера таблицы
- 23. Логические операторы flags equ 10010011b mov al,flags xor 01h ; al = 10010010 ;пересылка в al
- 24. Индексный оператор Если выражение expression1 задано, оно может быть целым значением, перемещаемым операндом или абсолютным символом.
- 25. Оператор переопределения типа Тип может принимать одно из следующих значений: BYTE, WORD, DWORD, QWORD, TBYTE, NEAR,
- 26. Оператор переопределения сегмента .code jmp metl ; обход обязателен, иначе поле ind ; будет трактоваться как
- 27. Операторы получения составляющих адреса SEG expression Выдает значение сегмента, в котором расположено expression. Выражение может быть
- 28. Операторы получения байтов выражения HIGH expression . Этот оператор возвращает старшие 8 бит выражения expression. mov
- 29. Операторы получения размера переменной LENGTH переменная . Возвращает число единиц типа BYTE, WORD, DWORD, QWORD или
- 30. Процедуры Процедура (подпрограмма) — основная функциональная единица декомпозиции задачи. Варианты размещения в программе: в начале программы
- 31. Процедуры
- 32. Процедуры model small .stack 100h .data .code my_proc proc near ret my_proc endp start: end start
- 33. Процедуры model small .stack 100h .data .code start: mov ax,4c00h int 21h ;возврат управления операционной ;системе
- 34. Процедуры model small .stack 100h .data .code start: jmp ml my_proc proc near ret my_proc endp
- 35. Процедуры. Команды работы с контекстом Контекст - информация о состоянии программы в точке вызова процедуры. call
- 36. Процедуры. Внутрисегментный вызов
- 37. Процедуры. Межсегментный вызов
- 39. Скачать презентацию