-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)