This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
teme:tema-2 [2015/12/03 11:05] catalin.vasile3004 [Resurse ajutătoare] |
teme:tema-2 [2015/12/19 15:39] (current) catalin.vasile3004 [Tema 2] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Tema 2 ====== | ====== Tema 2 ====== | ||
- | * Deadline Soft: Luni, 16.12.2015 23:55 | + | * Deadline Soft: Vineri, 19.12.2015 23:55 |
* Deadline Hard: Miercuri, 6.01.2016 23:55 | * Deadline Hard: Miercuri, 6.01.2016 23:55 | ||
* Data publicării: 3.12.2015, 00:09 | * Data publicării: 3.12.2015, 00:09 | ||
- | * Data ultimei modificări: 3.12.2015, 00:09 | + | * Data ultimei modificări: 18.12.2015, 22:57 |
* iResponsabili: | * iResponsabili: | ||
* [[catalinvasile92@gmail.com|Cătălin Vasile]] | * [[catalinvasile92@gmail.com|Cătălin Vasile]] | ||
Line 11: | Line 11: | ||
===== Enunț ===== | ===== Enunț ===== | ||
Să se implementeze un program în limbaj de asamblare care simulează calculator cu următoarele operaţii posibile: | Să se implementeze un program în limbaj de asamblare care simulează calculator cu următoarele operaţii posibile: | ||
- | * ‘+’ (adunare) | + | * ''%%+%%'' (adunare) |
- | * ‘*’ (înmulţire) | + | * ''%%*%%'' (înmulţire) |
- | * ‘<<’ (shiftare la stânga) | + | * ''%%<<%%'' (shiftare la stânga) |
- | * ‘>>’ (shiftare la dreapta) | + | * ''%%>>%%'' (shiftare la dreapta) |
Numerele sunt cu semn şi pot depăşii dimensiunea unui operand cu care poate lucra arhitectura folosită la laborator (i386). | Numerele sunt cu semn şi pot depăşii dimensiunea unui operand cu care poate lucra arhitectura folosită la laborator (i386). | ||
Line 67: | Line 67: | ||
./calc $A op $B | ./calc $A op $B | ||
</code> | </code> | ||
- | **op** trebuie să fie între apostrofe, pentru că bash-ul încearcă să le interpreteze şi expandeze înainte să ajungă la programul vostru. De exemplu: | + | **op** trebuie să fie între apostrofe, pentru că bash-ul încearcă să îl interpreteze şi expandeze înainte să ajungă la programul vostru. De exemplu: |
* '<<' este văzut ca redirectarea cu concatenare | * '<<' este văzut ca redirectarea cu concatenare | ||
* '*' este văzut ca un wildcard care se expandează la o enumerare cu fişierele din folderul curent. | * '*' este văzut ca un wildcard care se expandează la o enumerare cu fişierele din folderul curent. | ||
Line 83: | Line 83: | ||
Temele vor trebui încărcate pe platforma [[https://vmchecker.cs.pub.ro/ui/#IOCLA|vmchecker]] (în secțiunea IOCLA) și vor fi testate automat. Arhiva încărcată va fi o arhivă ''.zip'' care trebuie să conțină: | Temele vor trebui încărcate pe platforma [[https://vmchecker.cs.pub.ro/ui/#IOCLA|vmchecker]] (în secțiunea IOCLA) și vor fi testate automat. Arhiva încărcată va fi o arhivă ''.zip'' care trebuie să conțină: | ||
- | * fișierul sursă ce conține implementarea temei, orice fisier de tip *.asm şi/sau *.inc | + | * fișierele sursă ce conțin implementarea temei: ''Makefile'', ''main.c'', ''macro.c'' și orice fișier de tip ''.asm'' şi/sau ''*.inc'' |
* fișier ''README'' ce conține descrierea implementării | * fișier ''README'' ce conține descrierea implementării | ||
+ | |||
+ | <note tip> | ||
+ | În {{http://elf.cs.pub.ro/asm/res/teme/iocla-tema2-resurse.zip|arhiva de resurse a temei}} puteți folosi fișierul ''Makefile'' pentru crearea arhivei care va fi încărcată pe [[https://vmchecker.cs.pub.ro/ui/#IOCLA|vmchecker]] folosind comanda<code> | ||
+ | make pack | ||
+ | </code> | ||
+ | </note> | ||
Punctajul final acordat pe o temă este compus din: | Punctajul final acordat pe o temă este compus din: | ||
Line 105: | Line 111: | ||
===== Resurse ajutătoare ===== | ===== Resurse ajutătoare ===== | ||
- | * [[laboratoare:laborator-06|Laborator 6]]: vă ajută să vă faceţi o idee de cum sunt reprezentate numerele şi cum se pot face calcule complexe. | + | * [[laboratoare:laborator-06|Laborator 6]]: reprezentare numerică,calcule complexe |
- | * [[laboratoare:laborator-04#breviarapelatul-in-cadrul-unei-functii|Laborator 4]]: Apelarea unei funcţii, parametri pe stivă | + | * [[laboratoare:laborator-04#breviarapelatul-in-cadrul-unei-functii|Laborator 4]]: apelarea unei funcţii, parametri pe stivă |
* Secţiunea de [[:bune-practici|Bune practici]]: compilare, utilizarea funcțiilor din biblioteci pe diverse platforme, erori des întâlnite. | * Secţiunea de [[:bune-practici|Bune practici]]: compilare, utilizarea funcțiilor din biblioteci pe diverse platforme, erori des întâlnite. | ||
Line 120: | Line 126: | ||
===== Resurse ===== | ===== Resurse ===== | ||
- | Arhiva ce conține checker-ul(TODO), testele(TODO) și fișierele de la care puteți începe implementarea este {{:teme:iocla-tema2-resurse.zip|aici}}. | + | |
+ | Arhiva ce conține checker-ul, testele și fișierele de la care puteți începe implementarea este {{http://elf.cs.pub.ro/asm/res/teme/iocla-tema2-resurse.zip|aici}}. |