Розробка програми на мові Асемблера - Курсовая работа

бесплатно 0
4.5 66
Створення двух файлів В1 і В2 з шести двоцифрових цифр з введенням в довільному порядку цифр з клавіатури із записуванням парних цифр в файл В3, а непарних - у файл В4. Процес розробки програми за допомогою мови "Асемблер". Блок-схема алгоритму задачі.


Аннотация к работе
Колись асемблер був мовою, без знання якої не можна було примусити компютер зробити що-небудь корисне. Але, на відміну від інших мов, асемблер не вмер. Всі процеси в машині на найнижчому, апаратному рівні приводяться в дію тільки командами (інструкціями) машинної мови. Це торкається і зовнішнього вигляду програм, написаних на асемблері, і ідей, віддзеркаленням яких ця мова є. Яким би розумним не був програміст, якщо б хорошою не була мова, на якій він пише свою програму, без знання асемблера йому не обійтись.Створити два файли В1 і В2 з шести двоцифрових цифр.Для вирішення поставленого завдання використовувалася мова “Асемблер” - програмна мова низького рівня. Для переміщення покажчика зчитування запису із файлу та власне самого зчитування були використані відповідно функції 42h і 3Fh переривання DOS 21h. Щоб закрити файли була застосована функція 3Eh переривання DOS 21h. · Байт 7 - файл можна відкривати різними процесами Вихідні дані: CF=0 - помилки не було (в AX ідентифікатор файлу);Назва, пояснення Задання положення курсора Змінна, у яку заноситься значення ASCII-коду символу, що вводиться.data kyrsor db 0 p db 0 q1 db "Введіть файл B1",0 q2 db "Введіть файл B2",0 q3 db "Файл B3 утворюється з парних чисел файлів B1 i B2",0 q4 db "Файл B4 утворюється з не парних чисел файлів B1 i B2",0 l1 db "ВВЕДІТЬ два 6-tu двоцифрові числа i будуть стварені файли B1 і B2 ",0 l2 db "Числа вводити з клавіатури",0 l3 db "Виконав студент групи КС-32",0 l4 db "Sayalyuk Ivan ",0 ;==================================================================== mov ah,13h ; Функція виводу рядка символів із заданими атрибутами mov al,0 ; Режим виводу mov cx,56 ; Довжина рядка для виводу mov dh,1; Рядок, з якого починається вивід mov dl,10;Стовпець, з якого починається вивід mov bl,00100100b ; Задання атрибутів (колір символів й тла) mov bp,offset l1; Адреса рядка символів, що необхідно вивести int 10h ; Реалізація переривання BIOS 10h mov ah,13h mov al,0 mov cx,27 mov dh,2 mov dl,25 mov bl,00100100b mov bp,offset l2 int 10h ФАЙЛ 1 ;**************************************************************************** mov ah,13h mov cx,15 mov al,0 mov dh,5 mov dl,30 mov bl,00100100b mov bp,offset q1 int 10h mov ah,02h; Функція керування положенням курсору mov bh,0; Номер відеосторінки mov dh,6 ;Рядок, в якому знаходитиметься курсор миші mov dl,28; Стовпець, в якому знаходитиметься курсор миші int 10h ; Реалізація переривання BIOS 10h mov ah,3ch;Функції створення файлу mov cx,00000000b; Атрибути файлу mov dx,offset A; Адреса ASCII рядка int 21h ;Переривання mov id1,ax;Занесення в змінну ідентифікатора mov ah,3fh; Функція зчитування із файлу mov bx,0; Ідентифікатор файлу mov cx,25 ; Число байтів для зчитування mov dx,offset m; Адреса буфера для прийняття даних int 21h; Реалізація переривання DOS 21h mov ah,40h; Функція запису у файл mov bx,id1; Ідентифікатор файлу mov cx,17 ; Число байтів, яке необхідно записати у файл mov dx,offset m; Адреса буфера із даними int 21h;Переривання ;=============================================================== mov ah,42h; Функція переміщення покажчика зчитування запису із файлу mov bx,id1; Ідентифікатор файлу mov al,0; Режим виводу mov cx,0; Обнулення регістра сх mov dx,0; Обнулення регістра dx int 21h; Реалізація переривання DOS 21h mov cx,6;Початок циклу v:push cx;Занесення встек кількості повторень mov ah,3fh; Функція зчитування із файлу mov bx,id1; Ідентифікатор файлу mov cx,3; Число байтів для зчитування mov dx,offset z; Адреса буфера для прийняття даних int 21h; Реалізація переривання DOS 21h mov al,z 1;Занесення в al другу цифру числа cmp al,"1"; Команда порівняння je x1; Команда переходу на мітку х1, якщо прм порівнянні al=0 cmp al,"3" je x1 cmp al,"5" je x1 cmp al,"7" je x1 cmp al,"9" je x1 jmp p ;Безумовний перехід на мітку p x1: mov ah,40h mov bx,id4 mov cx,3 mov dx,offset z int 21h p:pop cx;Кінець циклу loop v;Команда переходу на початок циклу mov ah,42h mov bx,id1 mov al,0 mov cx,0 mov dx,0 int 21h mov cx,6 r:push cx mov ah,3fh mov bx,id1 mov cx,3 mov dx,offset n int 21h mov al,n 1 cmp al,"0" je x2 cmp al,"2" je x2 cmp al,"4" je x2 cmp al,"6" je x2 cmp al,"8" je x2 jmp g x2: mov ah,40h mov bx,id3 mov cx,3 mov dx,offset n int 21h g:pop cx loop rВиконання контрольного прикладу допомагає наочно зрозуміти принцип функціонування створеної програми і побачити, чи вибраний найоптимальніший метод розвязання задачі. Для даного курсового проекту я вибрав такий контрольний приклад: Створити два файли В1і В2 з шести двоцифрових цифер. Протягом процесу введення на екрані будуть знаходитись коментарі, які пояснюють суть завдання і служать елементами оформлення екрану при введенні.Виконуючи дану курсову роботу була розроблена програма на мові асемблера яка, використовуючи функції роботи з файлами, функції роботи з монітором та клавіатурою, Створ

