Operação Lógica AND no MIPS

instrução MIPS LW e SW IF Simples no MIPS
Este post faz parte da série MIPS

Oi pessoal! Tudo bem? Espero que sim. No último artigo publicado desta série eu falei sobre as operações lógicas de deslocamento à direita e à esquerda. Hoje, vou falar sobre a operação lógica AND no MIPS.

AND

A operação lógica AND é uma operação bit a bit com dois operandos que resulta em 1 somente se os dois bits dos operandos também forem 1. É o mesmo comportamento esperado de uma porta lógica AND que possui a seguinte tabela booleana:

PQR
000
010
100
111

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

AND 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. Considere o seguinte exemplo: o registrador $t3 possui o valor decimal 3328, que em binário é

0000 0000 0000 0000 0000 1101 0000 0000

e o registrador $t4 possui o valor decimal 15.360 que em binário é

0000 0000 0000 0000 0011 1100 0000 0000

Assim temos a instrução

AND $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

0

0

1

1

0

0

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 somente se os bits dos operandos também forem 1, conforme você pode comprovar nas posições 11 e 12, caso contrário, o resultado será 0. O número decimal resultante desta operação é 3.072.

Vejamos então como fica a Linguagem de Montagem:

AND $t0, $t3, $t4

A Linguagem de Máquina:

AND $8, $11, $12

Representação da Linguagem de Máquina:

opcode

rs

rt

rd

shamt

funct

0

11

12

8

0

3

6

Código de máquina:

00000001011011000100000000100100

A operação AND 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ário, responderei o mais breve possível.

Exercícios

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

  1. 324 AND 100
  2. 2018 AND 1970
  3. 33 AND 66

MIPS

Operações Lógicas no MIPS Operação Lógica OR no MIPS
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
5 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Leticia Araujo
Leticia Araujo
29/03/2019 11:18

Olá! Você pode exemplificar em código. Pois, estou tentando fazer pelo mesmo jeito da soma, tanto no .data como no . text e não está funcionando. Obrigada pela atenção!

Hopkins Young
Hopkins Young
08/10/2018 16:39

Oi, gostaria de agradecer pela série sobre o MIPS, tem me ajudado nos estudos.
Entretanto, gostaria que me desse uma luz sobre essa operação, por favor. Entendi como é o seu funcionamento, porém não consegui ver uma aplicação/uso da operação AND. Gostaria de algum exemplo para colaborar com a memorização. Da mesma forma, gostaria de ver uma aplicação de OR.

Muito obrigado!

Elaine Cecília Gatto
Elaine Cecília Gatto
Reply to  Hopkins Young
17/10/2018 14:37

Oi!!! Enquanto UNIDADE LÓGICA ARITMÉTICA, os microprocessadores de uso geral devem fornecer todas as operações matemáticas básicas. Talvez agora você não veja utilidade alguma, mas as linguagens de programação de alto e médio nível tem essa opção de operadores matemáticos aritméticos, relacionais e lógicas!

Home » Hardware » Sistemas Digitais » Operação Lógica AND no MIPS

EM DESTAQUE

WEBINARS

VEJA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste: