CS/CA: Hulp nodig met een script uitvoeren op een datapath

Forum van 1ste Bachelor Informatica.

Moderator: Praesidium

User avatar
Timmy
Posts: 844

CS/CA: Hulp nodig met een script uitvoeren op een datapath

Post#1 » Sun Jan 10, 2010 6:36 pm

Ben (ter wijze van "pauze" xP) wat CS/CA aan het doen, nl enkel opdrachten herwerken etc. Nu hebk een probleem met de laatste opdracht, te vinden in deze link:

http://msdl.cs.mcgill.ca/people/bart/co ... als/as7oef
en
http://msdl.cs.mcgill.ca/people/bart/co ... als/asm.pl

Ik ben absoluut geen held in Reguliere expressies & toestanden, dus kan iemand mij ff helpen met wat dat scriptje precies doet, en wat voor output het geeft? Kmoet da runnen op mn datapath maar ik weet begot niet wat de bedoeling is :s Das zo een opdracht dat ik gwn heb geskipt door tijdsgebrek, maar aangezien da da het praktijkexamen CA gaat zijn moetek er toch uit geraken :)

Iemand een idee?

User avatar
djgl3nn
WOZ
Posts: 1938

Re: CS/CA: Hulp nodig met een script uitvoeren op een datapa

Post#2 » Sun Jan 10, 2010 6:47 pm

Timmy wrote:Ben (ter wijze van "pauze" xP) wat CS/CA aan het doen, nl enkel opdrachten herwerken etc. Nu hebk een probleem met de laatste opdracht, te vinden in deze link:

http://msdl.cs.mcgill.ca/people/bart/co ... als/as7oef
en
http://msdl.cs.mcgill.ca/people/bart/co ... als/asm.pl

Ik ben absoluut geen held in Reguliere expressies & toestanden, dus kan iemand mij ff helpen met wat dat scriptje precies doet, en wat voor output het geeft? Kmoet da runnen op mn datapath maar ik weet begot niet wat de bedoeling is :s Das zo een opdracht dat ik gwn heb geskipt door tijdsgebrek, maar aangezien da da het praktijkexamen CA gaat zijn moetek er toch uit geraken :)

Iemand een idee?
die asm.pl zet een input.s file om in een output text bestand.

de bedoeling is dus
da als er in u input file
add $03, $02, $01
staat
dat dmv u asm.pl in u output.hex de juiste 4 digit hexadecimale code terecht komt die zou werken in u datapath.
0846 ofzo. die gaat ge dan kopieren en in u instructie geheugen van u datapath plakken.
En als ge dan u clock gaat activeren, en u datapath gaat dan optellen dan werkt alles perfect.

gij moet er dus voor zorgen da ge die asm.pl zodanig gaat aanpassen zodat het klopt vo u datapath, da zijn in principe ni zoveel aanpassingen. Ik zelf kende ook nix van regex en tis mij toch gelukt.

die output bekomde do in unix shell die code uit te voere die in u opdracht staat.
Last edited by djgl3nn on Sun Jan 10, 2010 6:49 pm, edited 1 time in total.
WINAK Schacht 2009-2010
WINAK Sport 2010-2011
WINAK Mentor Informatica 2011-2012
WINAK Ouwe Zak 2012-...

UA Sportraad Webmaster 2012-...

User avatar
Robbe
WOZ
Posts: 2161
Contact:

Post#3 » Sun Jan 10, 2010 6:48 pm

Perl is ook maar ver voor mij, maar voor zover ik kan volgen leest hij elke keer een lijn in en zet die dan om naar een opcode met weetikveelwatnogallemaal. Elk haakje in de regex komt overeen met een $N argument, te tellen per openend haakje. Voor de rest kan ik nu ni veel zeggen :P
"I'm not afraid of falling, I'm afraid of landing" -- Sam
How To Ask Questions The Smart Way

Zingen? UKA-n dat ook!

User avatar
Timmy
Posts: 844

Post#4 » Sun Jan 10, 2010 6:55 pm

Ahaaa, op die manier ^^

Dus bv bij

elsif ($inst =~m/^\s*add\s+\$r([0-3]),?\s+\$r([0-3]),?\s+\$r([0-3])/i){
$num = ($1 << 6) | ($2 << 10) | ($3 << 8) | 2;

Gaat hij checken voor de "add" instructie in u assembly code, maar wat doet

$num = ($1 << 6) | ($2 << 10) | ($3 << 8) | 2;

Dan? Da lijtk mij da hij $1 6 plekke gaat shiftleften, $2 10 en $3 8, maar WTF zijn die waardes dan precies? En dan da "2"ke achteraan.

Mja kzegget, kvoel mij echt ne noob atm, kzie ff echt de logica ni =D

IIG al merci :)

User avatar
djgl3nn
WOZ
Posts: 1938

Post#5 » Sun Jan 10, 2010 7:05 pm

Timmy wrote:Ahaaa, op die manier ^^

Dus bv bij

elsif ($inst =~m/^\s*add\s+\$r([0-3]),?\s+\$r([0-3]),?\s+\$r([0-3])/i){
$num = ($1 << 6) | ($2 << 10) | ($3 << 8) | 2;

Gaat hij checken voor de "add" instructie in u assembly code, maar wat doet

$num = ($1 << 6) | ($2 << 10) | ($3 << 8) | 2;

Dan? Da lijtk mij da hij $1 6 plekke gaat shiftleften, $2 10 en $3 8, maar WTF zijn die waardes dan precies? En dan da "2"ke achteraan.

Mja kzegget, kvoel mij echt ne noob atm, kzie ff echt de logica ni =D

IIG al merci :)
het eerste getal da ge na u add ingeeft me dollarteke gedoe gaat 6 plaatste na
links staan, het 2de 10 en het 3de 8
en die 2 komt helemaal opt einde. Das voor u add opcode.


sorry vo slechte uitleg ma ik ga lere XD
WINAK Schacht 2009-2010
WINAK Sport 2010-2011
WINAK Mentor Informatica 2011-2012
WINAK Ouwe Zak 2012-...

UA Sportraad Webmaster 2012-...

User avatar
Timmy
Posts: 844

Post#6 » Mon Jan 11, 2010 9:50 am

djgl3nn wrote:
Timmy wrote:Ahaaa, op die manier ^^

Dus bv bij

elsif ($inst =~m/^\s*add\s+\$r([0-3]),?\s+\$r([0-3]),?\s+\$r([0-3])/i){
$num = ($1 << 6) | ($2 << 10) | ($3 << 8) | 2;

Gaat hij checken voor de "add" instructie in u assembly code, maar wat doet

$num = ($1 << 6) | ($2 << 10) | ($3 << 8) | 2;

Dan? Da lijtk mij da hij $1 6 plekke gaat shiftleften, $2 10 en $3 8, maar WTF zijn die waardes dan precies? En dan da "2"ke achteraan.

Mja kzegget, kvoel mij echt ne noob atm, kzie ff echt de logica ni =D

IIG al merci :)
het eerste getal da ge na u add ingeeft me dollarteke gedoe gaat 6 plaatste na
links staan, het 2de 10 en het 3de 8
en die 2 komt helemaal opt einde. Das voor u add opcode.


sorry vo slechte uitleg ma ik ga lere XD
Merci Glenn, kpeins dak hem door heb nu :) Morge ne x probere se.

Return to “1ste Bachelor”

Who is online

Users browsing this forum: No registered users and 7 guests