Você está na página 1de 11

UNIVERSIDADE FEDERAL DO PAR INTITUTO DE CINCIAS EXATAS E NATURAIS FACULDADE DE COMPUTAO CURSO DE SISTEMAS DE COMPUTAO

Sistemas de Computao
Linguagem de Programao: Assembly

GABRIEL MEDEIROS: 11100002701 ISAAC ELGRABLY: 11100002201 LARISSA ROSA: 11100002801 LEONARDO ANDR SILVA DOS SANTOS: 11100001201

BELM PA 2011

Introduo

Assembly ou linguagem de montagem uma notao legvel por humanos para o cdigo de mquina que uma arquitetura de computador especfica usa. A linguagem de mquina, ou de baixo nvel como tambm conhecida, um mero padro de bits, torna-se legvel pela substituio dos valores em bruto por smbolos chamados mnemnicos. Por exemplo, enquanto um computador sabe o que a instruo-mquina IA-21 (10110000 01100001) faz, para os programadores mais fcil recordar a representao equivalente em instrues mnemnicas MOV AL, 61h. Tal instruo ordena que o valor hexadecimal 61 (97, em decimal) seja movido para

o registrador 'AL'.

Microcontroladores

O Intel 8051 faz parte de uma popular famlia de microcontroladores de 8 bits lanada pela Intel em 1977. conhecido por ser facilmente programvel, em linguagem assembly, devido a um poderoso conjunto de instrues (o 8051 um microcontrolador CISC) e tido como o microcontrolador mais popular do mundo, pois existem inmeras aplicaes para o mesmo. Diversos fabricantes produzem microcontroladores da famlia 8051 (as principais sendo Intel, AMD, Atmel, Dallas, OKI, Matra, Philips, Siemens, SMC, SSI, entre outras). A Intel iniciou a produo dos 8051 em 1981, e sua produo cresceu significantemente (2 milhes de unidades em 1892, 18 milhes em 1985 e 126 milhes em 1993).

Organizao de Memrias A memria reservada para armazenar o programa a ser executado pela CPU no 8051 pode ocupar at 64 KB. O microcontrolador ainda traz a opo da utilizao ou no de sua memria ROM interna. Se esta for utilizada, ento ser mapeada nos primeiros 4 KB do espao (64 KB) de endereamento, ocupando assim a faixa de endereos 0000H 0FFFH. Caso a ROM interna no for utilizada, ento toda a memria ser externa.

Cdigo Comentado .model small .stack 200h .data firststring db "Conteudo permitido apenas para maiores de 18 anos(Pressione qualquer tecla).$" secondstring db " thirdstring db " fourstring db " outra tecla:$" .code Inicio: mov ax,@data mov ds,ax mov ah,9h ;Carrega o nosso Endereco ;Segmento de Dados ;Mostra a string apontada por ax Voce e maior de idade o conteudo e permitido $" Voce nao e maior de idade o conteudo nao e permitido$" Se voce for maior de 18 anos digite a tecla S senao qualquer ;strings sao mensagens

mov dx,offset firststring int 21h

;Exibi a firststring na tela ;Executa a instruo anterior

mov ah,0 int 16h

;funcao pra rastrear uma tecla ; interrupcao pra criar arquivo

mov bx,@data mov ds,bx mov ah,9h mov dx,offset fourstring int 21h

;Carrega o novo Endereco ;Segmento de Dados ;Mostra a string apontada por bx ;Exibi a fourstring na tela ;Executa a instruo anterior

mov ah,0 int 16h

;funcao para rastrear uma tecla ;interrupcao pra criar arquivo

push ax mov DL,AL mov AH,2h int 21h pop ax

;Salva registrador ax na pilha ;copia AL para Dl ;imprimi caractere ;Executa a instruo anterior ; retira registrador ax da pilha

CMP al,"s" JNE DigitoErrado

;Compara o valor ;Desvia se os numeros nao forem Iguais (para DigitoErrado)

mov ax, seg secondstring mov ds, ax mov dx, offset secondstring mov ah, 9h int 21h

;carrega o endereo com a secondstring ;Segmento de Dados ;Exibi a secondstring na tela ;Mostra a string apontada por ax ;Executa a instruo anterior

mov ax,4c00h int 21h

;Sai do programa ;Executa a instruo anterior

DigitoErrado: mov dx,offset thirdstring mov ah,9h ;Exibi a thirdstring na tela ;Mostra a string apontada por ax

int 21h mov ax,4c00h int 21h

;Executa a instruo anterior ;Sai do programa ;Executa a instruo anterior

MOV AH,0Eh INT 10h end inicio

;Exibi um caractere na tela do computador ;Chama uma interrupcao e limpa tela

Cdigo Executado

Referncias

Assembly line balancing. http://www.assembly-line-balancing.de/ (visitado em 24/06/2011).

Assembly para normais. http://www.lula.pro.br/artigo.asp?codigo=409&autor=Magico (visitado em 24/06/2011)

Você também pode gostar