mirror of https://github.com/01-edu/public.git
mikysett
1 year ago
committed by
Michele
1 changed files with 85 additions and 0 deletions
@ -0,0 +1,85 @@
|
||||
#### Functional |
||||
|
||||
#### Initial Setup |
||||
|
||||
##### If at any moment or for any reason the evaluated Assembler or Virtual Machine crashes or have any memory leak the evaluation fails. |
||||
|
||||
##### Before to start the evaluation, download the [Playground](), it will contain a standard Assembler and Virtual Machine. |
||||
|
||||
###### Is the learner able to guide you installing and running the provided binaries? |
||||
|
||||
#### Assembler |
||||
|
||||
##### Run the learner Assembler without any argument. |
||||
|
||||
###### Does the Assembler prints a little introduction on how to use it? |
||||
|
||||
##### Run the Assembler with a path to a file that doesn't exist. |
||||
|
||||
###### Does the Assembler returns a meaningful error and exit? |
||||
|
||||
##### Use the learner Assembler to compile all the invalid players provided in `players_src/invalid`. |
||||
|
||||
###### Did the Assembler refused to create those players because invalid? |
||||
|
||||
###### Did the Assembler printed an error message explaining why the player was invalid? |
||||
|
||||
###### Did the Assembler exited without creating any `.cor`? |
||||
|
||||
##### Use the learner Assembler to compile all the valid players provided in `players_src/valid`. |
||||
|
||||
###### Did the Assembler compiled all the `.s` into `.cor` binaries? |
||||
|
||||
##### Before to procede you may want to copy or rename the generated `.cor` files otherwise they will be overwritten by the next compilation step. |
||||
|
||||
##### Use the standard Assembler provided in the playground to compile all the valid players provided in `players_src/valid`. |
||||
|
||||
##### Using `diff` and `hexdump` or any similar tool compare the two versions of each binary. |
||||
|
||||
###### Are the two versions of the binaries identical for every player? |
||||
|
||||
#### Virtual Machine |
||||
|
||||
##### Run the learner VM without any argument. |
||||
|
||||
###### Does the VM prints a little introduction on how to use it? |
||||
|
||||
##### Run the VM with a path to a file that doesn't exist. |
||||
|
||||
###### Does the VM returns a meaningful error and exit? |
||||
|
||||
###### Does the VM returns a meaningful error and exit? |
||||
|
||||
##### Run the VM with four valid players and the flag `-d 10`. |
||||
|
||||
###### Does the VM introduce each player by writing their name and description before to start the game? |
||||
|
||||
###### Does the VM exit at cycle 10 and dump the memory printing 32 bytes per row? |
||||
|
||||
##### Run the VM using four players with the name starting with `strong_*` and the flag `-d 40000`. |
||||
|
||||
##### Run also the same command on the standard VM. |
||||
|
||||
###### Are the two memory dumps identical (they can be formatted in a different way, but the bytes in the arena must match perfectly)? |
||||
|
||||
##### Run such games at least 4 more times mixing and matching the players to create new outputs. |
||||
|
||||
###### Are the two memory dumps identical for every game played? |
||||
|
||||
#### Beating ameba |
||||
|
||||
##### Use the standard Assembler to compile the player of the learner and the given `ameba.s`. |
||||
|
||||
##### Run those two players on the standard VM twice: once with ameba in the first position and another time with ameba in second position. |
||||
|
||||
###### Is the player of the learner winning both games? |
||||
|
||||
#### Bonus |
||||
|
||||
###### +Do the assembler have a working disassembly mode? |
||||
|
||||
###### +Do the assembler handles arithmetic operations? |
||||
|
||||
###### +Do the assembler implements a basic macro system? |
||||
|
||||
###### +Do the virtual machine have a visualizer? |
Loading…
Reference in new issue