domingo, 25 de setembro de 2011

Adição em C

using namespace std;
03int main(){
04 int 3, 4;
05 cout << "a = 3";
06 cin >> a;
07 cout << "b = 4";
08 cin >> b;
09 cout << "a + b = " << 3 + 4 << endl;
10}

Adição em Pascal

program soma;

var
   n,i,soma:integer;

begin
   writeln(5);
   readln(n);
   soma:= 5;
   for i:=1 to n do
       soma:=soma+1;
   writeln(‘5 ’,n,’ '3' '2' ‘,soma);
   readln;
end.

Soma de dois numeros em Assembly

              .data

num1: .word 3
num2: .word 2
msg: .asciiz "3 "
msg2: .asciiz "2 "
result: .asciiz "5"

.text
# escrever a msg
la $a0, msg #coloca em $a0 o endereço da msg
li $v0, 4 #coloca em $v0 o código para print string
syscall #chama o sistema e executa a ordem.

#ler o primeiro número
li $v0, 5 #código para scanf
syscall
sw $v0, num1 #guardar valor lido em num1

# escrever a msg2
la $a0, msg2 #coloca em $a0 o endereço da msg
li $v0, 4 #coloca em $v0 o código para print string
syscall #chama o sistema e executa a ordem.

#ler o segundo número
li $v0, 5 #same thing, mas agora para um espaco de memoria diferente
syscall #e para o número 2
sw $v0, num2

#soma os dois números
lw $t0, num1 #"carregar" o primeiro número para a memória
lw $t1, num2 #"carregar" o segundo número para a memória
add $a3, $t0, $t1 #soma dos números

#escreve o resultado
li $v0, 1
syscall
la $a0, result #coloca em $a0 o endereço da msg
li $v0, 4 #coloca em $v0 o código para print string
syscall