sábado, 2 de outubro de 2010

Semana Assembly - Os Cinco Furiosos (Parte 5)

Hoje é o último dia dos 5 comandos transformados para linguagem Assembly. O comando de laço INDETERMINADO chamado do...while, possui a seguinte estrutura:

FAÇA
   alguma coisa
ENQUANTO algo não acontece

Tente não olhar para o código e realize o seguinte, dado uma String qualquer com n "*" mostrar na tela um quadrado, ou seja, uma String com "***", deve sair na tela:

***
***
***

Com "*****", deve sair em tela:

*****
*****
*****
*****
*****

Tente primeiro realizar esse trabalho... Pronto? Aqui está o código completo e comentado:

org 100h


.data

msg db "********",13,10,"$" ; definir o valor da String
                            ; 13,10 para saltar de linha
len equ $ - msg - 2         ; tamanho da String
cont dw 1                   ; usado para o laco

.code

beginning:

mov ah, 09                  ; mostrar a String
lea dx, msg
int 21h

inc cont                    ; adicionar 1 a cont
cmp cont,len                ; verificar cont e total
jne beginning               ; se nao sao iguais retorna

ret
 
Abraços e até a próxima
Fernando Anselmo

0 comentários:

Postar um comentário