Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Satisfactia de a face ce iti place. tutorial, lectii online, solutii simple, exmeple, programe, C++

Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

C


Index » educatie » » informatica » C
Realizarea unui program mixt (C si asamblare)


Realizarea unui program mixt (C si asamblare)


LABORATOR NR. 9

1.    Realizarea unui program mixt (C si asamblare) pentru adunarea a doua numere, folosind o functie scrisa in asamblare si apelata in programul principal din fisierul scris in limbaj C.

//fisierul testc.c

#include <stdio.h>

#include <conio.h>

int x,y;

void citeste(void)

void afiseaza(int s)

void main()

//fisierul testa.asm

.model small

.stack 100

.code

public _rez

_rez proc near

push bp

mov bp,sp

mov ax,[bp+4]

add ax,[bp+6]

pop bp

ret

_rez endp

end

Pasi care trebuie urmati pentru obtinerea programului executabil sunt:

a)    compilarea fisierului C

bcc -ms -c -Ic:borlandcinclude testc.c

optiuni:

-ms = moddel small

-mm = model mediu

-mc = model compact

-ml = model large


b)   asamblarea fisierului asm

tasm testa.asm/ml


c)    legarea celor doua fisiere

tlink c:borlandclibc0s testc testa, testc,,c:borlandclibcs

optiuni:

../c0s si ../cs = model small

../c0m si ../cm = model mediu

../c0c si ../cc = model compact

../c0l si ../cl = model large


d)   se executa fisierul .exe

testc.exe

2.    Realizarea unui program mixt (C si asamblare) pentru adunarea a doua numere, folosind o functie scrisa in asamblare care apeleaza o functie ce realizeaza suma scrisa in C apoi functia din asamblare este apelata in programul principal din fisierul scris in limbaj C.

//fisierul test1c.c

#include <stdio.h>

#include <conio.h>

int x,y;

void citeste(void)

void afiseaza(int s)

int f(int x,int y)

void main()

//fisierul test1a.asm

.model small

.stack 100

.code

public _rez

extrn _f:near

_rez proc near



push bp

mov bp,sp

mov ax,[bp+4]

push ax

mov ax,[bp+6]

push ax

call near ptr _f

add sp,4

pop bp

ret

_rez endp

end

3.    Realizarea unui program care aduna 2 numere intregi folosind blocuri asm intr-un fisier C. Compilarea fisierului se face obisnuit in C.

#include <stdio.h>

#include <conio.h>

int x,y,v;

void citeste(int a, int b)

void afis(int s)

void main()

afis(v);

getch();

}

Teme pentru studiul individual:

1)      Sa se scrie un program mixt pentru calculul unei expresii de forma E=x+y*z-|x-z|. Programul principal sa fie scris in C, iar in asamblare sa se scrie o procedura care calculeaza expresia E. Citirea valorilor x,y,z si afisarea expresiei E sa se faca in programul principal scris in C.

2)      Sa se scrie un program mixt pentru calculul unei expresii de forma E=x+y*z-|y+10|. Programul principal sa fie scris in C, iar in asamblare sa se scrie o procedura care calculeaza expresia E. Citirea valorilor x,y,z si afisarea expresiei E sa se faca in programul principal scris in C.

3)      Sa se scrie un program mixt pentru calculul unei expresii de forma E= x-y+|x-|y||. Programul principal sa fie scris in C, iar in asamblare sa se scrie o procedura care calculeaza expresia E. Citirea valorilor x,y,z si afisarea expresiei E sa se faca in programul principal scris in C.

4)      Sa se scrie un program mixt pentru ordonarea crescatoare a unui sir de octeti. Programul principal sa fie scris in C, iar in asamblare sa se scrie o procedura care ordoneaza crescator un sir. Citirea valorilor sirului si afisarea sirului ordonat sa se faca in programul principal scris in C folosind doua functii una de citire a elementelor sirului si alta de afisare.

5)      Sa se scrie un program mixt pentru ordonarea descrescatoare a unui tablou de cuvinte. Programul principal sa fie scris in C, iar in asamblare sa se scrie o procedura care ordoneaza descrescator un tablou. Citirea valorilor tabloului si afisarea tabloului ordonat sa se faca in programul principal scris in C folosind doua functii una de citire a elementelor tabloului si alta de afisare.

6)      Sa se scrie un program mixt pentru determinarea maximului unui sir de cuvinte. Programul principal sa fie scris in C, iar in asamblare sa se scrie o procedura care determina maximul unui sir. Citirea valorilor sirului si afisarea maximului sa se faca in programul principal scris in C folosind doua functii una de citire a elementelor sirului si alta de afisare a maximului.

7)      Sa se scrie un program mixt pentru determinarea minimului unui sir de octeti. Programul principal sa fie scris in C, iar in asamblare sa se scrie o procedura care determina minimul unui sir. Citirea valorilor sirului si afisarea minimului sa se faca in programul principal scris in C folosind doua functii una de citire a elementelor sirului si alta de afisare a minimului.

8)      Sa se scrie un program mixt pentru calcularea mediei aritmetice a unui sir de octeti. Programul principal sa fie scris in C, iar in asamblare sa se scrie o procedura care calculeaza media aritmetica a unui sir. Citirea valorilor sirului si afisarea mediei sa se faca in programul principal scris in C folosind doua functii una de citire a elementelor sirului si alta de afisare a mediei.

9)      Sa se scrie un program mixt pentru calculul unei expresii de forma E=x+y*z-|x-z|. Programul sa fie scris in C folosind blocuri asm pentru calcularea expresia E. Citirea valorilor x,y,z si afisarea expresiei E sa se faca folosind o functie de citire a 3 valori.

10)  Sa se scrie un program mixt pentru calculul unei expresii de forma E=x+y*z-|y+10|. Programul sa fie scris in C folosind blocuri asm pentru calcularea expresia E. Citirea valorilor x,y,z si afisarea expresiei E sa se faca folosind o functie de citire a 3 valori.

11)  Sa se scrie un program mixt pentru calculul unei expresii de forma E= x-y+|x-|y||. Programul sa fie scris in C folosind blocuri asm pentru calcularea expresia E. Citirea valorilor x,y,z si afisarea expresiei E sa se faca folosind o functie de citire a 3 valori.

12)  Sa se scrie un program mixt pentru ordonarea crescatoare a unui sir de octeti. Programul sa fie scris in C folosind blocuri asm pentru ordonarea sirului. Citirea valorilor sirului si afisarea sirului ordonat sa se faca folosind doua functii una de citire a elementelor sirului si alta de afisare.

13)  Sa se scrie un program mixt pentru ordonarea descrescatoare a unui sir de cuvinte. Programul sa fie scris in C folosind blocuri asm pentru ordonarea sirului. Citirea valorilor sirului si afisarea sirului ordonat sa se faca folosind doua functii una de citire a elementelor sirului si alta de afisare.

14)  Sa se scrie un program mixt pentru determinarea maximului unui sir de cuvinte. Programul sa fie scris in C folosind blocuri asm pentru determinarea maximului din sir. Citirea valorilor sirului si afisarea maximului sa se faca folosind doua functii una de citire a elementelor sirului si alta de afisare a maximului.

15)  Sa se scrie un program mixt pentru determinarea minimului unui sir de octeti. Programul sa fie scris in C folosind blocuri asm pentru determinarea minimului din sir. Citirea valorilor sirului si afisarea minimului sa se faca folosind doua functii una de citire a elementelor sirului si alta de afisare a minimului.

16)  Sa se scrie un program mixt pentru calcularea mediei aritmetice a unui sir de octeti. Programul sa fie scris in C folosind blocuri asm pentru determinarea mediei aritmetice a sirului. Citirea valorilor sirului si afisarea mediei sa se faca folosind doua functii una de citire a elementelor sirului si alta de afisare a mediei.







Politica de confidentialitate
C


Access
Adobe photoshop
Autocad
Baze de date
C
Calculatoare
Corel draw
Excel
Foxpro
Html
Internet
Java
Linux
Mathcad
Matlab
Outlook
Pascal
Php
Powerpoint
Retele calculatoare
Sql
Windows
Word

Liste, multimi, arbori, stive, cozi - algoritmi si probleme rezolvate
Constructorul implicit
FUNCTII PENTRU GESTIONAREA RESURSELOR GRAFICE ALE MEDIULUI C++ BUILDER
Utilizarea vectorilor ( tablouri de date in C)
Prezentarea functiei printf
EXPRESII SI INSTRUCTIUNI
CITIREA SI SCRIEREA DATELOR
Programe C++ Teza
Decodificator - cod sursa
Cuvantul cheie this















 
Copyright © 2019 - Toate drepturile rezervate