Sunteți pe pagina 1din 25

Codul  

programului

; Sarcina de proiectare

; CR-191. Testarea2.

;
==================================================================
================

; Sa se elaboreze programul care perimite functiile definite pentru un Manager de fisiere.

; Creare File / Dirr. Copiere File, Vizuare File, Stergere File / Dirr. ....

; Programul sa fie personalizat.

; Operatiile sunt efectuate in regim de dialog:

; R-Read File; W-Wtite File; C-Create; D-Delete_File; T-Input Text; F-afisare contiut File;

; L-Close; P-Copeie File to File; N- Rename File;M - Creare Dir; I - Trecere in directoriu;

; U - Sterge directoriu;

; N - Creare unui Fisier Nou cu un nume Ibntrodus de la KBD.

; T - Introducerea unui text pentru inscdiere in File.

; Q - termitarea programului.

;
==================================================================
================

org 100h

jmp start

dir1 db "c:\test3", 0

dir2 db "c:\test2", 0

dir3 db "c:\newname", 0
file1 db "c:\file1.txt", 0

file2 db "c:\newfile.txt", 0

file3 db "c:\t1.txt", 0

handle dw ?

text db "Datele pentru inscriere in fisier: Text1, Text1, Grupa CR-191, $ "

text_size = $ - offset text

text2 db "hi!, Aceasta este lucrarea de evaluare nr 2. Grupa cr-191, $"

text2_size = $ - offset text2

text_student db 0Dh, 0Ah, "Aceasta este lucrarea de evaluare a studentului.gr,CR-


191,Cojuhari Clara.27.04.2021”. $"

text_student1 db 0Dh, 0Ah, "Studentul Grupei CR-191. Ilies Victor ...: $"

text_output db 0Dh, 0Ah, "Introduceti Comanda pentru operatiile cu HDD: $"

erroare db 0Dh, 0Ah, "S-a comis o eroare in procesul executarii programului, $"

Not_Com db 0Dh, 0Ah, "S-a introdus o comanda nedefinita. $"

Exec_Com db 0Dh, 0Ah, "Comanda indicata s-a executat. $"

S1 db 200,?, 200 dup(' ')

T2 db 200,?, 200 dup(' ')

FileName db 30,?, 30 dup(' ') ; Acesta este numele fisierului creat.

COM db ?

start:

mov ax, cs
mov dx, ax

mov es, ax

MOV BP, 10h

; Salutare program si invitatie

MOV DX, offset text_student

MOV AH, 9

INT 21h

MOV DX, offset text_student1

MOV AH, 9

INT 21h

Repeat:

MOV DX, offset text_output

MOV AH, 9

INT 21h

MOV AH, 00h

INT 16h

MOV COM, AL

CMP AL, "r"

JE Read_File

MOV AL, COM

CMP AL, "c"

JE Create_File

MOV AL, COM


CMP AL, "m"

JE Create_Dir

MOV AL, COM

CMP AL, "w"

JE Write_File

MOV AL, COM

CMP AL, "d"

JE Delete_File

MOV AL, COM

CMP AL, "t"

JE New_Text

MOV AL, COM

CMP AL, "n"

JE New_File

MOV AL, COM

CMP AL, "q"

JE Quit

MOV DX, offset Not_Com

MOV AH, 9

INT 21h

DEC BP

JNZ Repeat
Read_File:

; Citire din fisier

MOV DX, offset Exec_Com

MOV AH, 9

INT 21h

DEC BP

JMP Repeat

Create_Dir:

; create c:\emu8086\vdrive\C\test1

mov dx, offset dir1

mov ah, 39h

int 21h

MOV DX, offset Exec_Com

MOV AH, 9

INT 21h

DEC BP

JMP Repeat

Create_File:

; create and open file: c:\emu8086\vdrive\C\test1\file1.txt

mov ah, 3ch

mov cx, 0

mov dx, offset file1


int 21h

jc err

mov handle, ax

MOV DX, offset Exec_Com

MOV AH, 9

INT 21h

DEC BP

JMP Repeat

Write_File:

; create and open file: c:\emu8086\vdrive\C\test1\file1.txt

mov ah, 3ch

mov cx, 0

mov dx, offset file1

int 21h

jc err

mov handle, ax

; write to file 1:

mov ah, 40h

mov bx, handle

mov dx, offset text

mov cx, text_size

int 21h

; write to file 2:
mov ah, 40h

mov bx, handle

mov dx, offset text2

mov cx, text2_size

int 21h

; close c:\emu8086\vdrive\C\test1\file1.txt

mov ah, 3eh

mov bx, handle

int 21h

MOV DX, offset Exec_Com

MOV AH, 9

INT 21h

DEC BP

JMP Repeat

Delete_File:

; delete file c:\emu8086\MyBuild\t1.txt

