Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




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

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

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

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:

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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




Copyright © 2024 - Toate drepturile rezervate