-Coloca um número em uma variável -Coloca outro número em outra variável -Coloca soma dos números em outra variávelArquivo texto com programa fonte soma.c:
#include <stdio.h> int main () { int x; int y; int t; x=5; y=4; t=x+y; printf("Soma=%d\n"); exit(0); }
Máquinas somente entendem bits, então programa tem que ser traduzido para bits. Processo de tradução:
.LC0: .string "Soma=%d\n" .text .align 4 .globl main .type main,@function main: pushl %ebp movl %esp, %ebp subl $24, %esp movl $5, -4(%ebp) movl $4, -8(%ebp) movl -8(%ebp), %eax addl -4(%ebp), %eax movl %eax, -12(%ebp) subl $12, %esp pushl $.LC0 call printf addl $16, %esp subl $12, %esp pushl $0 call exit
000001011000110111101110101010101 001011011000110111101110101011111 111011011000110111101110101011111 . . . 111111111000110111101110101011111
unix> gcc -o soma soma.c
O sistema é composto de UCP, Memória e dispositivos de entrada e saída interconectados por barramentos.
Atividade da UCP:
Operações que podem ser executadas: load, store, atualiza (operação entre 2 registradores e resultado em um), lê dados de E/S, escreve dados para E/S, pula para alguma instrução.
Como o programa é executado ?
Comando para execução:
unix> ./soma unix>
O sistema operacional espera o usuário digitar alguma coisa. Os caracteres vão do teclado para um registrador e com a tecla ENTER, o comando é finalizado.
O arquivo executável soma é copiado do disco para a memória e o processador inicia a execução.
Processador consegue ler dados muito mais rapidamente que a memória consegue fornecer. Utilização de memória cache implementada com tecnologia SRAM (Static Random Access Memory)