Вопросы по курсу Языки программирования (ассемблер)



Дата30.06.2016
өлшемі31 Kb.
#167010
Вопросы по курсу Языки программирования (ассемблер).


  1. 16-разрядные регистры общего назначения (POH) процессора (АХ, ВХ, СХ, DX, SI, DI, SP, ВР). Назначение и использование. Специальное назначение регистров.

  2. Регистр флагов. Основные флаги (CF, OF, AF, SF, ZF, IF, DF). Какие группы команд их устанавливают. Использование флагов. Команды ассемблера PUSHF и POPF.

  3. Понятие сегментной адресации. Определение сегмента в ассемблере (директивы SEGMENT и ENDS). Сегментные регистры (CS, DS, SS, ES, FS, GS). Их назначение. Директива ASSUME. Директива GROUP.

  4. Способы задания операндов в командах (виды адресации).

  5. Понятие программного счетчика. Директивы работы с программным счетчиком (ORG, ALIGN EVEN). Регистры CS и IP.

  6. Директивы упрощенной сегментации. Директива определения модели. Связь директив упрощенной сегментации с определением сегментов.

  7. Директивы определения данных. Инициализация данных различных типов. Хранение строк и отрицательных чисел.

  8. Понятие строк с терминатором (ASCIIZ-строки) и строки со счетчиком. Необходимость подобного представления строк. Достоинства и недостатки каждого метода.

  9. Структуры, объединения, записи и перечисления. Директивы их описания в языке ассемблер. Работа с ними.

  10. Операторы ассемблера. Операторы присваивания, арифметические, логические, сдвигов, сравнения. Отличия операторов от команд ассемблера.

  11. Команды перемещения данных (MOV, XCHG, LEA, LDS, LSS, LES, LFS, LGS, XLATB, PUSH, POP, IN, OUT, CBW, CWD). Назначение, ограничения.

  12. Арифметические команды (ADD, ADC, SUB, SBB, CMP, MUL, IMUL, DIV, IDIV, NEG). Назначение, устанавливаемые флаги.

  13. Логические команды (AND, OR, XOR, NOT, TEST). Назначение, устанавливаемые флаги.

  14. Команды сдвигов (SHL, SHR, SAL, SAR, RCL, RCR, ROL, ROR). Назначение, устанавливаемые флаги.

  15. Команды работы с двоично-десятичными числами (ААА, DAA, AAS, DAS, AAD, ААМ). Назначение, принцип их работы.

  16. Команды переходов. Условный (Jcc) и безусловный (JMP) переход. Ограничения на дальность перехода. Короткий, близкий и дальний переход. Косвенный переход. Директива LOCALS для локализации меток.

  17. Команда организации циклов (LOOP). Алгоритм работы. Команды организации циклов с условием (LOOPE/LOOPZ и LOOPNE/LOOPNZ). Команда JCXZ.

  18. Команды вызова (CALL) процедур и возврата (RET) из них. Алгоритм их работы. Определение процедур в ассемблере (директивы PROC и ENDP). Директивы LOCAL, ARG и USES.

  19. Способы передачи параметров процедурам. Задание способа передачи параметров через стек. Стандартный пролог и эпилог процедур при передаче параметров через стек. Упрощенный вызов процедур при передаче параметров через стек.

  20. Понятие прерывания. Аппаратные и программные прерывания. Таблица векторов прерываний. Команды вызова (INT) прерываний и возврата (RET) из них.

  21. Строковые команды (MOVS, LODS, STOS, CMPS, SCAS, INS, OUTS). Назначение. Префиксы повторения строковых команд (REP, REPE/REPZ, REPNE/REPNZ).

  22. Команды работы с флагами. Команды NOP и HALT.

  23. Понятие макроопределения. Директивы определения макросов (MACRO и ENDM). Условные директивы и их использование в макросах. Директива LOCAL и ее использование в макросах.

  24. Макросы повторения (REPT, IRP, IRPC) Директивы работы с текстовыми макросами.

  25. Многомодульная разработка программ. Директивы описания внешних процедур и данных. Директивы включения заголовочных и библиотечных файлов. Процесс компиляции и компоновки многомодульных программ.

  26. 32-разрядные регистры процессора. Виды адресации в современных процессорах.


Достарыңызбен бөлісу:




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет