Informática Numaboa - Tutoriais e Programação
Cap. IV - Condições e Loops
Dom 16 Dez 2007 14:03 |
- Detalhes
- Categoria: MASM + RadASM
- Atualização: Quinta, 18 Junho 2009 11:18
- Autor: Alan Moreno
- Acessos: 10192
Loops
Nos loops estudaremos os bloqueios .while e .repeat/.until para criar laços que se repitam até que a condição que determinamos seja cumprida ou não.
.while
Este bloqueio criará um laço ou loop sempre e enquanto a condição for cumprida. Caso não se cumpra, o laço é interrompido. Sua sintaxe é a seguinte:
Exemplo:
Este laço se repetirá sempre e enquanto eax for maior que 1. Se não for cumprida, o laço se romperá. Se não quisermos fazê-lo com bloqueios, também podemos fazer com instruções puras desta maneira:
Como imitamos o bloqueio .while, criamos um salto diretamente para a instrução cmp. Logo em seguida vem o salto JA (saltar se estiver acima), o que acontece caso eax estiver acima de 1. Este laço se romperá quando eax for 0.
.repeat / .until
Este laço funciona ao contrário de .while. Neste caso o laço terminará quando cumprir a condição e sua sintaxes é assim:
Exemplo:
O laço se repetirá até que eax seja maior que 6. Assim como no bloqueio .while, também podemos obter o mesmo resultado com instruções feitas desta maneira:
Vejamos o seguinte video com exemplos de loops (laços):
Para assistir ao vídeo, faça o download de prog007_ha_b.exe.