План
Зміст

Вступ

1. Постановка задачі

2. Метод розвязування

3. Блок-схема алгоритму та його опис

4. Таблиця ідентифікаторів

5. Програма та її опис

6. Контрольний приклад

Висновок

Список використаної літератури

Вывод
Виконуючи дану курсову роботу була розроблена програма на мові асемблера яка, використовуючи функції роботи з файлами, функції роботи з монітором та клавіатурою, Створює два файли B1і B2 з шести двоцифрових чисел. Вводити з клавіатури в довільному порядку цифри. При чому парні цифри записувати в файл В3, а непарні цифри записувати у файл В4.

Мною отримані навики роботи з мовою асемблера, з використання функцій роботи з файлами системи переривань операційної системи DOS і BIOS.

Дана курсова робота була розбита на розділи, в яких описано процес розробки програми. В розділах описано алгоритм розробленої програми, зроблено опис тексту програми та структури програми, розроблено блок - схему алгоритму задачі.

Список литературы
1. Питер Абель «Ассемблер. Язык програмирования для IBM PC» - Киев, »Век», 2003г.

2. Кип Р. Ирвин «Язык ассемблера для процессоров INTEL» - М: Издательский дом «Вильямс»», 2002 г.

3. Зубков С.В. «Ассемблер для DOS, WINDOWS, UNIX” - М.: «ДМК», 2000г.

4. Юров В. «Ассемблер» - Санкт-Петербург: «Питер», 2001г.

5. Юров В. «Ассемблер. Практикум» - Санкт-Петербург: «Питер», 2002г.

6. Юров В. «Ассемблер. Специальный справочник» - Санкт-Петербург: «Питер», 2000г.

Размещено на .ru
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?