ICM divne chovani

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: ICM divne chovani

Re: ICM divne chovani

od blabla » 29. 12. 2010 17:11

Schiroo píše:Kontrolovat se budou předpokládám vygenerované instrukce a výstup programu. Doufám, že u instrukcí nebudou lpět na tom, aby byly přesně totožné, jako ty jejich, ale stačí aby byly funkčně ekvivalentní (prohození operandů při násobení apod.). Vzorové soubory .icmout jsou u testovacích dat.
ked sa pozries do tych vysledkov autotestov tak tam vsade mas:
Compiler output diffs

Canonical dump diffs

Run output diffs

cize to po poradi myslim znamena ze sa kontroloju .out, .stcd a .icmout. .moa ich tym padom vobec nezaujima ak dobre chapem, riesilo sa to aj tu na fore minuly rok

Re: ICM divne chovani

od Schiroo » 29. 12. 2010 16:25

Kontrolovat se budou předpokládám vygenerované instrukce a výstup programu. Doufám, že u instrukcí nebudou lpět na tom, aby byly přesně totožné, jako ty jejich, ale stačí aby byly funkčně ekvivalentní (prohození operandů při násobení apod.). Vzorové soubory .icmout jsou u testovacích dat.

Re: ICM divne chovani

od faymon » 29. 12. 2010 14:43

Armi píše:Skus spustit v ICM s tymi testovacimi prikladmi.
Pustil jsem to na jejich .mo a obdržel jsem "302820ahoj lidi13". Zajímavé. Jak vyrobím vlastní .mo, tak jsem tam kde jsem byl, assertion failed.
Tak možná.. oni na ten zásobník už něco dali? Číst se to .mo moc nedá, ale ten jejich soubor je větší než ten můj. Já tam nic nedal, to bych možná měl, ale zase se mi nezdá že by se to nedokázalo vypořádat s prázdným zásobníkem.
Co se vlastně bude kontrolovat, našel jsem v poznámkách že nějaké soubory .icmout, ty seženu kde? Kdyby teda čistě hypoteticky icm začalo pracovat.

Re: ICM divne chovani

od Armi » 29. 12. 2010 07:54

Skus spustit v ICM s tymi testovacimi prikladmi. ICM spadne ked je chyba vo vstupe, debugovat sa to neda, najlepsie je vygenerovat assemlerovy kod a z malych testovacich prikladoch zistit co je veci. Mne inak ICM nefunguje ani na du5test2, vrati mi Requested bad value type on IP=27.

Re: ICM divne chovani

od faymon » 29. 12. 2010 00:19

blabla píše:ja to pustam vo VS2010, normalne som si otvoril dany solution a cez properties toho projektu som nastavil command line arguments na:
"vstupny subor" stack
Tak to děláš to stejný co já, akorát já to dělám na řádce.
blabla píše:inak velmi nerozumiem co ma znamenat "mam max tak assertion failed".
No ten icm.exe se nepustí, spadne to. Už jsem z toho vytřískal windows hlášku co to po mně vůbec chce, je to "This application has requested the Runtime to terminate it in an unusual way." Nejspíš nějaký problém s MSVCIRT.DLL. Tuhle hlášku jsem ale dostal i když jsem se v dú4 pokusil projít vektor odzadu, tj od end() do begin(). Vyřešilo to použít na to reverse. Tak jestli to nejsou problémy s knihovnama, tak je asi možný že to dělá něco v tom icm projektu.
Tenhle úkol je opravdu na infarkt, s žádným projektem jsem zatím neměl problémy s přeložením a tady jsem se za celý tři dny nedostal ani k blbýmu .icmout abych si to zkontroloval. :evil:

Re: ICM divne chovani

od blabla » 28. 12. 2010 23:44

faymon píše:Jenom taková technická, jak to pouštíte?
Já pouštím icm.exe du5.mo stack, mám max tak asserion failed. Nic jsem nepřidával za instrukce zatím, pouze jsem vzal projekt icm, přeložil a vyrobil si v projektu mlc ten .mo soubor. To to pouštím nějak blbě nebo jim to opět nefunguje?

