У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


КУРСОВА РОБОТА

з дисципліни ОПЕРАЦІЙНІ СИТЕМИ

Тема – Використання операційної системи MS-Dos для роботи з файлами

Блок схема алгоритму програми

Розробка Asm-програми

model small ;встановлення моделі пам’яті програми

stack 100h ;

f1 DB ‘f1.txt’,0 ;шлях до файлу

f2 DB ‘f2.txt’,0 ;шлях до файлу

f3 DB ‘f3.txt’,0 ;шлях до файлу

f4 DB ‘f4.txt’,0 ;шлях до файлу

f5 DB ‘f5.txt’,0 ;шлях до файлу

d1 DW 0 ;змінна файлу

d2 DW 0 ;змінна файлу

d3 DW 0 ;змінна файлу

d4 DW 0 ;змінна файлу

d5 DW 0 ;змінна файлу

codeseg ;

main: ;

MOV CX, 48h ;встановлення лічильника для приймання байт даних

MOV BX, 200h ;встановлення початкової комірки масиву даних

;ввід числа з клавіатури

MOV AH, 01 ;вибір функції

M1: INT 21h ;ввід сотень

SUB AL, 30h ;перетворення з ASCII коду в цифру

MOV [BX], AL ;занести в масив прийнятий байт

INC BX ;збільшити адрес наступної комірки на 1

INT 21h ;ввід десятків

SUB AL, 30h ; перетворення з ASCII коду в цифру

MOV [BX], AL ;занести в масив прийнятий байт

INC BX ;збільшити адрес наступної комірки на 1

INT 21h ;ввід одиниць

SUB AL, 30h ; перетворення з ASCII коду в цифру

MOV [BX], AL ;занести в масив прийнятий байт

INC BX ;збільшити адрес наступної комірки на 1

LOOP M1 ;СХ-1, поки СХ < >0 перехід на М1

MOV AX, 3D02h ;

MOV DX, offset f1 ; створення файлу f1

INT 21h ;

MOV [d1], AX ;

MOV AX, 3D02h ;

MOV DX, offset f2 ; створення файлу f2

INT 21h ;

MOV [d2], AX ;

MOV AX, 3D02h ;

MOV DX, offset f3 ; створення файлу f3

INT 21h ;

MOV [d3], AX ;

MOV AX, 3D02h ;

MOV DX, offset f4 ; створення файлу f4

INT 21h ;

MOV [d4], AX ;

MOV AX, 3D02h ;

MOV DX, offset f5 ; створення файлу f5

INT 21h ;

MOV [d5], AX ;

аіваіваMOV AH, 40h ;

MOV BX, [d1] ; занесення масиву даних з пам’яті в файл f1

MOV DX, 200h ;

MOV CX, 30h ;

INT 21h ;

MOV CX, 30h ;встановлення лічильника

MOV BX, 100h ;встановлення початкової комірки занесеного масиву даних

MOV DI, 200h ; встановлення початкової комірки перемножених елементів

M2: MOV AX, [BX] ;стоні і десятки

MOV DL, [BX+2] ;одиниці

SHL AX, 3 ;множення на константу сотень і десятків

SHL DL, 3 ;одиниць

MOV [DI], AX ;занести в масив сотні і десятки

MOV [DI+2], DL ;зенесення одиниць в масив

ADD DI, 3 ;збільшення вказівника на комірку

ADD BX, 3 ; збільшення вказівника на комірку

LOOP M2 ;поки не кінець масиву, множити

MOV AH, 40h ;

MOV BX, [d2] ; занесення масиву даних з пам’яті в файл f2

MOV DX, 200h ;

MOV CX, 30h ;

INT 21h ;

MOV AH, 3Eh ;

MOV DX, [d1] ; закриття файлу f1

INT 21h ;

MOV AH, 3Eh ;

MOV DX, [d2] ; закриття файлу f2

INT 21h ;

MOV BX, 100h ;встановлення початкової комірки масиву 1

MOV CX, 30h ;встановлення лічильника

MOV DX,300h ;ініціювання шини ISA

M6: MOV AL, [BX] ;занесення в AL елементу масиву

OUT DX, AL ;вивід по шині ISA

M5: MOV DI, FFFFh ;

DEC DI : часова затримка

JNZ M5 ;

INC BX ;збільшення вказівника на масив 2

LOOP M6 ;СХ-1, поки СХ <> 0, переходити на мітку М6, тобто

;повторити цикли 16 разів.

END MAIN ;кінець програми