Skip to content

Commit

Permalink
update lab 17 com pontos
Browse files Browse the repository at this point in the history
  • Loading branch information
rafaelcorsi committed Nov 7, 2023
1 parent a481edb commit 1d15e47
Showing 1 changed file with 9 additions and 10 deletions.
19 changes: 9 additions & 10 deletions docs-src/class/vmtranslator-lab-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
|-----------------------------------------------------------------------------|
| **Data limite para entrega**: =={{lab_17_deadline}}== |
| Entregue o código pelo repositório do ==[Classroom]({{lab_17_classroom}})== |
| =={lab_17_points}== |
| Pontos: =={{lab_17_points}}== |

Neste laboratório iremos implementar parte do código que executa a tradução do VM para NASM.

Expand Down Expand Up @@ -61,7 +61,7 @@ Com o teste passando, abra a pasta `test_assets` e repare que vários arquivos f

Agora vamos praticar um pouco.

!!! exercise
!!! exercise "💰 (1 HW/ 1 SW)"
- File: `sw/vmtranlator/Code.py`
- Command: `neg`
- Test: `pytest -k neg`
Expand All @@ -70,15 +70,14 @@ Agora vamos praticar um pouco.

Dica: Faça no papel antes e só depois implemente.

!!! exercise
!!! exercise "💰 (1 HW/ 1 SW)"
- File: `sw/vmtranlator/Code.py`
- Command: `neg`
- Command: `sub`
- Test: `pytest -k sub`

Implemente o comando `sub` e teste com `pytest -s -k sub`.


!!! exercise
!!! exercise "💰 (2 HW/ 2 SW)"
- File: `sw/vmtranlator/Code.py`
- Method: `writePush`
- Command: `push constant`
Expand All @@ -88,15 +87,15 @@ Agora vamos praticar um pouco.

Os próximos exercícios são de classe diferente da aritméticas.

!!! exercise
!!! exercise "💰 (1 HW/ 1 SW)"
- File: `sw/vmtranlator/Code.py`
- Method: `writePop`
- Command: `pop local`
- Test: `pytest -s -k pop_local`

Implemente o comando `pop local`.

!!! exercise
!!! exercise "💰 (2 HW/ 2 SW)"
- File: `sw/vmtranlator/Code.py`
- Method: `writePop`
- Command: `pop temp`
Expand All @@ -106,13 +105,13 @@ Os próximos exercícios são de classe diferente da aritméticas.

> Dica: Você vai precisar do argumento `index` que fornece o valor de N.

!!! exercise
!!! exercise "💰 (3 HW/ 3 SW)"
- File: `sw/vmtranlator/Code.py`
- Method: `writeArithmetic`
- Command: `gt`
- Test: `pytest -s -k gt`

Implemente o comando `gt`.
Implemente o comando `gt`.

Dica: Você vai ter que fazer um label para poder saltar, mas o label tem que ser único em todo o código `nasm` criado, para isso, utilize a função `self.getUniqLabel()` que retorna uma string única em todo o programa.

Expand Down

0 comments on commit 1d15e47

Please sign in to comment.