DRAFT
CONCURSO PETROBRAS
E
NGENHEIRO(A)
DE
E
QUIPAMENTOS
J
ÚNIOR
- ELETRÔNICA
ENGENHEIRO(A) J
ÚNIOR
- ÁREA
: AUTOMAÇÃO
Microprocessadores, CLPs e
Arquiteturas Computacionais
Questões Resolvidas
Q
UESTÕES RETIRADAS DE PROVAS DA BANCACESGRANRIO
Produzido por Exatas Concursos
www.ExatasConcursos.com.br
DRAFT
Índice de Questões
Prova: Engenheiro(a) Equipamentos Júnior - Eletrônica - Petrobras 2012/1
Q64 (pág. 42).
Prova: Engenheiro(a) de Equipamentos Júnior - Eletrônica - Petrobras 2011
Q56 (pág. 9), Q57 (pág. 39), Q58 (pág. 10), Q61 (pág. 40).
Prova: Engenheiro(a) de Equipamentos Júnior - Eletrônica - Petrobras 2010/2
Q55 (pág. 33), Q67 (pág. 1), Q68 (pág. 3), Q69 (pág. 5).
Prova: Engenheiro(a) de Equipamentos Júnior - Eletrônica - Petrobras 2010/1
Q4 (pág. 43), Q5 (pág. 11), Q25 (pág. 44), Q26 (pág. 45), Q57 (pág. 22), Q58 (pág. 26).
Prova: Engenheiro(a) Júnior - Área: Automação - Transpetro 2012
Q26 (pág. 12).
Prova: Engenheiro(a) Júnior - Área: Automação - Transpetro 2011
Q47 (pág. 36), Q48 (pág. 37), Q49 (pág. 38).
Prova: Engenheiro(a) Júnior - Área: Automação - Transpetro 2008
Q39 (pág. 13).
Prova: Engenheiro(a) Júnior - Área: Automação - Transpetro 2006
Q34 (pág. 15), Q35 (pág. 15), Q39 (pág. 18), Q40 (pág. 19).
Prova: Engenheiro(a) de Equipamentos Júnior - Eletrônica - Termoaçu 2008/1
Q42 (pág. 49), Q43 (pág. 6), Q57 (pág. 28), Q58 (pág. 29), Q59 (pág. 32), Q60 (pág. 30).
DRAFT
MIC., CLPs, ARQUIT. COMP. www.ExatasConcursos.com.br
Prova: Engenheiro(a) de Termelétrica Júnior - Eletrônica - Termoceará 2009
Q47 (pág. 35).
Prova: Engenheiro(a) - Eletrônica - Eletrobras Eletronuclear 2010
Q45 (pág. 8), Q46 (pág. 47).
Prova: Profissional Júnior - Eng. Eletrônica - BR Distribuidora 2008
Q46 (pág. 51).
Prova: Engenheiro(a) Equipamentos Pleno - Eletrônica - Petrobras 2006
Q33 (pág. 52), Q38 (pág. 53), Q58 (pág. 54).
Prova: Técnico de Instrumentação - Transpetro 2006
Q34 (pág. 17), Q37 (pág. 21).
Número total de questões resolvidas nesta apostila: 42
Material de uso exclusivo de www.ExatasConcursos.com.br. Sendo vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação e distribuição. Sujeitando-se o infrator à responsabilização civil e criminal.
AMOSTRA
GRÁ
TIS
AMOSTRA
GRÁ
TIS
AMOSTRA
GRÁ
TIS
MIC., CLPs, ARQUIT. COMP. www.ExatasConcursos.com.br 3
Questão 2
(Eng. de Equipamentos Jr Eletrônica - Petrobras 2010/2)
68 mov ax,4000h pop dx add ax,dx push ax mov ax,6000h pop dx add ax,dx pop dx add ax,dx
Dada a configuração inicial da pilha mostrada na Figura I, o valor do registrador ax, ao final da execução da sequên-cia de instruções acima, será
(A) 3000h (B) 5000h (C) B000h (D) C000h (E) D000h
Figura I
Resolução:
Abaixo vamos analisar cada linha do código, acompanhando a evolução da
pilha quando houver uma operação de retirada(
pop) ou de colocação (push) de
dados na pilha.
• mov ax,4000h → O registrador AX passa a guardar o valor 4000h. AX=4000h.
• pop dx → Esta instrução retira o dado atualmente apontado na pilha (1000h)
e o grava no registrador DX, ou seja, agora temos DX=1000h. Como houve
uma retirada de dado da pilha, o primeiro dado é consumido e o SP (stack
pointer ) agora desce para a próxima posição, ficando o seguinte:
ENGENHEIRO(A) DE EQUIPAMENTOS JÚNIOR ELETRÔNICA
16
63
Um registro de dados é composto, na seguinte ordem, por: - 3 inteiros de 32 bits;
- 1 vetor fixo de 3 caracteres; - 1 vetor fixo de 2 inteiros de 16 bits.
Caso o compilador esteja alinhando seus dados por
doublewords, o tamanho, em bytes, de uma variável des-se tipo de registro é (A) 19 (B) 20 (C) 22 (D) 24 (E) 25 64
Com relação ao uso de sub-rotinas por programas, anali-se as afirmativas a anali-seguir.
I – Rotinas da API, que usam o recurso de “Chamadas ao Sistema” dos processadores x86, só podem re-ceber um número fixo de parâmetros.
II – Funções de uma DLL escrita em Pascal, inviabili-zam sua utilização por programas escritos em C. III – Rotinas chamadas com empilhamento de
parâme-tros da direita para a esquerda podem receber um número variável de parâmetros.
Está correto o que se afirma em
(A) I, apenas. (B) I e II, apenas. (C) I e III, apenas. (D) II e III, apenas. (E) I, II e III.
65
Numa rotina implementada através de um serviço de in-terrupção por software, a passagem de parâmetros acon-tece via
(A) arquivo. (B) registrador. (C) pilha. (D) semáforo. (E) variáveis globais.
66
Laço: Para inicialmente i = 0 e x = 0, enquanto i < 7 x = x * (-1) Se x < i então x = x + i Fim Se i = i + 1 Fim Laço
Após o laço acima, o valor de X será (A) −1 (B) 1 (C) 2 (D) 3 (E) 4 67 mov bl,50h movzx cx,bl mov bl,0A0h movsx ax,bl add ax,cx
As instruções movsx e movzx são utilizadas para fazer a cópia de dados de registradores de 8 bits, como BL, para registradores de 16 bits, como AX e CX, respectivamente com extensão de sinal (movsx) e com enchimento de ze-ros (movzx). O valor do registrador AX, ao final da execu-ção da sequência de instruções acima, será
(A) FFF0h (B) FFFFh (C) 00F0h (D) 50A0h (E) A050h 68 mov ax,4000h pop dx add ax,dx push ax mov ax,6000h pop dx add ax,dx pop dx add ax,dx
Dada a configuração inicial da pilha mostrada na Figura I, o valor do registrador ax, ao final da execução da sequên-cia de instruções acima, será
(A) 3000h (B) 5000h (C) B000h (D) C000h (E) D000h
69
Uma rotina manipuladora de interrupção de um processa-dor x86, em um PC, termina com as seguintes instruções:
mov al,20h out 20h,al iret
Nesse contexto, considere as afirmativas abaixo.
I – A instrução out envia um comando de “Fim de
Interrupção” ao Controlador de Interrupções, per-mitindo que esse possa realizar novos pedidos de interrupção à CPU.
II – A instrução iret vai habilitar a aceitação de novos
pedidos de interrupção por parte da CPU, pois fará IF = 1.
III – A instrução iret fará com que a execução do
pro-grama principal interrompido seja retomada. Está correto o que se afirma em
(A) III, apenas. (B) I e II, apenas. (C) I e III, apenas. (D) II e III, apenas. (E) I, II e III.
Figura I
• add ax,dx → Esta instrução soma os valores atualmente contidos nos
regis-tradores AX e DX, guardando o resultado no registrador AX. Ou seja:
AX = 4000h + 1000h =
5000h.
• push ax → Esta instrução colocará o valor atualmente guardado no
regis-trador AX (5000h) no topo da pilha. Lembrando também que o SP irá subir
uma posição. Logo a configuração da pilha agora será:
63
Um registro de dados é composto, na seguinte ordem, por: - 3 inteiros de 32 bits;
- 1 vetor fixo de 3 caracteres; - 1 vetor fixo de 2 inteiros de 16 bits.
Caso o compilador esteja alinhando seus dados por
doublewords, o tamanho, em bytes, de uma variável
des-se tipo de registro é (A) 19 (B) 20 (C) 22 (D) 24 (E) 25 64
Com relação ao uso de sub-rotinas por programas, anali-se as afirmativas a anali-seguir.
I – Rotinas da API, que usam o recurso de “Chamadas ao Sistema” dos processadores x86, só podem re-ceber um número fixo de parâmetros.
II – Funções de uma DLL escrita em Pascal, inviabili-zam sua utilização por programas escritos em C. III – Rotinas chamadas com empilhamento de
parâme-tros da direita para a esquerda podem receber um número variável de parâmetros.
Está correto o que se afirma em
(A) I, apenas. (B) I e II, apenas. (C) I e III, apenas. (D) II e III, apenas. (E) I, II e III.
65
Numa rotina implementada através de um serviço de in-terrupção por software, a passagem de parâmetros acon-tece via
(A) arquivo. (B) registrador. (C) pilha. (D) semáforo. (E) variáveis globais.
66
Laço: Para inicialmente i = 0 e x = 0, enquanto i < 7 x = x * (-1) Se x < i então x = x + i Fim Se i = i + 1 Fim Laço
Após o laço acima, o valor de X será (A) −1 (B) 1 67 mov bl,50h movzx cx,bl mov bl,0A0h movsx ax,bl add ax,cx
As instruções movsx e movzx são utilizadas para fazer a cópia de dados de registradores de 8 bits, como BL, para registradores de 16 bits, como AX e CX, respectivamente com extensão de sinal (movsx) e com enchimento de ze-ros (movzx). O valor do registrador AX, ao final da execu-ção da sequência de instruções acima, será
(A) FFF0h (B) FFFFh (C) 00F0h (D) 50A0h (E) A050h 68 mov ax,4000h pop dx add ax,dx push ax mov ax,6000h pop dx add ax,dx pop dx add ax,dx
Dada a configuração inicial da pilha mostrada na Figura I, o valor do registrador ax, ao final da execução da sequên-cia de instruções acima, será
(A) 3000h (B) 5000h (C) B000h (D) C000h (E) D000h
69
Uma rotina manipuladora de interrupção de um processa-dor x86, em um PC, termina com as seguintes instruções:
mov al,20h out 20h,al iret
Nesse contexto, considere as afirmativas abaixo.
I – A instrução out envia um comando de “Fim de
Interrupção” ao Controlador de Interrupções, per-mitindo que esse possa realizar novos pedidos de interrupção à CPU.
II – A instrução iret vai habilitar a aceitação de novos
pedidos de interrupção por parte da CPU, pois fará IF = 1.
III – A instrução iret fará com que a execução do
pro-grama principal interrompido seja retomada. Está correto o que se afirma em
Figura I
5000h
Material de uso exclusivo de www.ExatasConcursos.com.br. Sendo vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação e distribuição. Sujeitando-se o infrator à responsabilização civil e criminal.
AMOSTRA
GRÁ
TIS
AMOSTRA
GRÁ
TIS
AMOSTRA
GRÁ
TIS
MIC., CLPs, ARQUIT. COMP. www.ExatasConcursos.com.br 4
• mov ax,6000h → Agora o registrador AX passa a guardar o valor 6000h.
AX=6000h.
• pop dx → É retirado o dado atualmente apontado na pilha (5000h) e este é
gravado no registrador DX, ou seja, agora temos DX=5000h. A nova
configu-ração da pilha é então:
ENGENHEIRO(A) DE EQUIPAMENTOS JÚNIOR ELETRÔNICA
16
63
Um registro de dados é composto, na seguinte ordem, por: - 3 inteiros de 32 bits;
- 1 vetor fixo de 3 caracteres; - 1 vetor fixo de 2 inteiros de 16 bits.
Caso o compilador esteja alinhando seus dados por
doublewords, o tamanho, em bytes, de uma variável des-se tipo de registro é (A) 19 (B) 20 (C) 22 (D) 24 (E) 25 64
Com relação ao uso de sub-rotinas por programas, anali-se as afirmativas a anali-seguir.
I – Rotinas da API, que usam o recurso de “Chamadas ao Sistema” dos processadores x86, só podem re-ceber um número fixo de parâmetros.
II – Funções de uma DLL escrita em Pascal, inviabili-zam sua utilização por programas escritos em C. III – Rotinas chamadas com empilhamento de
parâme-tros da direita para a esquerda podem receber um número variável de parâmetros.
Está correto o que se afirma em
(A) I, apenas. (B) I e II, apenas. (C) I e III, apenas. (D) II e III, apenas. (E) I, II e III.
65
Numa rotina implementada através de um serviço de in-terrupção por software, a passagem de parâmetros acon-tece via
(A) arquivo. (B) registrador. (C) pilha. (D) semáforo. (E) variáveis globais.
66
Laço: Para inicialmente i = 0 e x = 0, enquanto i < 7 x = x * (-1) Se x < i então x = x + i Fim Se i = i + 1 Fim Laço
Após o laço acima, o valor de X será (A) −1 (B) 1 (C) 2 (D) 3 (E) 4 67 mov bl,50h movzx cx,bl mov bl,0A0h movsx ax,bl add ax,cx
As instruções movsx e movzx são utilizadas para fazer a cópia de dados de registradores de 8 bits, como BL, para registradores de 16 bits, como AX e CX, respectivamente com extensão de sinal (movsx) e com enchimento de ze-ros (movzx). O valor do registrador AX, ao final da execu-ção da sequência de instruções acima, será
(A) FFF0h (B) FFFFh (C) 00F0h (D) 50A0h (E) A050h 68 mov ax,4000h pop dx add ax,dx push ax mov ax,6000h pop dx add ax,dx pop dx add ax,dx
Dada a configuração inicial da pilha mostrada na Figura I, o valor do registrador ax, ao final da execução da sequên-cia de instruções acima, será
(A) 3000h (B) 5000h (C) B000h (D) C000h (E) D000h
69
Uma rotina manipuladora de interrupção de um processa-dor x86, em um PC, termina com as seguintes instruções:
mov al,20h out 20h,al iret
Nesse contexto, considere as afirmativas abaixo.
I – A instrução out envia um comando de “Fim de
Interrupção” ao Controlador de Interrupções, per-mitindo que esse possa realizar novos pedidos de interrupção à CPU.
II – A instrução iret vai habilitar a aceitação de novos
pedidos de interrupção por parte da CPU, pois fará IF = 1.
III – A instrução iret fará com que a execução do
pro-grama principal interrompido seja retomada. Está correto o que se afirma em
(A) III, apenas. (B) I e II, apenas. (C) I e III, apenas. (D) II e III, apenas. (E) I, II e III.
Figura I 5000h
• add ax,dx → Esta instrução soma os valores atualmente contidos nos
regis-tradores AX e DX, guardando o resultado no registrador AX. Ou seja:
AX = 6000h + 5000h =
B000h.
• pop dx → É retirado o dado atualmente apontado na pilha (2000h) e o mesmo
é gravado no registrador DX, ou seja, agora temos DX=2000h.
• add ax,dx → Esta instrução soma os valores atualmente contidos nos
regis-tradores AX e DX, guardando o resultado no registrador AX. Ou seja:
AX = B000h + 2000h =
D000h.
Como podemos ver, após executar o código o valor guardado no registrador
AX será igual a
D000h.
Alternativa (E)
Material de uso exclusivo de www.ExatasConcursos.com.br. Sendo vedada, por quaisquer meios e a qualquer título, a sua reprodução, cópia, divulgação e distribuição. Sujeitando-se o infrator à responsabilização civil e criminal.
AMOSTRA
GRÁ
TIS
AMOSTRA
GRÁ
TIS
AMOSTRA
GRÁ
TIS
MIC., CLPs, ARQUIT. COMP. www.ExatasConcursos.com.br 43
Questão 31
(Engenheiro(a) Equipamentos Júnior - Eletrônica - Petrobras 2010/1)
4
mov cx,4
mov esi,20000000h mov dx,6000h
rep outs dx, dword ptr [esi]
Ao executar a sequência de instruções acima, o número de ciclos de barramento gastos pela instrução rep outs e o número de bytes transferidos, num processador x86 com 32 bits de barramento de dados externo, são, respectiva-mente: (A) 2 e 8 (B) 2 e 16 (C) 4 e 4 (D) 4 e 8 (E) 4 e 16