Lucrare de Laborator Assembler

Previzualizare laborator:

Extras din laborator:

1. Lucrare de laborator Nr. 1

2. Tema :Programarea operaţiilor cu şiruri.

3. Scopul lucrarii : Initierea in limbajul Assembler.

4. Sarcina de lucru :

Sarcina 1.1. Pregătirea pentru execuţie al unui program simplu de tip .EXE şi studierea structurii lui. De creat un fişier ce conţine textul sursă al programului de mai jos. în continuare de efectuat ciclul de dezvoltare : asamblarea şi editarea de legături pentru a obţine fişierul de tip .EXE . Încredinţaţi-vă, că lansînd programul la execuţie el funcţionează şi indeplineşte operaţiile prevăzute în program. Lansaţi programul sub controlul depanatorului Turbo Debugger. De studiat regulile principale pentru lucrul cu depanatorul - execuţia programului în modul "pas cu pas", vizualizarea registrelor procesorului,a indicatoarelor de condiţii,etc.

Sarcina 1.2. Pregătirea pentru executare al programului de tip .COM şi studierea structurii lui. Sarcina este analogică exemplului precedent.

Sarcina 1.3. Realizaţi un program care crează un masiv de simboluri (64 caractere de la caracterul blanc pînă la caracterul "-") şi imprimă masivul obţinut pe ecran.

Sarcina 1.4. Realizaţi un program cu ajutorul căruia poate fi urmărită partea a doua a tabelului de coduri ASCII (codurile 128-255 de tot 128 caractere). Pentru aceasta de creat un masiv alcătuit din codurile acestor caractere şi de imprimat masivul pe ecran.

Sarcina 1.5. Realizaţi un program care copie un bloc de 2000 de octeţi dintr-o zonă 1 în zona 2 şi din zona 2 în zona 3 şi imprimează blocul 3 pe ecran. Pentru aceasta de utilizat instrucţiunile pentru adresarea şirurilor :

LODSB;STOSB şi MOVSB

Sarcina 1.6. Compararea a două zone de memorie Realizaţi un program ce compară două zone de memorie cu acelaєi conţinut şi imprimăţi pe ecran rezultatul comprării. De modificat cîmpul de date al programului, modificînd zonele de memorie ca ele să nu coincidă şi programul să fie executat din nou .

5. Codul programului :

Sarcina 1.1 :

dosseg

.model Small

.stack 256

.data

stdout equ 1

mesaj db 'Studiem limbajul de asamblare'

db 'TurboAssembler 2.0',10,13

mes_len equ $-mesaj

.code

StartProgram:

movax,@data

movds,ax

mov ah,40h

mov bx,stdout

movcx,mes_len

movdx,offsetmesaj

int 21h

mov ah,4ch

int 21h

end StartProgram

Sarcina1.2 :

.model TINY

.code

org 100h

stdoutequ 1

crequ 10

efequ 13

Start:

jmp begin

mes db 'Programul de tip .COM functioneaza',cr,ef

mes_len equ $-mes

Begin:

mov ah,40h

movbx,stdout

movcx,mes_len

mov dx,offset mes

int 21h

mov ah,4ch

int 21h

end Start

Sarcina1.3 :

dosseg

.model Small

.stack 256

.data

mesaj db 'Elementele din tablou sunt:',10

mes_lenequ $-mesaj

memdb 64 dup(?)

tab_lenequ $-mem

.code

Start:

movax,@data

movds,ax

mov al,20h

mov si,0

movcx,tab_len

ciclu:

movmem[si], al

inc al

incsi

loopciclu

mov ah, 40h

movbx, 1

movdx,offsetmesaj

movcx,offsetmes_len

int 21h

mov ah, 40h

movbx, 1

mov dx, offset mem

movcx,tab_len

int 21h

movah,4ch

int21h

endStart.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Lucrare de Laborator Assembler.docx
Alte informații:
Tipuri fișiere:
docx
Nota:
8/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
9 pagini
Imagini extrase:
9 imagini
Nr cuvinte:
870 cuvinte
Nr caractere:
4 749 caractere
Marime:
365.97KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Sus!