Изменение пароля
Пользователь
anonymous
Текущий пароль
*
Новый пароль
*
Подтверждение
*
Запомнить меня
Забыли пароль?
Электронная библиотека (16+)
Впервые на сайте?
Вход
/
Регистрация
Национальный цифровой ресурс
Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 611230)
Для выхода нажмите Esc или
Программирование на языке ассемблера (200,00 руб.)
0
0
Первый автор
Лисицин Д. В.
Издательство
Изд-во НГТУ
Страниц
100
200,00р
Предпросмотр
ID
774760
Аннотация
Учебное пособие представляет собой первую часть курса программирования на языке ассемблера, в нем рассматриваются основы языка ассемблера, а также интерфейс с языком С++.
Кому рекомендовано
Учебное пособие предназначено для студентов, обучающихся по направлениям «Прикладная математика и информатика» и «Математическое обеспечение и администрирование информационных систем».
ISBN
978-5-7782-3679-0
УДК
004.431.4(075.8)
ББК
32.973.26-018я73
Лисицин, Д.В. Программирование на языке ассемблера : учеб. пособие / Д.В. Лисицин .— Новосибирск : Изд-во НГТУ, 2018 .— 100 с. — ISBN 978-5-7782-3679-0 .— URL: https://rucont.ru/efd/774760 (дата обращения: 02.05.2025)
Популярные
Введение в теорию игр: учебное пособие
110,00 руб
Этика и права человека в информационном ...
220,00 руб
Блок-схемы на основные технологические ц...
220,00 руб
Программирование технологических контрол...
200,00 руб
Современные направления развития измерит...
150,00 руб
Библиотековедение, библиографоведение и ...
290,00 руб
Вы уже смотрели
Основы финансовой математики
1500,00 руб
Полное собрание русских летописей. Т. ХV...
330,00 руб
Социология для юристов
200,00 руб
Вестник Московского государственного тех...
200,00 руб
Вопросы атомной науки и техники. Серия: ...
6940,00 руб
Формирование физической культуры личност...
1500,00 руб
Предпросмотр (выдержки из произведения)
Резюме документа
Страницы
Текст
Программирование_на_языке_ассемблера.pdf
Стр.2
Стр.97
Стр.98
Стр.99
Программирование_на_языке_ассемблера.pdf
УДК 004.431.4(075.8) Л 632 канд. техн. наук, доцент И.Л. Еланцева канд. техн. наук, доцент Ю.В. Тракимус Рецензенты: и прикладной информатики для студентов III курса ФПМИ Работа подготовлена на кафедре теоретической Л 632 Лисицин Д.В. Программирование на языке ассемблера: учебное пособие / Д.В. Лисицин. – Новосибирск: Изд-во НГТУ, 2018. – 100 с. ISBN 978-5-7782-3679-0 Учебное пособие представляет собой первую часть курса программирования на языке ассемблера, в нем рассматриваются основы языка ассемблера, а также интерфейс с языком С++. Учебное пособие предназначено для студентов, обучающихся по направлениям «Прикладная математика и информатика» и «Математическое обеспечение и администрирование информационных систем». УДК 004.431.4(075.8) ISBN 978-5-7782-3679-0 © Лисицин Д.В., 2018 © Новосибирский государственный технический университет, 2018
Стр.2
ОГЛАВЛЕНИЕ Введение ................................................................................................................... 3 1. Регистры микропроцессора .......................................................................... 5 1.1. Регистры общего назначения .................................................................... 5 1.2. Сегментные регистры ................................................................................ 6 1.3. Регистр командного указателя .................................................................. 6 1.4. Регистр флагов............................................................................................ 7 2. Структура программы на языке ассемблера ............................................. 7 2.1. Команды ...................................................................................................... 8 2.2. Директивы ................................................................................................... 9 2.2.1. Директива COMMENT .................................................................... 9 2.2.2. Директивы SEGMENT и ASSUME ................................................ 9 2.2.3. Упрощенные директивы сегментации ......................................... 10 2.2.4. Директива END .............................................................................. 12 2.2.5. Директива PROC ............................................................................ 12 2.2.6. Директивы определения данных .................................................. 13 2.2.7. Директива ALIGN .......................................................................... 17 2.3. Особенности разработки 16-разрядных программ под MS-DOS ......... 18 3. Команды пересылки данных ...................................................................... 20 3.1. Команда MOV .......................................................................................... 20 3.2. Команда XCHG ........................................................................................ 21 3.3. Команды работы со стеком ..................................................................... 21 3.4. Команда обмена байт ............................................................................... 24 4. Арифметические команды .......................................................................... 24 4.1. Команды сложения................................................................................... 24 4.2. Команда XADD ........................................................................................ 27 4.3. Команда приращения значения приемника на единицу ....................... 27 4.4. Команды вычитания ................................................................................. 28 97
Стр.97
4.5. Команда уменьшения содержимого приемника на единицу ................ 29 4.6. Команда обращения знака ....................................................................... 29 4.7. Команды умножения ................................................................................ 30 4.8. Команды деления ..................................................................................... 31 4.9. Команды преобразования типа ............................................................... 32 5. Режимы адресации ........................................................................................ 35 5.1. Регистровая и непосредственная адресация .......................................... 35 5.2. Эффективный адрес ................................................................................. 35 5.3. Прямая адресация ..................................................................................... 36 5.4. Косвенная регистровая адресация .......................................................... 37 5.5. Адресация по базе .................................................................................... 39 5.6. Прямая адресация с индексированием ................................................... 41 5.7. Адресация по базе с индексированием .................................................. 42 6. Команды передачи управления и сравнения ........................................... 44 6.1. Команды CALL и RET ............................................................................. 44 6.2. Команда безусловного перехода JMP .................................................... 46 6.3. Команды условной передачи управления .............................................. 46 6.4. Команда СМР ........................................................................................... 48 6.5. Установка байта по условию ................................................................... 50 6.6. Пересылка по условию ............................................................................ 51 6.7. Команды управления циклами ................................................................ 52 7. Взаимодействие языков С++ и ассемблера .............................................. 54 7.1. Использование подпрограмм на языке ассемблера в программах на языке С++ ..................................................................................... 54 7.1.1. Основы взаимодействия языков С++ и ассемблера .................... 55 7.1.2. Передача управления в подпрограмму и обратно ....................... 56 7.1.3. Использование глобальных переменных для передачи данных ............................................................................................ 58 7.1.4. Использование аргументов для передачи данных ...................... 59 7.1.5. Возвращение значения через имя подпрограммы....................... 65 7.1.6. Использование аргументов для возвращения значений ............. 67 7.2. Вызов подпрограмм на языке С++ из программ на языке ассемблера ......................................................................................................... 67 7.3. Использование локальных данных ......................................................... 69 7.4. Использование библиотечных функций языка Си в программах/подпрограммах на языке ассемблера ............................................. 72 7.5. Использование вставок на языке ассемблера в программах на языке С++ ................................................................................................. 74 98
Стр.98
8. Команды манипулирования битами ......................................................... 76 8.1. Логические команды AND, OR, XOR и NOT ........................................ 76 8.2. Команда проверки TEST ......................................................................... 79 8.3. Команды сканирования бит ..................................................................... 79 8.4. Команды проверки и модификации бит ................................................. 80 8.5. Команды сдвига и циклического сдвига ................................................ 81 8.5.1. Команды сдвига ............................................................................. 82 8.5.2. Команды циклического сдвига ..................................................... 85 8.5.3. Команды сдвига двойной точности .............................................. 87 9. Двоично-десятичные числа ......................................................................... 88 9.1. Форматы хранения двоично-десятичных чисел .................................... 88 9.2. Коррекция результата сложения ............................................................. 90 9.3. Коррекция результата вычитания ........................................................... 92 9.4. Коррекция результата умножения .......................................................... 93 9.5. Коррекция результата деления................................................................ 93 10. Контрольные вопросы ............................................................................... 94 Библиографический список .................................................................................. 96 99
Стр.99
Облако ключевых слов *
* - вычисляется автоматически