Файл: 1 Министерство образования Российской Федерации новосибирский государственный технический университет.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 20.03.2024

Просмотров: 20

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

76 19. Опишите основы взаимодействия языков С++ и ассемблера, передачу управления в подпрограмму и обратно.
20. Как организовать переду данных из программы на языке С++ в подпрограмму на языке ассемблера через глобальные переменные?
21. Как организовать переду данных из программы на языке С++ в подпрограмму на языке ассемблера через аргументы функции?
22. Как возвратить данные из подпрограммы на языке ассемблера в программу на языке С++?
1   2   3   4   5   6   7   8

23. Как вызвать подпрограмму на языке С++ из программы на языке ассемблера?
24. Как устроен стековый фрейм?
25. Как использовать библиотечных функций языка Си в программах или подпро- граммах на языке ассемблера?
26. Каковы особенности использования вставок на языке ассемблера в программе на языке С++?
27. Как выполняются команды AND, OR, XOR, NОТ, TEST?
28. Что делают команды сканирования битов, команды проверки и модификации битов?
29. Как выполняются команды сдвига?
30. Как выполняются команды циклического сдвига?
31. Как выполняются команды сдвига двойной точности?
32. Каковы форматы хранения двоично-десятичных чисел?
33. С какой целью производится коррекция результатов арифметических команд для двоично-десятичных чисел?
Список литературы
1. Абель П. Язык Ассемблера для IBM РС и программирование. – Высшая школа, 1992.
2. Галисеев Г.В. Ассемблер для Win 32. Самоучитель. – M.: Издательский дом "Вильямс", 2007.
3. Голубь Н.Г. Искусство программирования на Ассемблере: лекции и упражнения. – СПб.: ДиаСофтЮП, 2002.
4. Зубков С.В. Assembler для DOS, Windows и Unix. – М.: ДМК Пресс,
2008.
5. Ирвин К. Язык ассемблера для процессоров Intel. – M.: Издательский дом "Вильямс", 2005.
6. Крупник А.Б. Изучаем Ассемблер. – СПб.: Питер, 2005.
7. Крупник А. Ассемблер. Самоучитель. – СПб.: Питер, 2005.
8. Магда Ю.С. Ассемблер для процессоров Intel Pentium. – СПб.: Питер,
2006.
9. Пильщиков В.Н. Программирование на языке ассемблера IBM PC. – М.:
ДИАЛОГ-МИФИ, 1999.
10. Пирогов В.Ю. Ассемблер для Windows. – СПб.: БХВ-Петербург, 2008.
11. Пирогов В.Ю. Ассемблер на примерах. – СПб.: БХВ-Петербург, 2005.

77 12. Рудаков П.И., Финогенов К.Г. Язык ассемблера: уроки про- граммирования. – М.: ДИАЛОГ-МИФИ, 2001.
13. Скэнлон Л. Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера. – М.: Радио и связь, 1989.
14. Трой Д. Программирование на языке Си для персонального компьюте- ра IBM PC. – М.: Радио и связь, 1991.
15. Юров В.И. Assembler. Учебник для вузов. – СПб.: Питер, 2006.
16. Юров В.И. Assembler. Практикум. – СПб.: Питер, 2006.
Содержание
Введение
1. Регистры микропроцессора
1.1. Регистры общего назначения
1.2. Сегментные регистры
1.3. Регистр командного указателя
1.4. Регистр флагов
2. Структура программы на языке ассемблера
2.1. Команды
2.2. Директивы
2.2.1. Директива COMMENT
2.2.2. Директивы SEGMENT и ASSUME
2.2.3. Упрощенные директивы сегментации
2.2.4. Директива END
2.2.5. Директива PROC
2.2.6. Директивы определения данных
2.2.7. Директива ALIGN
2.3. Особенности разработки 16-разрядных программ под MS-DOS
3. Команды пересылки данных
3.1. Команда MOV
3.2. Команда XCHG
3.3. Команды работы со стеком
3.4. Команда обмена байтов
4. Арифметические команды
4.1. Команды сложения
4.2. Команда XADD
4.3. Команда приращения значения приемника на единицу
4.4. Команды вычитания
4.5. Команда уменьшения содержимого приемника на единицу
4.6. Команда обращения знака
4.7. Команды умножения
4.8. Команды деления
4.9. Команды преобразования типа
5. Режимы адресации
5.1. Регистровая и непосредственная адресация


78 5.2. Эффективный адрес
5.3. Прямая адресация
5.4. Косвенная регистровая адресация
5.5. Адресация по базе
5.6. Прямая адресация с индексированием
5.7. Адресация по базе с индексированием
6. Команды передачи управления и сравнения
6.1. Команды CALL и RET
6.2. Команда безусловного перехода JMP
6.3. Команды условной передачи управления
6.4. Команда СМР
6.5. Установка байта по условию
6.6. Пересылка по условию
6.7. Команды управления циклами
7. Взаимодействие языков С++ и ассемблера
7.1. Использование подпрограмм на языке ассемблера в программах на языке С++
7.1.1. Основы взаимодействия языков С++ и ассемблера
7.1.2. Передача управления в подпрограмму и обратно
7.1.3. Использование глобальных переменных для передачи данных
7.1.4. Использование аргументов для передачи данных
7.1.5. Возвращение значения через имя подпрограммы
7.1.6. Использование аргументов для возвращения значений
7.2. Вызов подпрограмм на языке С++ из программ на языке ассемблера
7.3. Использование локальных данных
7.4. Использование библиотечных функций языка Си в программах/подпрограммах на языке ассемблера
7.5. Использование вставок на языке ассемблера в программах на языке
С++
8. Команды манипулирования битами
8.1. Логические команды AND, OR, XOR и NOT
8.2. Команда проверки TEST
8.3. Команды сканирования битов
8.4. Команды проверки и модификации битов
8.5. Команды сдвига и циклического сдвига
8.5.1. Команды сдвига
8.5.2. Команды циклического сдвига
8.5.3. Команды сдвига двойной точности
9. Двоично-десятичные числа
9.1. Форматы хранения двоично-десятичных чисел
9.2. Коррекция результата сложения
9.3. Коррекция результата вычитания
9.4. Коррекция результата умножения
9.5. Коррекция результата деления
10. Контрольные вопросы