snake
$ mkdir snake
$ cd snake
$ 1521 fetch snake
snake.c
snake.s
snake.c
o
@
#
.@…………. …………… …………… …………… …………… …………… …………… ….ooo#……. …………… …………… …………… …………… …………… …………… ……………
$ dcc snake.c -o snake $ ./snake
was d
$ stty -echo -icanon min 1; ./snake; stty sane
:evitcaretni erom gnihtemos yrt ot ekil dluow uoy fi )lanimret ruoy tespu yldab osla yam ti hguohtla( noitatnacni siht ekil gnihtemos yrt osla dluoc uoY .krow slanimret yaw eht fo kriuq suoiruc rehtar a si sihT .retne sserp ot deen lliw uoy ,evom ruoy epyt uoy retfA
:sdnammoc eseht gninnur yb edoc dedivorp eht hctef dna ,yrotcerid siht ot egnahc , dellac tnemngissa siht rof yrotcerid wen a etaerC
00 00 11 82-60-1202 :detadpu tsal 0.1 :noisrev
:lanimret a ni tuo ti yrt ,emag siht rof leef a teg oT
!ykcirt ylgnisaercni emoceb flesti otni gninnur ro draob eht ffo gnillaf ton ,sesaercni htgnel s’ekans eht sa ¡ª ydob nwo sti otni snur ekans eht ro ,draob eht fo segde eht fo eno ffo sllaf ekans eht rehtie nehw ylno sdne emag ehT
.llec ytpme modnar a ni dedda si eno wen a ,dirg eht no elppa on s’ereht fI .sevom eerht txen eht revo stnemges eerht sniag dna ,ti semusnoc ekans eht ,) detoned( elppa na revo sevom daeh s’ekans eht fi ,os ]dedeen noitatic[selppa ekil sekanS !selppa :dirg eht no oslA
.si tnemges daeh-non tsrif eht erehw si noitcerid detseuqer eht fi evom t’now ekans ehT .ylevitcepser ,tsae ro ,htuos ,tsew ,htron rehtie dirg eht no pets eno evom lliw ekans eht , ro , , , fo eno sretne resu eht nehW
.dirgehtdnuoraevomnacdna,) (stnemges ydobforebmunadna,) (daehafopuedamsiekansehT.dirg51¡Á51anodeyalpsiekanS .emag eht fo strap yek eht lla ees nac uoy erehw ,thgir eht ot emag a fo etats gnitrats ehT
!ekanS emag oediv cissalc eht fo noitatnemelpmi na si !ekanS :c.ekans
.etelpmoc ot elif ylbmessa buts a : dna ,C ni ekanS fo noitatnemelpmi na :
:yrotcerid eht otni selif gniwollof eht dda lliw sihT .elif rat a ro elif piz a sa selif dedivorp eht daolnwod nac uoy ,ESC ta gnikrow ton er’uoy fI
SPIM ni serutcurts lortnoc dna atad htiw ecneirepxe uoy evig ot edoc ylbmessa SPIM gnitirw ecneirepxe uoy evig ot
!ekanS ,ekans :1 tnemngissA
detratS gnitteG
smiA
main
init_snake
update_apple
update_snake
move_snake_in_grid
move_snake_in_array
snake.c
snake.s
snake.s
snake.c
$ dcc snake.c -o snake
$ echo “wwwwwwwaaaaaa” > input
$ cat input | ./snake | tee c.out
$ cat input | 1521 spim -f snake.s | tee mips.out $ diff -s c.out mips.out
Files c.out and mips.out are identical
#define
int8_t LW SW
LB SB
=
=
=
N_COLS
N_ROWS
MAX_SNAKE_LEN
15
15
N_COLS * N_ROWS
int
$a0 $a3
$ra
; … sretsiger ni dessap eb llahs stnemugra noitcnuf taht
:snoitnevnoc gnillac SPIM tnatropmi eseht wollof ton od taht stnemngissa rof ytlanep ssentcerroc a eb lliw erehT
. erotser dna evas ot kcats eht esu ton od taht stnemngissa rof ytlanep ssentcerroc a eb lliw erehT
.)buhtiG ,.g.e( ecruos enilno na morf noitulos a ypoc ton yam uoY
.tuptuo delipmoc timbus ton yam uoY .segaugnal rehto ni edoc timbus ton yam uoY .nettirw evah flesruoy uoy hcihw ,ylbmessa SPIM nettirw-dnah eb tsum edoc dettimbus ruoY
.elbissop sa snoitpmussa wef sa ekam dluohs uoy ,sremmargorp doog lla ekiL snoitacifiralC dna snoitpmussA
.snoitcurtsni dna eht esu ot deen lliw uoy ,sepyt roF .snoitcurtsni dna eht esu ot deen lliw uoy ,sepyt roF .elbairav labolg hcae fo sepyt eht fo eton luferac ekaT
:tnereffid tib a si xatnys ehT .C ni ekil tahwemos stnatsnoc gninifed stroppus MIPS .seno regral eht otno gnivom erofeb snoitcnuf rellams eht tnemelpmi ot reisae ti dnif yam uoY stniH
.MIPStQ ni ro MIPS ni edoc ruoy gninnur referP .KO si edoc ruoy erusne ot skcehc emos era ereht hguohtla ,tnemngissa siht ni lufpleh sa ton si tsetotuA no gniyler taht dnif yam uoY
:elpmaxe rof ¡ª meht erapmoc neht dna ,tuptuo devresbo tcelloc ot noitatnemelpmi ylbmessa ruoy nur ,tuptuo detcepxe eht tcelloc ot ti nur ,noitatnemelpmi C dedivorp eht elipmoc nac uoy ,noitatnemelpmi ruoy tset oT
:ylbmessa SPIM ni snoitcnuf dehsinifnu gniwollof eht tnemelpmi ot evah ylno uoY .uoy rof ylbmessa SPIM ot detalsnart neeb ydaerla evah snoitcnuf ytilitu fo lufdnah A
dedivorp eht hguorht daeR .
.
sa emas eht yltcaxe setucexe ti os ylbmessa SPIM dda neht ,ylluferac edoc ni noitamrofni lufpleh emos dna ylbmessa emos htiw dedivorp neeb evah uoY
.sevom tupni fo secneuqes tnereffid rof siht yrT
.ylbmessa SPIM ni tnemelpmi ot si tnemngissa siht ni ksat ruoY tnemngissA ehT :s.ekans
.tnemngissa eht fo trap txen eht rof deen ll’uoy hcihw ¡ª gniod si margorp eht tahw dnatsrednu uoy pleh dluohs hcihw ti tuohguorht stnemmoc era erehT . hguorht daer dluohs uoY
dna ,
,
,
,
,
$ 1521 autotest snake snake.s
1521 autotest
give give
autotest
$s0 $s9
$ give cs1521 ass1_snake snake.s
give
autotest
give
$ COMP1521 classrun -check ass1_snake
.stset fo seires egral a no edoc ruoy fo ecnamrofrep eht morf emoc lliw 1 tnemngissa rof skram eht fo %08 .kram 1251PMOC lanif ruoy ot skram 51 etubirtnoc lliw tnemngissa sihT emehcS tnemssessA
.emit taht ta eveihca nac ti kram mumixam eht ,%07 dedrawa eb dluow ti ,etal sruoh 51 dettimbus saw tnemngissa emas eht fI .tceffe on evah dluow noissimbus etal eht ,etal sruoh 01 dettimbus saw %47 htrow tnemngissa na fi ,elpmaxe roF .%2 yb eveihca nac ti kram mumixam eht secuder etal si ti ruoh hcae ,etad siht retfa dettimbus si tnemngissa ruoy fI
.ecafretni bew s’evig aiv elbaliava eb osla lliw kram gnitluser ehT ;ereh stluser ruoy weiv nac uoy ,krow ruoy dessessa sah rotut ruoy retfA .woleb noitces tnemssessA eht ni debircsed sa ,ytilibadaer dna elyts rof kram lliw ohw ,rotut ruoy yb enod eb lliw gnikram launaM
.nwo ruoy yleritne eb tsum htiw timbus uoy krow eht ,esicrexe laudividni na si siht taht etoN .tnemngissa siht rof skram eht niatbo ot 00 00 12 yadsendeW 7 keeW erofeb nur tsum uoY
snur
.uoy rof esoht ot stset fo tesrepus a gnisu ,enildaed noissimbus eht retfa rerutcel eht yb nur eb lliw gnikramotuA
.00 00 12 yadsendeW 7 keeW eud si tnemngissa sihT etaD euD
:htiw srevres ESC no noissimbus tsetal ruoy kcehc nac uoY .srerutcel ro srotut ot edoc ruoy gniliam-e yb skram niatbo tonnac uoY .ecafretni bew s’evig aiv krow ruoy daolpu ot tneinevnoc erom ti dnif yam uoy ,emoh ta gnikrow era uoy fI .dekram eb lliw noissimbus tsal ruoy ylnO
.ereh dettimbus evah uoy selif eht kcehc nac uoY
: gninnur yb krow ruoy timbus tsum uoy ,tnemngissa eht no gnikrow dehsinif era uoy nehW noissimbuS
:stset detamotua elpmis emos nur ot esu nac uoy ,gnikrow si margorp ruoy kniht uoy nehW gnitseT
.sliated rof woleb eeS .tnemngissa ruoy fo snoisrev etaidemretni timbus ot deriuqer era uoY .murof ssalc eht ni ksa ,tnemngissa siht rof od ro esu tonnac dna nac uoy tahw no noitacifiralc deen uoy fI
.gninruter erofeb eulav lanigiro eht erotser tsum ti ,sretsiger eseht segnahc noitcnuf a fi :sllac noitcnuf ssorca devreserp eb llahs … sretsiger ni seulav taht
.semit elpitlum nur nac uoY
.gnitset nwo ruoy od syawlA .gnihtyreve tset ton lliw
tnemssessA
give
https://gitlab.cse.unsw.edu.au/z5555555/21T2-comp1521-ass1_snake
.asiv tneduts a fo ssol eht ni tluser osla yam sihT .pihsralohcs eht fo ssol a ni tluser yam siht ,spihsralohcs dloh devlovni stneduts fi :tcudnocsim tneduts rehto ro msiraigalp fo stca troper ot deriuqer osla era eW .enilpicsid cimedaca rehto ylbissop dna ,esruoc eht fo eruliaf citamotua ,skram evitagen edulcni yam seitlaneP .desilanep eb lliw snoitidnoc eseht etaloiv taht snoissimbuS
.yrotisoper etavirp a esu yam uoY .elbissecca yllacilbup si taht esle erehw yna ro buhtig sa hcus seirotisoper enilno ni krow tnemngissa ruoy ecalp ton oD
.egdelwonk ro tnesnoc ruoy tuohtiw nekat si krow ruoy fi dezilanep eb ton lliw uoY .uoy ot nwonknu ytrap driht a yb dettimbus si krow ruoy fi neve ylppa yam siht ;tnesnoc ro egdelwonk ruoy tuohtiw dettimbus saw krow taht fi neve ,dezilanep eb yam uoy ,dettimbus si ti morf devired krow dna ,nosaer yna rof nosrep rehtona ot krow tnemngissa ruoy wohs ro edivorp ylgniwonk uoy fI .1251PMOC fo ffats gnihcaet eht morf trapa ,)murof eht no ti gnitsop yb gnidulcni( nosrep rehto yna ot krow tnemngissa ruoy wohs ro edivorp ton oD
.1251PMOC fo )srotut dna )s(rerutcel eht( ffats gnihcaet eht morf ro ,snoisses pleh ,murof esruoc eht ni tnemngissa eht htiw pleh tseuqer ot dettimrep ylno era uoY
.dettimrep ton si nosrep rehto yna htiw nettirw yltnioj ro nosrep rehto yna morf devired yletelpmoc ro yllaitrap krow fo noissimbuS .evoba noitacificeps tnemngissa eht ni dedulcni ylticilpxe snoitpecxe yna morf trapa ,krow nwo ruoy yleritne eb tsum timbus uoy krow ehT
.dedeen fi edoc ruoy fo snoisrev reilrae eveirter ot uoy wolla lliw sihT .)DIz nwo ruoy htiw 5555555z gnicalper( ta ecafretni bew a aiv uoy ot elbaliava edam dna yrotisoper tiG a ni decalp eb lliw krow ruoy fo snoisrev etaidemretni eseht llA
.dekram eb lliw tnemngissa ruoy fo noisrev dettimbus lanif eht ylnO .stset noissimbus liaf esiwrehto ro elipmoc ton od snoisrev etaidemretni fi enif si tI .woleb dnammoc eht gnisu ti timbus dna tnuocca ESC ruoy ot krow ruoy ypoc dluohs uoy ssergorp emos ekam dna tnemngissa eht no krow uoy emit yrevE
.tnemngissa ruoy fo snoisrev etaidemretni timbus ot deriuqer era uoY kroW fo snoisreV etaidemretnI
.uoyrofkrowodotnosreprehtonagniyap ;tnesnoc rieht tuohtiw krow s’nosrep rehtona gnittimbus
tcudnocsim cimedaca
.krow tnioj sedulcni siht ;krow s’nosrep rehto yna gnittimbus
1251PMOC rof LF 0
.)enoyna yb( dettimbus yltneuqesbus si ti dna enoyna ot krow ruoy gnidivorp ylgniwonk
%0 )06-05( SP )+56( RC )+57( ND )+58( DH
stsetotua gnissap ton tub ,ssergorp doog sruoivaheb detnemelpmi-yltcerroc emos ;edoc elbadaer yltcefrep ruoivaheb tsom stnemelpmi ;edoc elbadaer yrev yltcefrep ruoivaheb lla stnemelpmi ;edoc detnemucod-ylraelc ,lufituaeb
:gniwollof eht ot ralimis yldaorb eb ot ylekil si ti tub ,snoissimbus tnemngissa eht gnitcepsni retfa emehcs tnemssessa eht yrav yam rerutcel ehT .swollof emehcs tnemssessa evitacidni nA
.margorp ruoy dnatsrednu dna daer ot namuh a rof si ti ysae woh no dessessa eb lliw uoy ,sdrow rehto nI .elyts dna ecnagele ,gnitnemmoc ,ytiralc fo sisab eht no dedrawa eb lliw skram esehT .gnikram dnah morf emoc lliw 1 tnemngissa rof skram eht fo %02
.tnemngissa laudividni na si sihT kroW fo noitubirttA
G89000 redivorP SOCIRC
ua.ude.wsnu.esc@1251sc ta tnuocca ssalc eht liame esaelp ,seiriuqne lla roF .yendyS ,selaW htuoS weN fo ytisrevinU eht ta
gnireenignE dna ecneicS retupmoC fo loohcS eht
yb uoy ot thguorb si slatnemadnuF smetsyS retupmoC :2T12 1251PMOC
)00 00 11 82-60-1202( .stneduts gnitcepsusnu otno esaeler laitinI 0.1 noisreV
goL egnahC .snoissimbus hcus rof ,yllaunam dna yllacitamotua htob ,denimaxe eb lliw snoissimbus tnemngissA