[cpl] [Tema 4] Task 3 - Select

Georgiana Diana geodiana93 at gmail.com
Wed Dec 30 21:39:10 EET 2015


Buna,
In legatura cu adaugarea instructiunii in CplInstrInfoFormat.td, este okay
urmatorul format de definitie:

def INSTRUCTIUNE : Is_xxx, InstCplxxx<...>;

?

In locul lui Is_xx ar putea sa fie Is_Call, Is_Branch, etc. O astfel de
definitie extinde doua clase, nu ?

2015-12-30 21:33 GMT+02:00 Alexandru Guduleasa via cpl <
cpl at cursuri.cs.pub.ro>:

> Pentru a obține instrucțiunea BL, ar trebui să fie suficient task-ul 1.
> Pattern-urile sunt deja adăugate, voi trebuia doar să adăugați
> instrucțiunea.
>
> Pentru testul add.c ar trebui să vezi 2 instrucțiuni de acest tip:
>     [...]
>     bl f
>     bl dump_int
>     [...]
>
> Încearcă să urmărești asamblarea generată pentru funcția cpl_main și ar
> trebui să găseși eroarea.
>
> Spor,
> Alex
>
>
> 2015-12-30 21:16 GMT+02:00 Alexandru Tifrea <alex.tifrea93 at gmail.com>:
>
>> PS: legat de raspunsul tau de pe celalalt thread, apelul indirect (cu
>> CALLR) functioneaza. Am verificat si, de exemplu, pentru testul loop.c se
>> efectueaza inlocuirea lui CALLR cu ce trebuie atunci cand sunt folositi
>> pointeri la functii. In schimb, niciun apel direct nu pare sa se regaseasca
>> in fisierele .s.
>>
>>
>> În data de 30 decembrie 2015, 21:11, Alexandru Tifrea <
>> alex.tifrea93 at gmail.com> a scris:
>>
>>> Mersi de raspunsul prompt :).
>>> Mai am o intrebare, insa: dupa ce am implementat primele 5 task-uri, in
>>> fisierele .s generate nu pare sa fie inclusa vreo instructiune BL. Asta
>>> inseamna ca toate apelurile care nu au argumentul in registru (deci tot ce
>>> nu e CALLR) nu se regaseste in asm-ul care se genereaza. Daca nu ma insel,
>>> nu a trebuit sa facem vreo modificare in legatura cu asta (nu se mentiona
>>> cred nici in enunt nici in TODO-uri). Problema e ca nici nu prea stiu cum
>>> as putea sa abordez debugging-ul pentru a vedea ce cauzeaza problema asta.
>>>
>>> Multumesc,
>>> Alex
>>>
>>> În data de 30 decembrie 2015, 17:20, Alexandru Guduleasa via cpl <
>>> cpl at cursuri.cs.pub.ro> a scris:
>>>
>>>> În cazul selectul-ui, problema poate fi rezolvată direct cu un pattern.
>>>> Se poate observa că un pattern poate mapa o instrucțiune din IR în mai
>>>> multe instrucțiuni mașină (vezi CplBOA).
>>>> Încearcă să găsești o funcție logică pentru rezultatul instrucțiunii
>>>> și să o implementezi folosind instrucțiunile din set.
>>>> Un aspect important îl constituie valorile limitate pe care le poate
>>>> avea primul operand al instrucțiunii select.
>>>>
>>>> Spor
>>>> Alex
>>>>
>>>>
>>>> 2015-12-30 16:22 GMT+02:00 Alexandru Tifrea via cpl <
>>>> cpl at cursuri.cs.pub.ro>:
>>>> > Salut,
>>>> >
>>>> > Am putea primi un hint legat de rezolvarea task-ului 3? Am petrecut
>>>> destul
>>>> > de mult timp incercand sa gasesc o solutie si nu simt ca sunt prea
>>>> aproape
>>>> > de rezultat nici acum :).
>>>> >
>>>> > Mersi,
>>>> > Alex
>>>> >
>>>> > _______________________________________________
>>>> > cpl mailing list
>>>> > cpl at cursuri.cs.pub.ro
>>>> > http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/cpl
>>>> >
>>>> _______________________________________________
>>>> cpl mailing list
>>>> cpl at cursuri.cs.pub.ro
>>>> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/cpl
>>>>
>>>
>>>
>>
>
> _______________________________________________
> cpl mailing list
> cpl at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/cpl
>
>


-- 
*Georgiana Diana Ciocirdel*
Polytechnic University of Bucharest,
Computer Science
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/cpl/attachments/20151230/e616ce5d/attachment.html>


More information about the cpl mailing list