mov ah, 41h

mov dx, offset file1

int 21h

MOV DX, offset Exec_Com

MOV AH, 9

INT 21h
DEC BP

JMP Repeat

err:

MOV DX, offset erroare

MOV AH, 9

INT 21h

nop

MOV DX, offset Not_Com

MOV AH, 9

INT 21h

New_Text:

jmp m1

msg1 db 0Dh, 0Ah, "Introduceti Textul Nou pentru inscriere in File: $"

m1: mov dx, offset msg1

mov ah, 9

int 21h

; input a string:

mov dx, offset s1

mov ah, 0ah

int 21h

DEC BP

JMP Repeat
New_File:

jmp m2

msg2 db 0Dh,0Ah,"Introduceti Numele Fisierului: $"

m2: mov dx, offset msg2

mov ah, 9

int 21h

; input filename:

mov dx, offset filename

mov ah, 0ah

int 21h

; set 0 to the end of the filename:

xor bx, bx

mov bl, filename[1] ; get actual size.

mov filename[bx+2], 0

; create new file:

mov cx, 0

mov ah, 3ch

mov dx, offset filename+2

int 21h

jc err

mov handle, ax

; write buffer to file:

mov ah, 40h

mov bx, handle

mov dx, offset s1+2


xor cx, cx

mov cl, s1[1]

int 21h

jc err

; close file

mov bx, handle

mov ah, 3eh

int 21h

jc err

DEC BP

JMP Repeat

Quit:

RET

;;

;;

; create c:\emu8086\vdrive\C\test1
mov dx, offset dir1

mov ah, 39h

int 21h

; create c:\emu8086\MyBuild\test2

mov dx, offset dir2

mov ah, 39h

int 21h

; rename directory: c:\emu8086\MyBuild\test2 to c:\emu8086\MyBuild\newname

mov ah, 56h

mov dx, offset dir2 ; existing.

mov di, offset dir3 ; new.

int 21h

; create and open file: c:\emu8086\vdrive\C\test1\file1.txt

mov ah, 3ch

mov cx, 0

mov dx, offset file1

int 21h

jc err

mov handle, ax

; write to file:

mov ah, 40h

mov bx, handle


mov dx, offset text

mov cx, text_size

int 21h

; close c:\emu8086\vdrive\C\test1\file1.txt

mov ah, 3eh

mov bx, handle

int 21h

; rename fileL c:\emu8086\vdrive\C\test1\file1.txt to c:\test1\newfile.txt

mov ah, 56h

mov dx, offset file1 ; existing.

mov di, offset file2 ; new.

int 21h

; delete file c:\emu8086\vdrive\C\test1\newfile.txt

mov ah, 41h

mov dx, offset file2

int 21h

; delete directory: c:\emu8086\vdrive\C\test1

mov ah, 3ah

mov dx, offset dir1

int 21h
; create and open file: c:\emu8086\MyBuild\t1.txt

mov ah, 3ch

mov cx, 0

mov dx, offset file3

int 21h

jc err2

mov handle, ax

; seek:

mov ah, 42h

mov bx, handle

mov al, 0

mov cx, 0

mov dx, 10

int 21h

; write to file:

mov ah, 40h

mov bx, handle

mov dx, offset text

mov cx, text_size

int 21h

; seek:

mov ah, 42h

mov bx, handle

mov al, 0

mov cx, 0
mov dx, 2

int 21h

; write to file:

mov ah, 40h

mov bx, handle

mov dx, offset text2

mov cx, text2_size

int 21h

; close c:\emu8086\MyBuild\t1.txt

mov ah, 3eh

mov bx, handle

int 21h

err2:

nop

; delete file c:\emu8086\MyBuild\t1.txt

mov ah, 41h

mov dx, offset file3

int 21h

; delete directory: c:\emu8086\MyBuild\newname

mov ah, 3ah


mov dx, offset dir3

int 21h

; Program Nou

; this sample gets a string from a user, then it prints it out.

; this example uses dos interrupt: 21h

;name "int21"

;org 100h

;jmp start

; when no file path is specified the default file path is:

; c:\emu8086\MyBuild

; if path is specified, it is emulated in:

; c:\emu8086\vdrive\

; for example, c:\test.txt is c:\emu8086\vdrive\c\test.txt

; this is done to prevent disasters and accidental overwriting of valuable files.

; relative paths such as "c:\mydir\..\autoexec.bat" are disabled for the same reasons.

; declarations:
; buffers hold ascii chars for INT 21h/0Ah input function,

; first byte is its maximum size, second byte: actual size.

; format of INT 21h/0Ah input buffer:

; -byte-offset- -number-of-bytes- -description-

; 00 1 buffer size

; 01 1 number of characters actually read (excluding cr).

