Difference between revisions of "LU-MOP-MD1"

From DiLab
Jump to: navigation, search
Line 9: Line 9:
Jāizstrādā un jāiesniedz:
Jāizstrādā un jāiesniedz:
# '''Makefile''' - fails, kas ļauj kompilēt jūsu programmu
# '''Makefile''' - fails, kas ļauj kompilēt jūsu programmu
# '''md1.h''' - pirmkoda fails ar funkcijas prototipu, ko iekļaus gan C gan asemblera faili.
# '''md1.h''' - [[#md1.h | pirmkoda fails ar funkcijas prototipu (dots zemāk)]], ko iekļaus gan C gan asemblera faili.
# '''md1.s''' - programmu asemblerā, kas aprēķina aritmētiskās progresijas summu.
# '''md1.s''' - programmu asemblerā, kas aprēķina aritmētiskās progresijas summu.
# '''md1_main.c''' - programmu C valodā, kas izsauc asamblera programmu un padod tai parametru '''n''' un saņem rezultātu, ko izdrukā uz ekrāna.
# '''md1_main.c''' - programmu C valodā, kas izsauc asamblera programmu un padod tai parametru '''n''' un saņem rezultātu, ko izdrukā uz ekrāna.
Line 16: Line 16:


Tātad, jums būs jāizveido md1_main.c programma, kas saņem parametru caur argv[1],
Tātad, jums būs jāizveido md1_main.c programma, kas saņem parametru caur argv[1],
pārveido to par "int", un šis veselais skaitlis jāpadod kā parametrs funkcijai asum(), kas realizēta
pārveido to par "int", un šis veselais skaitlis jāpadod kā parametrs funkcijai '''asum()''', kas realizēta
asemblera kodā, failā md1.s
asemblera kodā, failā md1.s


Line 31: Line 31:


Risinājumu jāiesūta elektroniski.
Risinājumu jāiesūta elektroniski.
Risinājumam ar visiem failiem jābūt uz servera <code>asm1.linux.edu.lv</code> jūsu konta direktorijā md1:
Risinājumam ar visiem failiem jābūt uz servera <code>asm1.linux.edu.lv</code> jūsu konta direktorijā "md1":


~/md1/
~/md1/


Uzskaitītie faili tiks izkopēti no minētas direktorijas MD termiņa beigās.
Uzskaitītie faili tiks izkopēti no minētas direktorijas MD termiņa beigās.
Šajā pašā direktorijā tiks iesūtīts jūsu darba vērtējums.

==md1.h==
md1.h ir "hedera fails", kurā jāiekļauj sekojošs funkcijas prototips:

int asum( int n );


Jautājumus un neskaidrības par MD lūdzu iesūtīt kursa google grupā.
Jautājumus un neskaidrības par MD lūdzu iesūtīt kursa google grupā.

Revision as of 14:25, 18 March 2014

Contents

LU MOP kursa mājas darbs MD1.

MD1

Izveidot programmiņu asemblerā, kas aprēķina aritmētiskās progresijas summu no 1 līdz n ar soli 1.

Skaitlis n tiek padots kā parametrs. Jāizstrādā un jāiesniedz:

  1. Makefile - fails, kas ļauj kompilēt jūsu programmu
  2. md1.h - pirmkoda fails ar funkcijas prototipu (dots zemāk), ko iekļaus gan C gan asemblera faili.
  3. md1.s - programmu asemblerā, kas aprēķina aritmētiskās progresijas summu.
  4. md1_main.c - programmu C valodā, kas izsauc asamblera programmu un padod tai parametru n un saņem rezultātu, ko izdrukā uz ekrāna.

Testējot, parametrs n jāpadod no komandu rindas, līdzīgi kā praktisko darbu piemēros.

Tātad, jums būs jāizveido md1_main.c programma, kas saņem parametru caur argv[1], pārveido to par "int", un šis veselais skaitlis jāpadod kā parametrs funkcijai asum(), kas realizēta asemblera kodā, failā md1.s

Rezultāts jāsaņem atpakaļ C programmā un jāizdrukā, piemēram, ar printf() funkciju. Jāizdrukā tikai skaitlis un rindas beigu simbols '\n'.

Piemērs izsaukumam (tam, kā jūsu programma tiks testēta, tikai ar citiem skaitļiem):

leo@asm1:~/work/md1$>  qemu-arm  ./md1 10
55

Risinājums nedrīkst izmantot reizināšanas instrukcijas!

Risinājumam jābūt testētam, un jādarbojās uz asm1.linux.edu.lv servera (arm platformai, emulācijas režīmā).

Risinājumu jāiesūta elektroniski. Risinājumam ar visiem failiem jābūt uz servera asm1.linux.edu.lv jūsu konta direktorijā "md1":

~/md1/

Uzskaitītie faili tiks izkopēti no minētas direktorijas MD termiņa beigās. Šajā pašā direktorijā tiks iesūtīts jūsu darba vērtējums.

md1.h

md1.h ir "hedera fails", kurā jāiekļauj sekojošs funkcijas prototips:

int asum( int n );

Jautājumus un neskaidrības par MD lūdzu iesūtīt kursa google grupā.