Машинные языки Ассемблер
Заказать уникальную курсовую работу- 31 31 страница
- 18 + 18 источников
- Добавлена 18.05.2024
- Содержание
- Часть работы
- Список литературы
Введение 4
1 Теоретический раздел 6
1.1 Язык Ассемблер 6
1.2 Достоинства языка Ассемблер 7
1.3 Недостатки языка Ассемблер 7
1.4 Стек 7
1.5 Словесная постановка задачи 9
1.5.1 Основные определения 9
2 Практический раздел 11
2.1 Формальная постановка задачи 11
2.2 Алгоритм решения задачи 11
2.3 Алгоритм решения задачи 11
3 Программный раздел 13
3.1 Описание программы 13
3.2 Описание структуры данных 13
3.3 Описание основных процедур 13
4 Экспериментальный раздел 14
4.1 Тестирование в нормальных условиях 14
4.2 Итоги тестирования 17
Заключение 18
Список использованных источников 19
Листинг программы 22
jns @@m3a ;если нет, пропуститьpush -3 ;иначе дописать перех числом минусinc cx ;увеличить количество цифр числа@@m3a: mov ah,2 ;ф-я вывода символа@@m2a: pop dx ;взять из стека цифру числаadd dl,'0' ;преобразовываем цифру в ASCII символint 21h ;вывести на экранloop @@m2a ;все цифрыpop si ;восстанавливаем регистрыpop bxpop dxpop cxret ;выход из подпрограммыprintdec endpstr2dw proc;Преобразование строки в число;на входе ds:si ссылается на ASCII строку, которую нужно преобразовать; на выходе в ax - число.push bx ;сохраняем регистрыpush dxpush sixor bx,bxxor dx,dx ;сумма@lp1: xor ax,axlodsb ;берем чимволcmp al,13 ;если это конец строки,jz @ex ;то заканчиваемcmp al,'-' ;если минус,jnz @m1mov bx,1 ;то устанавливаем признак минусаjmp @lp1 ;продолжаем обработку@m1: cmp al,'9' ;если это не цифра,jnbe @lp1 ;то пропускаемcmp al,'0' ;если это не цифра,jb @lp1 ;то пропускаемsub ax,'0' ;получаем цифровое значениеshl dx,1 ;умножаем сумму на 10add ax, dxshl dx, 2add dx, ax ;прибавляем текущее значениеjmp @lp1 ;продолжаем обработку@ex: test bx,bx ;если установлен признак отрицательного числаjz @ex1neg dx ;то меняем знак@ex1: mov ax,dx ;помещаем результат в ахpop si ;восстановить регистрыpop dxpop bxret ;выход из подпрограммыstr2dw endp;Процедура вывода числовых данных в шестнадцатеричной системе счисления (размерность слово).;Значение передается через axprinthex procpush ax ;сохраняем регистрыpush bxpush cxpush dxmov bx,ax ;сохранить значениеmov cx,4 ;количество выводимых символовmov ah,2 ;ф-я вывода символа на экран@lp2: rol bx,4 ;вращаем bx на 4 разряда влевоmov dx,bx ;скопировать ax в bxand dx,15 ;оставить только одну 16-ричную цифруadd dl,'0' ;преобразуем тетраду в символcmp dl,'9' ;если не это буква A-Fjbe @m2 ;то пропускаемadd dl,7 ;а если буква,то корректируем символ@m2: int 21h ;выводим символ на экранloop @lp2 ;выводим все символыpop dx ;восстановить регистрыpop cxpop bxpop axret ;выход из подпрограммыprinthex endpend star
2. Брэй, Барри Применение микроконтроллеров PIC18. Архитектура, программирование и построение интерфейсов с применением С и ассемблера (+ CD-ROM) / Барри Брэй. - М.: МК-Пресс, Корона-Век, 2008. - 576 c. URL: https://djvu.online/file/qVHKWOIB6cZK3
3. Галисеев, Г. В. Ассемблер для Win 32. Самоучитель / Г.В. Галисеев. - М.: Вильямс, 2007. - 368 c. URL: https://www.dialektika.com/books/978-5-8459-1197-1.html
4. Жуков, А. Ассемблер / А. Жуков, А. Авдюхин. - М.: БХВ-Петербург, 2012. - 448 c. URL: https://bhv.ru/product/samouchitel-assembler/
5. Иванов, В. Б. Программирование микроконтроллеров для начинающих. Визуальное проектирование, язык C, ассемблер (+ CD-ROM) / В.Б. Иванов. - М.: Корона-Век, МК-Пресс, 2010. - 176 c. URL: https://www.livelib.ru/book/1000672290-programmirovanie-mikrokontrollerov-dlya-nachinayuschih-vizualnoe-proektirovanie-yazyk-c-assembler-cdrom-v-b-ivanov?version=mobile
6. Калашников, О. А. Ассемблер — это просто. Учимся программировать (+ CD-ROM) / О.А. Калашников. - М.: БХВ-Петербург, 2011. - 336 c. URL: https://vk.com/wall-54530371_149102
7. Кетков, Ю.Л. Введение в системное программирование на языке ассемблера ЕС ЭВМ / Ю.Л. Кетков, В.С. Максимов, А.Н. Рябов. - М.: Наука, 1998. - 264 c. URL: https://search.rsl.ru/ru/record/01001113817
8. Лин, В. PDP-11 и VAX-11. Архитектура ЭВМ и программирование на языке ассемблера / В. Лин. - М.: Радио и связь, 2015. - 320 c. URL: https://search.rsl.ru/ru/record/01001467556
9. Магда, Юрий Использование ассемблера для оптимизации программ на С++ (+ CD-ROM) / Юрий Магда. - М.: БХВ-Петербург, 2004. - 492 c. URL: https://search.rsl.ru/ru/record/01002489630
10. Марек, Рудольф Ассемблер на примерах / Рудольф Марек. - М.: Наука и техника, 2005. - 240 c. URL: https://sharpened.ucoz.ru/lib/assembler_na_primerah.pdf
11. Мухаммед, Али Мазиди Микроконтроллеры PIC и встроенные системы. Применение ассемблера и C для PIC18 / Мухаммед Али Мазиди, Ролин Д. МакКинли, Дэнни Кусэй. - М.: МК-Пресс, Корона-Принт, 2009. - 784 c. URL: https://knigogid.ru/books/328554-mikrokontrollery-pic-i-vstroennye-sistemy-primenenie-assemblera-i-c-dlya-pic18
12. Пильщиков, В. Н. Assembler. Программирование на языке ассемблера IBM PC / В.Н. Пильщиков. - М.: Диалог-Мифи, 2005. - 288 c. URL: https://kfilial.mggeu.ru/wp-content/uploads/2021/02/Pilshhikov-V.N.-Programmirovanie-na-yazyke-assemblera-IBM-PC-1.pdf
13. Пирогов Ассемблер на примерах / Пирогов, Владислав. - М.: СПб: БХВ, 2005. - 416 c. URL: http://old-dos.ru/index.php?page=lib&do=show&id=713
14. Рассел, Джесси Ассемблер / Джесси Рассел. - М.: Книга по Требованию, 2012. - 621 c. URL: https://dic.academic.ru/book.nsf/59515413/Ассемблер
15. Ревич, Юрий Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера / Юрий Ревич. - М.: БХВ-Петербург, 2014. - 368 c. URL: https://www.litres.ru/book/uriy-revich/prakticheskoe-programmirovanie-mikrokontrollerov-atmel-avr-na-11838168/
16. Скэнлон, Л. Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера / Л. Скэнлон. - М.: Радио и связь, 1998. - 336 c. URL: https://search.rsl.ru/ru/record/01001498330
17. Финогенов, К. Г. Использование языка Ассемблера. Учебное пособие / К.Г. Финогенов. - М.: Горячая линия - Телеком, 2004. - 440 c. URL: https://www.techbook.ru/book.php?id_book=456
18. Ярмиш, Р. Основы программирования на языке Ассемблера / Р. Ярмиш, Дж. Ярмиш. - М.: Мир, 2005. - 564 c. URL: https://libcats.org/book/506603