; 02 1 to buffer-size actual buffer contents (including cr).

;s1 db 100,?, 100 dup(' ')

;t2 db 100,?, 100 dup(' ')

;filename db 30,?, 30 dup(' ') ; file name should be in 8.3 - dos compatible format.

; file handle:

;handle dw 0

; set segment registers to code:

;jmp m1

;msg1 db "enter any text: $"

;m1: mov dx, offset msg1

; mov ah, 9

; int 21h
; input a string:

; mov dx, offset s1

; mov ah, 0ah

; int 21h

;jmp m2

;msg2 db 0Dh,0Ah,"enter file name: $"

;m2: mov dx, offset msg2

; mov ah, 9

; int 21h

; input filename:

; mov dx, offset filename

; mov ah, 0ah

; int 21h

; set 0 to the end of the filename:

; xor bx, bx

; mov bl, filename[1] ; get actual size.

; mov filename[bx+2], 0

; create new file:

; mov cx, 0

; mov ah, 3ch

; mov dx, offset filename+2

; int 21h
; jc error

; mov handle, ax

; write buffer to file:

; mov ah, 40h

; mov bx, handle

; mov dx, offset s1+2

; xor cx, cx

; mov cl, s1[1]

; int 21h

; jc error

; close file

; mov bx, handle

; mov ah, 3eh

; int 21h

; jc error

; open existing file:

; mov al, 0 ; read.

; mov ah, 3dh

; mov dx, offset filename+2

; int 21h

; jc error

; mov handle, ax

; read bytes from file

; mov ah, 3fh


; mov bx, handle

; xor cx, cx

; mov cl, t2[0]

; mov dx, offset t2[2]

; int 21h

; jc error

; mov t2[1], al

; close file

; mov bx, handle

; mov ah, 3eh

; int 21h

; jc error

;jmp m3

;msg3 db 0Dh,0Ah,"read from file: $"

;m3: mov dx, offset msg3

; mov ah, 9

; int 21h

; set '$' to the end of the buffer:

; xor bx, bx

; mov bl, t2[1] ; get actual size.

; mov t2[bx+2], '$'

; print the buffer:

; mov dx, offset t2[2] ; skip 2 control bytes.

; mov ah, 9

; int 21h
; jmp ok

; print error message:

;error: jmp m5

; msg5 db 0Dh,0Ah,"error...",0Dh,0Ah,'$'

; m5: mov dx, offset msg5

; mov ah, 9

; int 21h

;ok:

;jmp m4

;m4: mov dx, offset msg4

; mov ah, 9

; int 21h

; mov ah, 0

; int 16h

; exit to the operating system:

; mov ah, 4ch

; int 21h

name "Evaluare_2"

Crearea mapei

Codul
name "exerc2"

org 100h

jmp start

dir1 db "c:\Mapa_1", 0

dir2 db "c:\Mapa_2", 0

file1 db "c:\Mapa_1\File_1.txt", 0

file2 db "c:\Mapa_2\File_2.txt", 0

handle dw ?

text db "Introduceti numele prenumele studentului:Cojuhari Clara "

text_size = $ - offset text

text2 db "Examen final la disciplina Arhitectura Calculatoarelor a studentului"

text2_size = $ - offset text2

start:

mov ax, cs

mov dx, ax

mov es, ax

; create c:\emu8086\vdrive\Mapa_1

mov dx, offset dir1

mov ah, 39h

int 21h

; create c:\emu8086\vdrive\Mapa_2

mov dx, offset dir2

mov ah, 39h

int 21h

; create and open file: c:\emu8086\vdrive\Mapa_1\File_1.txt

mov ah, 3ch


mov cx, 0

mov dx, offset file1

int 21h

mov handle, ax

; write to file:

mov ah, 40h

mov bx, handle

mov dx, offset text

mov cx, text_size

int 21h

; create and open file: c:\emu8086\vdrive\Mapa_2\File_2.txt

mov ah, 3ch

mov cx, 0

mov dx, offset file2

int 21h

mov handle, ax

; write to file:

mov ah, 40h

mov bx, handle

mov dx, offset text2

mov cx, text_size

int 21h

ret

