Difference between revisions of "LU-MOP-MD1"
(→md1.h) |
(→MD1) |
||
Line 21: | Line 21: | ||
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'. |
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) |
Piemērs izsaukumam (tam, kā jūsu programma tiks testēta, tikai ar citiem skaitļiem). |
||
leo@asm1:~/work/md1$> qemu-arm |
leo@asm1:~/work/md1$> qemu-arm ./md1 10 |
||
55 |
55 |
||
Vajadzības gadījumā var pievienot lietojamās bibliotēkas ar -L parametru: |
|||
leo@asm1:~/work/md1$> qemu-arm -L /usr/asm... ./md1 10 |
|||
Risinājums '''nedrīkst izmantot reizināšanas''' instrukcijas! |
Risinājums '''nedrīkst izmantot reizināšanas''' instrukcijas! |
Revision as of 11:03, 7 April 2014
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:
- Makefile - fails, kas ļauj kompilēt jūsu programmu
- 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_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 failā md1.main.c būs jāizveido programma main(), kas saņem parametru caur argv[1], pārveido to par int tipa veselu skaitli. Šis 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
Vajadzības gadījumā var pievienot lietojamās bibliotēkas ar -L parametru:
leo@asm1:~/work/md1$> qemu-arm -L /usr/asm... ./md1 10
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, sekojošā veidā.
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 asum() funkcijas prototips, šādi:
int asum( int n );
Ir būtiski pieturēties pie šāda funkcijas prototipa, lai tas būtu vienots ar saskarni, kā to lietos testēšanas programmas.
Jautājumus un neskaidrības par MD lūdzu iesūtīt kursa google grupā.
- (Atpakaļ uz) kursa MOP wiki.