Elikkäs hello world esimerkki tekemälläni headache kielellä...
Lähdekoodit ja binääri löytyy osoitteesta http://koodataan.aineissa.com/headache
EDIT: näköjään otsikko meni väärin voisiko joku korjata?
Eri merkkien Ascii desimaalikoodi sekä tapahtuma millä saadaan ne aikaseksi (last kuvaa edellisestä laskutoimituksesta tullutta arvoa) Dec Asc Bf 10 <LF> A 72 H (10*7)+2 101 e (10*10)+1 108 l +7 108 l output again 111 o +3 push to stack 32 < > (last / 3) - 2 87 W (last * 2) + F + 8 111 o return stack 114 r last + 3 108 l last - 6 100 d last - 8 33 ! last / 3 10 <LF> A Here is code and some comments. [ ohjelman alku A: muistin [0] arvo asetetaan A:ksi eli 10 desimaalina @7v@A*2: nollataan muisti [0] lisätään 7 ax rekisterin arvoksi muisti[0] nollataan taas muisti[0] arvoksi A eli 10 muisti[0] on muisti[0] * ax lisätään muisti [0] 2 @Av@A*+: p0 = 0; p0 = A; ax = p0; p0 = 0; p0 = A; p0 * ax; p0 + 1; output; voidaan päätellä jo mitä tässä tehdään 7:: p0 + 7; output; output; 3: p0 + 3; output; p>3v</>2v<&: push p0; p = 1; p1 = 3; ax = p1; p = 0; p0 / ax; p = 1; p1 + 2; ax = p1; p = 0; p0 - ax; output; ensimmäisenä työnnetään pinoon muisti [0] arvo >@2v<*F8: p = 1; p1 = 0; p1 = 2; ax = p1; p = 0; p0 * ax; p0 + F; p0 + 8; output; @r: p0 = 0; pop p0; output; haetaan pinosta muisti [0]:n 3: p0 - 3; output; >4v<&: p = 1; p1 + 4; ax = p1; p = 0; p0 - ax; output; muut voidaan jo päätellä >2v<&: p = 1; p1 + 2; ax = p1; p = 0; p0 - ax; output; >@3v</: p = 1; p1 = 0; p1 = 3; ax = p1; p = 0; p0 / ax; output; @A: p0 = 0; p0 = A; output; ] end; valmis koodi [A:@7v@A*2:@Av@A*+:7::3:p>3v</>2v<&:>@2v<*F8:@r:3:>4v<&:>2v<&:>@3v</:@A:] valmis koodi käytettäväksi (huom ainoastaan [koodi ] tiedostoon)
Aihe on jo aika vanha, joten et voi enää vastata siihen.