S-ar putea să vă placă și

  • Lab2 PCD
    Lab2 PCD
    Document2 pagini
    Lab2 PCD
    Клара Кожухари
    Încă nu există evaluări
  • AC
    AC
    Document25 pagini
    AC
    Клара Кожухари
    Încă nu există evaluări
  • CR-191 Lab1
    CR-191 Lab1
    Document3 pagini
    CR-191 Lab1
    Клара Кожухари
    Încă nu există evaluări
  • Lab2 - Cojuhari C..docx) Ts
    Lab2 - Cojuhari C..docx) Ts
    Document2 pagini
    Lab2 - Cojuhari C..docx) Ts
    Клара Кожухари
    Încă nu există evaluări
  • Intrebari Evaluarea 1
    Intrebari Evaluarea 1
    Document3 pagini
    Intrebari Evaluarea 1
    Клара Кожухари
    Încă nu există evaluări
  • Seminar 3 Aso
    Seminar 3 Aso
    Document2 pagini
    Seminar 3 Aso
    Клара Кожухари
    Încă nu există evaluări
  • Proiect de An RC
    Proiect de An RC
    Document15 pagini
    Proiect de An RC
    Клара Кожухари
    Încă nu există evaluări
  • CR-181 Ac-2
    CR-181 Ac-2
    Document3 pagini
    CR-181 Ac-2
    Клара Кожухари
    Încă nu există evaluări
  • Teorie Economica (Tema 10)
    Teorie Economica (Tema 10)
    Document7 pagini
    Teorie Economica (Tema 10)
    Suzana Guiban
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document4 pagini
    Lab 3
    Клара Кожухари
    Încă nu există evaluări
  • Raport: Disciplina: Bazele Transmiterii de Date
    Raport: Disciplina: Bazele Transmiterii de Date
    Document16 pagini
    Raport: Disciplina: Bazele Transmiterii de Date
    Alina Axenti
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document4 pagini
    Lab 3
    Клара Кожухари
    Încă nu există evaluări
  • Teorie Economica (Tema 12)
    Teorie Economica (Tema 12)
    Document5 pagini
    Teorie Economica (Tema 12)
    Suzana Guiban
    Încă nu există evaluări
  • Lucru Individual (Cojuhari Clara, GR - cr.191) 2
    Lucru Individual (Cojuhari Clara, GR - cr.191) 2
    Document9 pagini
    Lucru Individual (Cojuhari Clara, GR - cr.191) 2
    Клара Кожухари
    Încă nu există evaluări
  • Raport (9c) Cojuhari C
    Raport (9c) Cojuhari C
    Document8 pagini
    Raport (9c) Cojuhari C
    Клара Кожухари
    Încă nu există evaluări
  • Verificarea Experimentala A Legii Conservarii Energie Mecanice La Rostogolirea Unei Bile Pe Un Uluc Inclinat
    Verificarea Experimentala A Legii Conservarii Energie Mecanice La Rostogolirea Unei Bile Pe Un Uluc Inclinat
    Document4 pagini
    Verificarea Experimentala A Legii Conservarii Energie Mecanice La Rostogolirea Unei Bile Pe Un Uluc Inclinat
    Клара Кожухари
    Încă nu există evaluări
  • Raportul (12) Cojuhari Clara
    Raportul (12) Cojuhari Clara
    Document4 pagini
    Raportul (12) Cojuhari Clara
    Клара Кожухари
    Încă nu există evaluări
  • ECONOMIA
    ECONOMIA
    Document4 pagini
    ECONOMIA
    Andrei Burcovschi
    Încă nu există evaluări
  • Cojuhari Clara (Lab.22)
    Cojuhari Clara (Lab.22)
    Document5 pagini
    Cojuhari Clara (Lab.22)
    Клара Кожухари
    Încă nu există evaluări
  • Mirzenco 1
    Mirzenco 1
    Document4 pagini
    Mirzenco 1
    Catalin
    Încă nu există evaluări
  • Lab1 MMC
    Lab1 MMC
    Document17 pagini
    Lab1 MMC
    Клара Кожухари
    Încă nu există evaluări
  • Cojuhari Clara (Raportul Nr.6)
    Cojuhari Clara (Raportul Nr.6)
    Document5 pagini
    Cojuhari Clara (Raportul Nr.6)
    Клара Кожухари
    Încă nu există evaluări
  • Calculatoarele Cuantice
    Calculatoarele Cuantice
    Document11 pagini
    Calculatoarele Cuantice
    Клара Кожухари
    Încă nu există evaluări
  • Calculatoarele Cuantice
    Calculatoarele Cuantice
    Document11 pagini
    Calculatoarele Cuantice
    Клара Кожухари
    Încă nu există evaluări
  • Asistența Socială R
    Asistența Socială R
    Document1 pagină
    Asistența Socială R
    Клара Кожухари
    Încă nu există evaluări
  • ECONOMIA
    ECONOMIA
    Document4 pagini
    ECONOMIA
    Andrei Burcovschi
    Încă nu există evaluări
  • Atestare1 BD
    Atestare1 BD
    Document3 pagini
    Atestare1 BD
    Клара Кожухари
    Încă nu există evaluări
  • Lab 34
    Lab 34
    Document5 pagini
    Lab 34
    Клара Кожухари
    Încă nu există evaluări
  • Lab 5
    Lab 5
    Document4 pagini
    Lab 5
    Клара Кожухари
    Încă nu există evaluări