Você está na página 1de 5

EMENTA

Introduo Programao com Assembly e C


Conceitos inicias - Programao e suas linguagens

O que programao?
Linguagem de programao
Conceitos programao estruturada
Conceitos programao modular
Conceitos programao orientada a objetos
Conceitos programao linear
Classificao quanto a gerao
Interpretao e compilao
Converso de cdigo em executvel
Assembly (e no assembler!!!)
Quando usar assembly?

Algoritmos - Escreva em portugus e depois traduza

Definio
Fases de um algoritmo
Estrutura de controle de fluxo
Teste de mesa ou teste chins
Diagrama de Chapin

Arquitetura - O terreno dita o comportamento

Arquitetura x86
Organizao Bsica de um Microcomputador
Como um programa carregado?
Multitarefa
Modo de Operao
Registradores de Execuo
Registradores de Propsito Geral
Uso especializado
Registradores de Segmento
EIP & EFLAGS
Flags de controle
Flags de Status

Unidade de Ponto Flutuante


Microprocessadores Intel
Famlia de Processadores IA-32 (x86)
Intel64 para Processamento de 64 bits
IA-32e Mode
Famlia de Processadores
Hyperthreading e Multi-core Processing
Gerenciamento de Memria em x86
Real-Address Mode
Protected Mode

Iniciando em programao - Quando colocaremos a mo na massa?

Linux e seu kernel


Tipos de linguagens
Estrutura de Memria de um Computador
CPU
Endereos
Interpretando a Memria
Mtodos de Acesso Dados

Assembly I - Por favor, no diga mais assembler!

Histria
Assembler
Fundamentos
Organizao do Sistema
Registradores
Organizao de um registrador para uso geral
Pilha
AT&T x Intel
Instrues

Assembly II

Passagem de syscalls e argumentos


Sees
Tipos de dados
MOVx
Movendo dados

Assembly III

Interrupes
Condicionais

Assembly IV

Gerando Cdigo Assembly


Simulando comandos C - If-then-else
Simulando comandos C while
Assembly Inline - funes inline em C

Assembly V - Funes em assembly

Funes
Funes & stack
Destruio de registradores
Funes recursivas

Conceito de Arquivos em LINUX - Como manipul-los

Arquivos em linux

BUFFERS E .BSS - Onde cabe mais informao

BUFFERS E .BSS

Arquivos e Padres Especiais

Arquivos e Padres Especiais


USANDO ARQUIVOS EM UM PROGRAMA

Leitura e Escrita de Registros Simples

Leitura e Escrita de Registros


Escrevendo Registros
Lendo Registros

Alterando Registros

Linguagem C - O legado de Dennis Ritchie

Origem
Padres
Caractersticas
Case Sensitive
Tipos de dados
Funes
Argumentos
Retornando Valores
Forma geral de uma funo

INTRODUO ENTRADA E SADA

Caracteres
Strings
Printf
Scanf

COMANDOS DE CONTROLE DE FLUXO

If
Switch
For
While
do-while
break
continue
goto
exit

MATRIZES E STRINGS

Vetores
Strings
Gets
Strcat
Strlen

Strcmp
Matrizes Bidimensionais
Matrizes de Strings
Inicializao de Matriz
Inicializao sem especificao de tamanho

Ponteiros

Como Funcionam os Ponteiros


Declarando e Utilizando Ponteiros
Vetores como ponteiros

FUNES

Prottipos de Funes
Arquivos-Cabealhos
Passagem de parmetros por valor e passagem por referncia
Os Argumentos argc e argv