Prova 2007
Questão 16
Uma CPU tem uma unidade aritmética que adiciona bytes e então ajusta os bits
de flag V, C e Z como segue. O bit V é definido como 1 (ligado) se ocorrer
overflow aritmético (em aritmética de complemento de 2). O bit C é ligado se é
gerado um carry-out (vai um) do bit mais significativo durante a operação. O bit
Z é ligado se o resultado for zero. Quais são os valores dos flags V, C e Z após a
adição dos bytes de 8 bits 11001100 e 10001111?
(A) V= 0 ; C= 0 ; Z= 0
(B) V= 1 ; C= 1; Z= 0
(C) V= 1 ; C= 1; Z= 1
(D) V= 0 ; C= 0; Z= 1
(E) V= 0 ; C= 1; Z= 0
Primeiramente, achei o enunciado da questão bastante pobre. Por isso, vou explicar da maneira que
posso, rs.
Esta sendo pedido para verificar várias o que acontece quando são somados os dois números binários.
Até aí tudo bem. O problema é que o enunciado não deixa claro se os números apresentados estão em
complemento de 2 já. Podem já estar e serem negativos e podem não estar e serem positivos.
Estou assumindo que são números positivos.
Então temos,
011001100 e 010001111, os zeros na frente do número foram colocados pois números positivos recebem
sinais positivos, e o sinal positivo na notação de complemento é dado adicionando um 0 na frente do
número, e um sinal negativo é dado adicionando um 1 na frente do número.
Somando 011001100 e 010001111 temos:
O que podemos analisar dessa soma?
Houve overflow? R: Sim, o bit de sinal ficou negativo. O soma de positivos não pode dar negativo.
Se houvesse “ido” 1 para o sinal e para fora do número também, não teria havido overflow, mas como
foi apenas para o sinal, houve.
Houve carry-out do MSB (Bit mais significante)? R: Sim. Quando foi somando 1 + 1 no bit mais
significante, consequentemente “foi” um (inclusive para o bit de sinal).
O Resultado foi zero? R: Não.
Logo, a resposta da questão é :
(B) V= 1 ; C= 1; Z= 0
Por favor, resolvi essa questão meio na incerteza. Se alguém achar algum erro, por favor, me avise
pelo email rafasgomes@gmail.com.
Abraços.
Apenas colaboradores que estejam logados podem acessar os comentários!