Asamblarea și Însușirea Programelor

Laborator
8/10 (1 vot)
Conține 3 fișiere: doc
Pagini : 23 în total
Cuvinte : 3249
Mărime: 42.67KB (arhivat)
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Colesnic Liviu
Laboratoare Asamblarea si Insusirea Programelor: 1, 2, 4

Extras din laborator

1. Scopul lucrarii:

a) Însuşirea ciclului întreg de asamblare a programelor.

b) Însuşirea sistemelor de comenzi şi metodele de adresare a operanţilor procesoarelor în regim real cu ajutorul lui Turbo Debugger.

2. Efectuarea lucrarii:

a1) Codul sursă al programului cu directive simplificate

de segmentare:

title Program_EXE

DOSSEG

.MODEL small

.STACK 512

; segmentul de date

.DATA

cr equ 10

lf equ 13

Lista1 DB ‘Programul a fost efectuat’,lf,cr,’$’

;segmentul de program (cod)

.CODE

;punctual de intrare

Program_Start:

mov ax,@DATA

mov ds,ax

mov dx,offset Lista1

mov ah,09h

int 21h

;sfirsim programul cu reluare

;in sistemul de operare

mov ah,4ch

int 21h

END Program_Start

a2) Teorie:

La culegerea codului sursă al programului de pe tastatura pot fi utilizate atît caracterele mari cît şi mici;

Prima directivă din textul programului-Title –dă posibilitatea de a-i acorda programului un titlu de text. Programul este alcătuit din trei segmente: de stivă, date şi programe.

Segmentarea este realizată de directivele: stack, data şi code. Directiva stack n alocă o zonă avînd lungimea n şi care este segmentul de stivă, “.stack 512” va aloca un segment de lungimea 512 octeţi sau (200h).

Dacă scriem o procedură ce va fi apelată dintr-un limbaj evaluat, atunci segmentul de stivă va fi declarat de cătreprogramul apelator, “.DATA” ea semnalizează despre începutul segmentului de date iniţializate din program, dar mai iniţial e necesar de utilizat directive Model În DOS sunt posibile şase modele de memorie. Prin model noi înţelegem de fapt un mod de dispunere în memoria RAM a segmentelor care alcătuiesc un program:

foarte mic- model tiny LP+LD+LS<64Ko

mic-model small LP<64Ko şi LD+LS<64Ko

mediu-model medium 64Ko<=LP<1Mo şi LD+LS<1Mo

compact-compact LP<64Ko şi 64Ko<=LD+LS<1Mo

mare-large 64Ko<=LP<1Mo şi 64Ko<=LD+LS<1Mo

foarte mare-huge ,

directiva Model trebuie plasată înaintea directivelor stack, code, data.

Directiva code determină începutul codului de program. Inişial e necesar de utilizat directiva Model pentru determinare modelului de memorie. La code se poate de inclus şi un parametru „nume” pentru model mare sau mediu. Simbolul @data primeşte adresa segmentului de date.

Programul, de obicei, constă din proceduri ce sporeşte gradul de concretizare a programului. Procedurile sunt anunţate de catre directiva PROC si sunt închise cu directiva ENDP. înaintea ambelor este indicat un parametru -numele procedurii.

De exemplu: DELAY PROC NEAR

;instrucşiunile procesorului

ret

DELAY ENDP

În continuare este utilizată una din funcţiile de serviciu al întreruperii 21h-09h (afişarea mesajului pe ecranul display-ului.). Aceasta funcţie necesită ca în registrul AH să fie încarcat numărul funcţiei apelate:

mov ah,09h

în registru DS:DX se încarcă adresa mesajului ce va fi afişat:

mov DX, offset Lista1

şi este apelată întreruperea 21h:

int 21h

Mai menţionăm faptul că mesajul ce trebuie afişat cu ajutorul acestei funcţii trebuie să se sfîrşească cu caracterul ‚$’

