Operação Lógica OR no MIPS

instrução MIPS LW e SW IF Simples no MIPS

ÍNDICE DE CONTEÚDO

Oi pessoal! Tudo bem? Espero que sim. No último artigo publicado desta série eu falei sobre a operação lógica bit a bit AND (E). Hoje, vou falar sobre a operação lógica OR.

OR (ou)

A operação lógica OR é uma operação bit a bit com dois operandos que resulta em 1 quando o valor 1 estiver presente em quaisquer dos dois operandos. É o mesmo comportamento esperado de uma porta lógica OR que possui a seguinte tabela booleana:

PQR
000
011
101
111

Pela tabela, nota-se um comportamento muito parecido com a soma, veja: 0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1 e, 1 + 1 = 1. A instrução OR tem a seguinte sintaxe:

OR registrador_destino, registrador_fonte, registrador_fonte

O registrador destino armazena o resultado da operação que é operada em cima dos dois operandos que estão armazenados, cada um, em um registrador fonte diferente. Vamos efetuar a operação OR nos mesmos números decimais do exemplo da operação AND:

OR $t0, $t3, $t4         #$t0 = $t3 | $t4

O que acontece nesta operação pode ser representado como a tabela abaixo:

$t3

0

0

1

1

0

1

0

0

0

0

0

0

0

0

$t4

1

1

1

1

0

0

0

0

0

0

0

0

0

0

$t0

1

1

1

1

0

1

0

0

0

0

0

0

0

0

Cada bit que compõe o número binário será verificado individualmente, começando pelo bit mais à direita e terminando no bit mais à esquerda, como acontece quando você resolve uma conta aritmética no caderno. O bit resultante de cada posição resultará em 1 quando qualquer um dos operandos também for 1, conforme você pode comprovar na tabela. Caso contrário, o resultado será 0. O número decimal resultante desta operação é 15.616.

Vejamos então como fica a Linguagem de Montagem:

OR $t0, $t3, $t4

A Linguagem de Máquina:

OR $8, $11, $12

Representação da Linguagem de Máquina:

opcode

rs

rt

rd

shamt

funct

0

11

12

8

0

36

Código de máquina:

00000001011011000100000000100100

A operação OR se enquadra no grupo das operações aritméticas, por isso o opcode 0 e o funct 36, isso porque temos a Unidade Lógica Aritmética, que é a responsável por processar esses tipos de operações.

Conclusão

Pessoal, se houver qualquer tipo de dúvida, por favor, deixem aqui embaixo nos comentários, responderei o mais breve possível.

Exercícios

Aplique a operação lógica MIPS OR entre os seguintes pares de números decimais:

  1. a) 324 OR 100
  2. b) 2018 OR 1970
  3. c) 33 OR 66

Outros artigos da série

<< Operação Lógica AND no MIPSOperação Lógica NOT no MIPS >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Hardware » Sistemas Digitais » Operação Lógica OR no MIPS
Comentários:
Notificações
Notificar
guest
2 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
rauni siqueira
rauni siqueira
11/06/2018 10:27

A operação or é a mesma de add?

Talvez você goste:

Séries



Outros da Série

Menu

WEBINAR
 
Porque o RTOS não faz o que eu quero?

Data: 28/10 às 19:30h - Apoio: Mouser Electronics
 
INSCREVA-SE AGORA »



 
close-link