Lucrare de Laborator Assembler

Laborator
8/10 (1 vot)
Conține 1 fișier: docx
Pagini : 9 în total
Cuvinte : 870
Mărime: 365.97KB (arhivat)
Publicat de: Bianca Puiu
Puncte necesare: 0

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.

Preview document

Lucrare de Laborator Assembler - Pagina 1
Lucrare de Laborator Assembler - Pagina 2
Lucrare de Laborator Assembler - Pagina 3
Lucrare de Laborator Assembler - Pagina 4
Lucrare de Laborator Assembler - Pagina 5
Lucrare de Laborator Assembler - Pagina 6
Lucrare de Laborator Assembler - Pagina 7
Lucrare de Laborator Assembler - Pagina 8
Lucrare de Laborator Assembler - Pagina 9

Conținut arhivă zip

  • Lucrare de Laborator Assembler.docx

Alții au mai descărcat și

C++

Un prim exemplu de program C++: #include <iostream.h> void main { int a; cout << "Dati un numar\n"; cin >> a; cout << "Ati tastat numarul "...

Inițiere în limbaj Assembler - modulul port

Scopul lucrarii: Realizarea unui circuit care ar permite dirijarea unui led prin intermediul microcontrollerului şi a unui buton. Problema:...

Probleme C++ Rezolvate

Problema 1: cmmdc(a, b) #include<stdio.h> #include<conio.h> //algoritmul lui Euclid //cel mai mare divizor comun pentru doua numere strict...

Limbajul C++ fundamente - aplicații

PROBLEMA 1 Sa se verifice daca un numar intreg preluat de la terminal este prim. #include<iostream.h> #include<math.h> void main () { int n,...

Laboratoare C++ (SDA)

1.1. Crearea şi afişarea unei liste Exerciţiul 1. Să se scrie programul pentru crearea unei liste simplu înlănţuite cu preluarea datelor de la...

Limbaje de Programare

1. Definirea şi clasificarea limbajelor de programare Limba (DEX) – sistem de comunicare alcătuit din sunete articulate, specifice omului, prin...

Curs 1 - PHP

1. INTRODUCERE - Ce este PHP ? PHP este abrevierea de la PHP – Hypertext Preprocessor (similar cu GNU ce reprezinta abrevierea de la GNU’s Not...

Curs 2 - PHP

Variabila reprezinta un identificator la o locatie de memorie si se foloseste pentru stocarea, prelucrarea si stergerea datelor. Variabilele in...

Te-ar putea interesa și

Arhitectura calculatoarelor

Scopul lucrării a) Elemente de limbaj de asamblare. b) Instructiuni de transfer. c) Instructiuni aritmetice. Desfășurarea lucrării...

Transferul parametrilor către subrutina ASM - Chemarea subrutinei ASM în C

Scopul lucrării: - Studierea principiilor de scriere a programelor in limbajul C. Definirea functiei main si a functiilor de preluare a...

Programarea Microcontrollerelor în Limbaj de Asamblare

1. Denumirea lucrarii: Programarea microcontrollerelor in limbaj de asamblare 2. Obiectivele lucrarii - Familiarizarea cu un cross assembler -...

Microprocesoare

1)initiarea in programare ASM. 2)stodierea modului periferic GPIO. Problema: Sa se dezvolte o aplicatie care ar permite trecerea starii unui led...

Microprocesoare

Scopul lucrării: De a se lua cunostinta cu modul de programare asembler prin efectuarea unui program simplu Sarcina lucrarii: Să se proiecteze un...

Tastatura 4x4. mixarea limbajului C cu Assembler

Scopul lucrarii: 1) Initierea in programarea microconttrolere in limbajul C. 2) Programe cu intreruperi in limbajul C. 3) Mixarea codului...

Programarea în limbaj de asamblare a microprocesoarelor

Lucrarea de laborator nr.1 Utilizarea macroasamblorului TASM şi a depanatorului TD Etapele dezvoltării unui program în limbajul de asamblare...

Ai nevoie de altceva?