PRATICA3

Embed Size (px)

DESCRIPTION

Sistemas Microprocessados pr3

Citation preview

TITLE template_asm;**********************************************;; Sistemas Microprocessados 2014;;;Data: 15/04/2014;;Descrio: *PEQUENA DESCRICAO DA FUNCIONALIDADE DO SEU PROGRAMA*;;Assemblador: MASM 5.1;;;Autor: ;;**********************************************;******************************************************************;LINHAS DE COMANDOS PARA ASSEMBLAR ESSE EXEMPLO;;crie um arquivo .bat para automatizar esse processo;;masm.exe /c /l *NOME DO ARQUIVO*.asm,,,,;;link.exe /CO *NOME DO ARQUIVO*.obj,,,,;;;******************************************************************;**********************************************;DIRETIVAS INICIAIS DO MASM;;**********************************************.MODEL SMALL ;define a utilizao de um segmento de dados e um de programa.STACK 100H ;aloca 256 bytes para a pilha, se no definir o MASM aloca 1 Kbyte;**********************************************;;SECO DE VARIVEIS ;;**********************************************.DATA;DECLARE AQUI AS VARIAVEIS QUE SERAO UTILIZADAS PELO SEU PROGRAMA value1 db 2 dup(?) value2 db 2 dup(?) result db 3 dup(?) ;**********************************************;;SECO DE CDIGO;;**********************************************.CODEstart_up: ;DECLARE AQUI O CODIGO DE INICIALIZACAOJMP MAIN;----------------------------------------------;; MAIN;;ENTRADA: nenhum;SAIDA: nenhum;;DESCRIO: Rotina Principal da Aplicao;;----------------------------------------------MAIN:;*SEU PROGRAMA* MOV AX, SEG value1 MOV DS, AX ;salva o caracter digitado em DXMOV DX, OFFSET value1MOV BX, OFFSET value2 ;;;;;;;;;;;;;;VETOR1;;;;;;;;;;;;;;;;;;Entrada do 1o Caracter MOV AH,01H ;funcao para entrada de caracter INT 21H ;executa a funcao em AHMOV value1[0], AL ; SALVA O CARACTER 1 EM VALUE1 ;ENTRADA DO 2o CARACTERMOV AH,01H ;funcao para entrada de caracter INT 21H ;executa a funcao em AHMOV value1[1], AL ; SALVA O CARACTER 2 EM VALUE1 ;;;;;;;;;;;;;;VETOR2;;;;;;;;;;;;;;;;; ;Entrada do 1o Caracter MOV AH,01H ;funcao para entrada de caracter INT 21H ;executa a funcao em AHMOV value2[0], AL ; SALVA O CARACTER 1 EM VALUE2 ;ENTRADA DO 2o CARACTERMOV AH,01H ;funcao para entrada de caracter INT 21H ;executa a funcao em AHMOV value2[1], AL ; SALVA O CARACTER 2 EM VALUE2 MOV AL, value1[0] sub AL, 30h ;subtrai de 30h para converter a um digito de 0 a 9MOV value1[0], AL MOV AL, value1[1] sub AL, 30h ;subtrai de 30h para converter a um digito de 0 a 9MOV value1[1], AL MOV AL, value2[0] sub AL, 30h ;subtrai de 30h para converter a um digito de 0 a 9MOV value2[0], AL MOV AL, value2[1] sub AL, 30h ;subtrai de 30h para converter a um digito de 0 a 9MOV value2[1], AL ;END MAINEND start_up;essa sentena diz ao MASM que a primeira linha a ser executada do programa;est em start_up