ja to pustam vo VS2010, normalne som si otvoril dany solution a cez properties toho projektu som nastavil command line arguments na:
"vstupny subor" stack

a potom to spustil cez ctrl f5, vstupny subor je v uvodzovkach lebo som tam mal k nemu celu cestu a boli v nej nejake medzery.

inak velmi nerozumiem co ma znamenat "mam max tak assertion failed".

Re: ICM divne chovani

od tomm » 28. 12. 2010 22:47

OT: Pozor, v plánu je odstávka SISu od středeční 18. hodiny až do čtvrteční půlnoci, tedy v době deadlinu 5. úkolu! :(

Re: ICM divne chovani

od Armi » 28. 12. 2010 20:37

Mne zase pre zmenu icm nevracia ziadny vystup, ked dam napr. writei(5). Co robim zle? Spustam rovnako ako kolega vyssie.

Re: ICM divne chovani

od faymon » 28. 12. 2010 20:19

Jenom taková technická, jak to pouštíte?
Já pouštím icm.exe du5.mo stack, mám max tak asserion failed. Nic jsem nepřidával za instrukce zatím, pouze jsem vzal projekt icm, přeložil a vyrobil si v projektu mlc ten .mo soubor. To to pouštím nějak blbě nebo jim to opět nefunguje?

Re: ICM divne chovani

od blabla » 28. 12. 2010 16:47

sprava sa to u mna uplne rovnako, no nemyslim ze osetrenie toho aby sa to spravalo korektne patri do du5...

Re: ICM divne chovani

od vidlak » 28. 12. 2010 16:34

Chova se to podobne jako Pascal, takze v pripade zapisu nebo cteni mimo hranice pole je nedefinovany chovani programu a zalezi jenom na tom, co se zrovna prepsalo (muze se stat, ze si prepises telo prave vykonavaneho programu a to pak dela zajimavy veci).

Napr. pokud bys mel:

Kód: Vybrat vše

program test;
        var 
                i : integer;
                arr1 : array[1..1] of integer;
begin   
        arr1[0] := 1;
end. 
, tak by ti to tu 1 melo zapsat do promene i.

ICM divne chovani

od fari » 27. 12. 2010 23:46

Narazil jsem na imho podivne chovani icm, k vstupu:

Kód: Vybrat vše

program test;
        var 
                arr1 : array[1..1] of integer;
begin   
        arr1[0] := 1;
end.
nageneruju vystup s instrukcemi:

Kód: Vybrat vše

Functions and procedures
READI:INTEGER   [0;2], used registers=0
READR:REAL      [3;5], used registers=0
READS:STRING    [6;8], used registers=0
WRITEI(P:INTEGER [size=1;stkoffs=-1])   [9;11], used registers=0
WRITER(P:REAL [size=1;stkoffs=-1])      [12;14], used registers=0
WRITES(P:STRING [size=1;stkoffs=-1])    [15;17], used registers=0
WRITELN [18;19], used registers=0
TEST    [20;29], used registers=0
        VAR
                ARR1:INTEGER[start=20;end=20;size=1;stkoffs=0]

Instructions
READI:
0:      FNCREADI
1:      LSTI    [-1]
2:      RET
READR:
3:      FNCREADR
4:      LSTR    [-1]
5:      RET
READS:
6:      FNCREADS
7:      LSTS    [-1]
8:      RET
WRITEI:
9:      LLDI    [-1]
10:     FNCWRITEI
11:     RET
WRITER:
12:     LLDR    [-1]
13:     FNCWRITER
14:     RET
WRITES:
15:     LLDS    [-1]
16:     FNCWRITES
17:     RET
WRITELN:
18:     FNCWRITELN
19:     RET
TEST:
20:     INITI
21:     LDLITI  LITINT[0]
22:     GREF    [0]
23:     LDLITI  LITINT[1]
24:     ADDP
25:     LDLITI  LITINT[0]
26:     SUBP
27:     XSTI
28:     DTORI
29:     HALT
a icm misto aby spadlo / vypsalo nejake nesmysli, tak se proste zacykli

dela vam to taky nekomu?

Nahoru