Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Centro de Cincias e Tecnologia Departamento de Estatstica e Computao Software Bsico Apresentao de Monitoria
Apresentao
Agenda
A linguagem Assembly - Breve histrico Abordagem da apresentao Montagem e Linkedio Configurao de Ambiente Sistemas de Numerao Diretivas Hello World sem Hello World! Interrupo - Hello World! Operaes aritmticas Funes Estruturas de controle Arquitetura e Segmentos de Memria Alocao de Variveis Pilha Outros Assuntos Importantes Bibliografia Contato
Cenrio e Motivao
Aplicao atual
Abordagem da apresentao
Viso geral e principais estruturas e instrues; Comparao com linguagem de alto nvel; Tutorial direcionado e indicao de materiais adicionais.
ATENO
TASM e TLINK
Configurao de Ambiente
Sistemas de Numerao
Diretivas do Montador
Definio;
MODEL; CODE; Outras no futuro.
Conceituo;
Tipo de Interrupo; Funes; Parmentros; Exemplos;
Hello World!
hello.asm
Tabela ASCII;
Converso.
Operaes aritmticas
Soma e subtrao;
ADD destino, parcela SUB destino, subtraendo INC destino DEC destino
aritm.asm
Operaes aritmticas
Multiplicao:
MUL divisor
Operaes aritmticas
Diviso:
DIV divisor
multDiv.asm
Funes
Modularizao;
Reaproveitamento; Parametrizao; Marcao; CALL;
RET.
func.asm
Estruturas de controle
Desvios Incondicionais
call;
Interrupes; JUMP; Utiliza marcao. Exemplo.
Devios Condicionais
Jumps condicionados;
Ex.: JGE calculo Verificao de registradores de flag;
Compare - CMP
Tabela de JUMPS
Outros Flags
Flag Zero;
JZ ou JE. JCXZ.
Flag Zero CX
Desafio
Como criar um lao, como por exemplo, um for da linguagem C utilizando os desvios condicionais e incodicionais?
Ex: (...) for(i=0; i<10; i++) { Instrucao A; Instrucao B; } Instrucao C; (...)
supondo que a varivel 'i' foi declarada previamento como inteiro.
Soluo
(...) MOV CX, 10 laco: intrucao A intrucao B DEC CX JCXZ saida JMP laco saida: instrucao C (...)
Lembrando a teoria;
Forma de acesso a memria; Capacidade mxima de endereamento; Diretivas; Chegando ao futuro:
Diretiva DATA
Alocao de Variveis
Motivao;
Vantagens e desvantagens; De volta ao futuro:
Diretiva Dx
<identificador> Dx <valor_inicial>
x?
DS:DX = Endereo ?
@<nome_do_segmento>
OFFSET memoria
Ateno
MOV DS, @DATA ; No funciona.
; Agora funciona.
Ver exemplo
Funo 0AH;
Similar a 09H Formato do dado capturado:
Pilha
Princpio (FILO);
Diretiva STACK; Instrues:
pilha.asm
Exerccio
Escrever uma funo para converter de caracter (ASCII) para numero e vice-versa.
Bibliografia
Wikipdia
Outros Sitios:
http://magnum.ime.uerj.br/~alexszt/cursos/softsis/material/asm/tutasm/program.html
http://www.numaboa.com.br/informatica/oiciliS/assembler/textos/lingAssembly.php
http://www.drpaulcarter.com/pcasm/ http://www.saladoprogramador.hpg.ig.com.br/assembler1.htm www.cise.ufl.edu/~mssz/CompOrg/CDA-lang.html
julianoens@gmail.com