COMMENT [

Programa - Letras Verticais

Recebe um texto e o escreve em uma coluna vertical.

Estrutura: .EXE

Montagem: MASM/Z B:LETRAS,B:LETRAS,B:LETRAS,B:LETRAS;

                   LINK       B:LETRAS,B:LETRAS;

                   DEL          B:LETRAS.OBJ

                   LETRAS  - executa o LETRAS.EXE

[

	PAGE 62,132

	TITLE *** Letras Verticais ***



CR		EQU  13	;ASCII Carriage Return

LF		EQU  10	;ASCII Line Feed

BS		EQU   8	;ASCII Backspace

BEL		EQU   7	;ASCII Bel

ESQ 		EQU   27	;ASCII Escape


DOS		MACRO 	FUNCAO

		IFB 

		          ERR

		           %OUT Você não passou o número da função

		ELSE

		           MOV AH,função

	                       INT 21H

		ENDIF

		ENDM

			DOSSEG

			.MODEL	SMALL

			.STACK

			.DATA

PAGINA		DB		0

ATRIBUTO		DB		7

MENSA_1		DB		ESQ,'=',1,22'L E T R A S  V E R T I C A I S'

			DB		27,'=',3,4,'Digite o texto:',00

CRLFLF		DB		CR,LF,LF,0

BUFFER		DB		CR,LF,?'$'

MOLDE1		DB		27,'=',?,?,201,27,'R',?,205,187,0

MOLDE2		DB		27,'=',?,?,200,27,'R',?,205,188,0

MOLDE3		DB		27,'=',?,?,186,27',=',?,?,186,0

AREA		DB		32,?,32 DUP (00)

INÍCIO:		.CODE

			MOV		Ax,@DATA

			MOV		DS,AX

			MOV		ES,AX

LACO_PROG:

			CALL		CLRSCR	;apaga a tela

			MOV		AX,0201H	;define as coordenadas

			MOV		DX,044FH	;para desenhar uma

			CALL		MOLDURA	;moldura na tela

			LEA		SI,MENSA_1	;endereça a mensagem

			CALL		WRITE	;título do programa

			LEA		DX,AREA	;e a imprime

			DOS		10		;aguarda a digitação

			LEA		SI,CRLFLF	;avança duas linhas em

			CALL		WRITE	;branco

			MOV		CL,AREA[1]	;move contador de 

			MOV		CH,0		;caracteres para CX

			JCXZ		FIM_PROG	;se nada foi digitado,

			LEA		SI,AREA + 2	;encerra o programa


LACO_REPET:

			LODSB			;apanha um caractere

			MOV		BUFFER+2,AL;move-o p/ a área de

			LEA		DX,BUFFER	;impressão.Utiliza a

			DOS		9		;função 9 para escrevê-lo

			LOOP		LACO_REPET;na tela, após um CR LF

			MOV		AH,0		;aguarda a digitação de 

			INT		16H		;uma tecla

			JMP		LACO_PROG	;repete tudo novamente

FIM_PROG:		DOS		4Ch		;saída do programa,com

			ENDP				;retorno ao DOS



			INCLUDE	B:VIDEO.ASM;tratamento de vídeo

			END		INICIO

Clique aqui para voltar para a página inicial
Site hosted by Angelfire.com: Build your free website today!