Textul programului se încheie cu apelul funcţiei 4ch, ce îndeplineşte funcţia de revenire la sistemul de operare DOS.

Directiva END din sfîrşitul programului sfîrşeşte asamblarea programului.

Preview document

Asamblarea și Însușirea Programelor - Pagina 1
Asamblarea și Însușirea Programelor - Pagina 2
Asamblarea și Însușirea Programelor - Pagina 3
Asamblarea și Însușirea Programelor - Pagina 4
Asamblarea și Însușirea Programelor - Pagina 5
Asamblarea și Însușirea Programelor - Pagina 6
Asamblarea și Însușirea Programelor - Pagina 7
Asamblarea și Însușirea Programelor - Pagina 8
Asamblarea și Însușirea Programelor - Pagina 9
Asamblarea și Însușirea Programelor - Pagina 10
Asamblarea și Însușirea Programelor - Pagina 11
Asamblarea și Însușirea Programelor - Pagina 12
Asamblarea și Însușirea Programelor - Pagina 13
Asamblarea și Însușirea Programelor - Pagina 14
Asamblarea și Însușirea Programelor - Pagina 15
Asamblarea și Însușirea Programelor - Pagina 16
Asamblarea și Însușirea Programelor - Pagina 17
Asamblarea și Însușirea Programelor - Pagina 18
Asamblarea și Însușirea Programelor - Pagina 19
Asamblarea și Însușirea Programelor - Pagina 20
Asamblarea și Însușirea Programelor - Pagina 21
Asamblarea și Însușirea Programelor - Pagina 22
Asamblarea și Însușirea Programelor - Pagina 23

Conținut arhivă zip

  • Asamblarea si Insusirea Programelor
    • lab_asm_1.doc
    • lab_asm_2.doc
    • lab_asm_4.doc

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 "...

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...

Programe în C++

1. /* sa se scrie un program care cere introducerea unei cifre de la tastatura si afiseaza ziua corespunzatoare cifrei introduse, folosindu-se...

C++

/* Sa se scrie un program care citeste 2 numere intregi de la tastatura si testeaza daca suma celor doua numere este egala cu cea introdusa de la...

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

Roboți industriali

CAPITOLUL 1 Prezentarea generală a roboţilor industriali 1.1 Descrierea roboţilor industriali Actualmente, mediile industriale trebuie să...

Producerea Importul Comercializarea sau Punerea Ilegală la Dispoziție a Mijloacelor Tehnice sau Produselor Program

Introducere Etapa actuală de dezvoltare a Republicii Moldova, ca stat suveran, independent, democrat şi de drept, se caracterizează prin...

Sisteme de securitate în rețele de calculatoare

1. Introducere in retelele cu acces la Internet TIPURI DE RISCURI - VEDERE GENERALA Conectarea unui sistem de calcul la Internet il expune la...

Imaginea și specificul produsului turistic național pe piața internațională

Introducere PRODUSUL TURISTIC este rezultatul activitatii unei echipe de specialisti care functioneaza in spatele prestatyorilor de servicii ;...

E-Learning

A. eLEARNING – O NOUĂ PARADIGMĂ Cele mai durabile şi mai eficiente inovaţii sunt acelea pe care beneficiarul le-a asimilat, adică le-a adoptat...

Proiectarea Manipulatorului Robotului Industrial

1. Schema cinematica a manipulatorului Schema cinematica reprezinta succesiunea si combinarea articulatiilor si elementelor de miscare a...

Sisteme cu Microprocesoare

Structura generala a unui sistem cu microprocesor pentru conducerea proceselor Sistem cu microprocesor (SMP) Caracterizare din punct de vedere...

Kinetologie. Masaj. Musculatie

Curs Kinetologie Curs cu Dr Aura Bota Kinetologia include un nucleu de informatii este stinta – teoria generala a miscari Domenii in care...

Ai nevoie de altceva?