Despues de cmp A, B Instruccion Expresion (Branch if) Funcion
(A == B) nat., ent. beq Dir. EQual Si Z==1, PC = Dir.
(A != B) nat., ent. bne Dir. Not Equal Si Z==0, PC = Dir. (A > B) naturales bhi Dir. HIgher Si C==1 & Z==0, PC = Dir. (A < B) naturales blo Dir. LOwer Si C==0, PC = Dir. (A >= B) naturales bhs Dir. Higher or Same Si C==1, PC = Dir. (A <= B) naturales bls Dir. Lower or Same Si C==0 | Z==1, PC = Dir. (A > B) enteros bgt Dir. Great Than Si N==V & Z==0, PC = Dir. (A < B) enteros blt Dir. Less Than Si N!=V, PC = Dir. (A >= B) enteros bge Dir. Great or Equal Si N==V, PC = Dir. (A <= B) enteros ble Dir. Less or Equal Si N!=V | Z==1, PC = Dir.
Cmo se implementa la instruccin v[0] = temp; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1? str r3, [r0] @; r3 es temp
Cmo se implementa la instruccin v[i] = v[i-1]; si suponemos que el primer parmetro se pasa por el registro r0, el segundo parmetro por r1, y las variables locales i y temp se ubican en los registros r2 y r3, respectivamente? ldr r4, [r0, r2, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
Cmo se implementa la instruccin int temp = v[n-1] si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1? sub r2, r1, #1 / ldr r3, [r0, r2, lsl #2] @; r3 es temp ? Cmo se implementa la instruccin suma += matriz[j][i]; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, suma se implementan en los registros r2, r3 y r4, respectivamente? add r6, r2, r3, lsl #4 / ldr r5, [r0, r6, lsl #2] / add r4, r5
Cmo se implementa la instruccin suma += matriz[i][j]; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, suma se implementan en los registros r2, r3 y r4, respectivamente? add r6, r3, r2, lsl #4 / ldr r5, [r0, r6, lsl #2] / add r4, r5
Cmo se implementa la instruccin v[i] = v[i-1]; si suponemos que el primer parmetro se pasa por el registro r0, el segundo parmetro por r1, y las variables locales i y temp se ubican en los registros r2 y r3, respectivamente? ldr r4, [r0, r2, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
Cmo se implementa la lnea if (*a < 10) *c = a; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1? ldr r2, [r0] / cmp r2, #10 / bge .Lelse / mov r3, #a / strb r3, [r1]
Suponiendo que. Suponiendo que el contenido de algunos registros sea el siguiente: r0 0x0000 r1 0x0001 r4 0x00FE37A1 r5 0xFFFFFFFE Cul ser el contenido de los registros r0 y r1 despus de ejecutar las instrucciones push {r0, r1, r4, r5} y pop {r0, r4, r1, r5}? r0 = 0x00000000; r1 = 0x00000001 Cul ser el contenido de los registros r0 y r1 despus de ejecutar las instrucciones push {r5, r4} y pop {r0, r1}? r0 = 0x00FE37A1; r1 = 0xFFFFFFFE
Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v1: .byte 8 .align 2 Cul ser la siguiente direccin de ensamblado si v1 se almacena en 0x10034? 0x10038
Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v3: .word 32 Cmo se puede cargar el contenido de memoria de v3 en el registro r0? ldr r1, =v1 / ldr r0, [r1]
Suponiendo que r13 = 0x07DC y r14 = 0x84AC, Cul es el valor del r13 despus de ejecutar la instruccin push {r0-r2, lr}?r13 = 0x07CC Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v6: .byte 1, 2, 3, 4, 5, 6 .align 1 Cul ser la siguiente direccin de ensamblado si v6 se almacena en 0x10060? 0x10066
Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v3: .hword 0x0800 .align 2 Cul ser la siguiente direccin de ensamblado si v3 se almacena en 0x10040? 0x10044
Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v4: .space 10 .align 2 Cul ser la siguiente direccin de ensamblado si v4 se almacena en 0x10050? 0x1005C
Suponiendo que tenemos el siguiente trozo de programa en lenguaje mquina: Qu instruccin corresponde a una instruccin del tipo ldr r1, =v1? ldr r1, [pc, #16]
Suponiendo que el contenido inicial de la pila y de algunos registros sea el siguiente: 0x07E8 0x00000000 r0 0x0000 0x07EC 0x0800CACB r1 0x0001 0x07F0 0xC37D12FD 0x07F4 0x509AE246 r4 0x00FE37A1 0x07F8 0xF0B57D8B r5 0xFFFFFFFE 0x07FC 0x35CD0523 0x0800 0x000127AC r13 0x000007F4 Cal ser el contenido pop {r0, r1}? r0 = 0x509AE246; r1 = 0xF0B57D8B Cal ser el contenido pop {r0, r1,r4-r7}? r4=0x35CD0523=0X00012FAC Cal ser el contenido push{r0,r4-r5} M[0x07E8]=0x00000; M[0X07EC]=0x000001
Suponiendo que r0 contiene un nmero entero Qu instruccin podemos utilizar para dividir el contenido de r0 por 16? mov r0, r0, asr # Suponiendo que r0 = 0x84FA 0123, qu valor contendr r1 despus de ejecutar la instruccin mov r1, r0, lsl #4? 0x4FA0 1230 Suponiendo que r0 = 0x84FA 0123, qu valor contendr r1 despus de ejecutar la instruccin mov r1, r0, ror #4? 0x384F A012 0x8000 ldr r1, [pc, #16] 0x8004 ldr r1, [r0] 0x8008 ldr r1, [r0, r2] 0x800C ldr r1, [r0, r2, lsl #3] 0x8010 b 0x8010 0x8014 (0x0001 0034) Suponiendo que r0 = 0x0000 0023 y r1 = 0x800A 3FF9 Cul de las siguientes instrucciones saltar despus de ejecutar cmp r0, r1? bgt Suponiendo que r0 = 0x84FA 0123, qu valor contendr r1 despus de ejecutar la instruccin mov r1, r0, lsl #4? 0x4FA0 1230 Suponiendo que se han declarado las constantes Base (dir. base), NC (nm. columnas), NF (nm. filas) y T (tamao elementos), cul es la frmula para calcular la direccin de memoria de un elemento (i, j) de una matriz almacenada por filas? dir(i, j) = Base + (i * NC + j) * T Suponiendo que se han cargado los registro r0, r1, r2, r3 y r4 con la direccin base de una matriz de tipo int (r0), el nmero de columnas (r1), el nmero de filas (r2), el ndice i (r3) y el ndice j (r4), cmo se puede implementar en lenguaje mquina la instruccin k = matriz[i][j];, donde k se tiene que guardar en el registro r6? mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #2] Suponiendo que r0 = 0x84FA 0123, qu valor contendr r1 despus de ejecutar la instruccin mov r1, r0, ror #4? 0x384F A012
Suponiendo que un programa ha ejecutado 500 instrucciones de lenguaje mquina, de las cuales 400 han gastado 1 ciclo mquina, 80 han gastado 3 ciclos mquina y 20 han gastado 4 ciclos mquina, cul es el tiempo de ejecucin si el procesador trabaja a 2 GHz de frecuencia? 360 nanosegundos Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de ejecutar and r2, r1, r0, lsl #2? r2 = 8 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de ejecutar orr r2, r1, r0, lsr #2? r2 = 11 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de ejecutar eor r2, r1, r0, asr #1? r2 = 9 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de la instruccin orr r2, r1, r0? r2 = 14 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de la instruccin eor r2, r1, r0? r2 = 12 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de ejecutar tst r1, r0, ror #1? Flag Z = 0 Suponiendo que los contenidos de r0 i r1 sean 20 i 40 respectivamente Cul es el resultado de la instruccin sub r2, r1, r0, lsr #2? r2 = 35 Suponiendo que los contenidos de r0 i r1 sean 1 i 4 respectivamente.Cul es el resultado de la instruccin add r2, r0, r1, lsl #2? r2 =17 Suponiendo que los contenidos de r0 i r1 sean 1 i 4 respectivamente.Cul es el resultado de la instruccin sub r2, r0, r1, lsr #2? r2 =4
Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v1: .byte 8 Cmo se puede cargar la direccin de memoria de v1 en el registro r0? ldr r0, =v1 Cmo se puede cargar el contenido de memoria de v1 en el registro r0? ldr r1, =v1 / ldrb r0, [r1]
Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v3 .hword 0x0800 .align2 Cul ser la siguiente direccin de ensamblado si v3 se almacena en 0x10040? 0x10044
Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v6: .byte 1, 2, 3, 4, 5, 6 .align 1 Cul ser la siguiente direccin de ensamblado si v6 se almacena en 0x10060? 0x10066
Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v5: .byte 1, 2, 3, 4, 5 .align 1 Cul ser la siguiente direccin de ensamblado si v5 se almacena en 0x10060? 0x10066
Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v2: .hword 16 Cmo se puede grabar el contenido del registro r0 en la posicin de memoria de v2? ldr r1, =v1 / strh r0, [r1]
Suponiendo que se han cargado los registro r0, r1, r2, r3 y r4 con la direccin base de una matriz de tipo short (r0), el nmero de columnas (r1), el nmero de filas (r2), el ndice i (r3) y el ndice j (r4), cmo se puede implementar en lenguaje mquina la instruccin k = matriz[i][j];, donde k se tiene que guardar en el registro r6? mul r5, r3, r1 / add r5, r4/ ldrh r6, [r0, r5, lsl #1] Suponiendo que la variable v1 se encuentra en la posicin de memoria 0x10034, cuando se ejecuta una instruccin del tipo ldr r1, =v1, dnde localiza el procesador la direccin de memoria 0x10034 para cargarla en el registro r1? en memoria, dentro de la seccin de instrucciones Suponiendo que la variable v1 se encuentra en la posicin de memoria 0x10034, cuando se codifica una instruccin del tipo ldr r1, =v1, qu tipo de direccionamiento a memoria se utiliza para cargar la direccin de la variable? relativo a pc Suponiendo que la variable v1 se encuentra en la posicin de memoria 0x10034, cuando el programa ensamblador traduce una instruccin del tipo ldr r1, =v1, qu tipo de instruccin codifica en lenguaje mquina? ldr r1, [pc, #desp] (dnde desp es el desplazamiento hasta un posicin del programa) Suponiendo que la variable v1 se encuentra en la posicin de memoria 0x10034, cuando se codifica una instruccin del tipo ldr r1, =v1, cuntos bits de memoria se utilizan para guardar dicha posicin de memoria? 32
Suponiendo que tenemos la siguiente declaracin en lenguaje C: int matrix[][] = {{2, -5, 90}, {-12, 82, 0}, {-4, 850, -100}};, y que la variable global matrix se empieza a guardar en la direccin 0x10034, En que direccin se almacenar el valor 0? 0x10048
Si un operando inmediato de una instruccin ARMv4 define los campos IR = 0110 e IN = 00101101, Cul s el valor resultante (todo en binario)? 00000010 11010000 00000000 00000000 Si un operando inmediato de una instruccin ARMv4 define los campos IR = 1110 e IN = 0001111, Cul s el valor resultante (todo en binario)? 00000000 00000000 00001111 00000000 Cuntos..?
Cuntos registros de lenguaje mquina del ARMv4 se pueden usar como operandos de las instrucciones aritmticas? 16 Cantos bits tiene una instruccin de lenguaje mquina de un procesador ARMv4 (en modo ARM)? 32 Cuntos bits del registro r0 se modifican con la instruccin ldrh r0, [r1, r2, lsl #2]? 32 Cuntos bits contienen cada registro del ARMv4? 32 De cuntos bits disponen las instrucciones de un procesador ARMv4 para codificar el identificador de un registro de lenguaje mquina (en modo ARM)? 4 (en modo THUMB)?16 Cuntos bits se reservan en una instruccin ARMv4 para codificar un operando inmediato? 12 Cuntos bytes puede insertar el programa ensamblador como respuesta a una directiva .align 2? 0, 1, 2 o 3 Cuntos bytes puede insertar el programa ensamblador como respuesta a una directiva .align 1? 0 o Cuntos bytes puede capturar de memoria simultneamente un procesador ARMv4 en un slo acceso? 4 Cuntos registros de lenguaje mquina para almacenar datos en general dispone el procesador ARMv4? 13 Cuntas posiciones de memoria puede direccionar un sistema programable basado en ARMv4? 2 elevado a 32
Qu.....??
Qu tipo de informacin pueden contener los registros de lenguaje mquina del ARMv4?datos y direcciones Qu tipo de instrucciones generan siempre un secuenciamiento explcito? de salto incondicional Qu directiva se utiliza para reservar espacio de memoria para una variable no inicializada? .space n (n = nmero de bytes a reservar) Qu directiva sirve para definir una variable global inicializada de tipo int o 32 bits? .word Qu directiva sirve para definir una variable global inicializada de 8 bits? byte Qu directiva sirve para definir una variable global inicializada de tipo shorto 16 bits? hword Qu directiva sirve para definir una variable global inicializada de tipo char? .byte Qu registro del ARMv4 hace las funciones de puntero de pila (stack pointer)? r13 Qu registro del ARMv4 hace las funciones de contador de programa (program counter)?r15 Qu registro tiene que guardarse a la pila en la primera instruccin push de una rutina para permitir el retorno correctamente? el registro 14 (lr) Qu registros hay que restaurar al final de una rutina? todos los que se modifican excepto los registro que retornan resultado Qu instrucciones de salto condicional se pueden utilizar despus de una instruccin tst? beq y bne Qu instruccin de lenguaje mquina se utiliza para invocar una rutina? bl Qu instruccin podemos utilizar para multiplicar el contenido de r0 por 16? mov r0, r0, lsl #4 Qu instrucciones de salto condicional se pueden utilizar despus de una instruccin tst? beq y bne Qu registro del procesador se encarga de memorizar la direccin de la instruccin de lenguaje mquina a ejecutar? el r15 (pc) Qu registro tiene que recuperar de la pila la direccin de retorno en la ltima instruccin pop de una rutina? el registro 15 (pc) Qu son los smbolos del lenguaje ensamblador? Los nombres de las variables y las etiquetas de salto Qu bits del registro r0 se graban en memoria con la instruccin strh r0, [r1, r2, lsl #2]? los 16 de menos peso
A qu nivel est definida una sentencia como bne .Lbucle? nivel de lenguaje ensamblador A qu nivel est definida una instruccin como bne 0x8008? nivel de lenguaje mquina
De..
Del banco de 16 registros de lenguaje mquina del procesador ARMv4, cuntos tienen un propsito especfico? 3 De los 12 bits que se reservan en una instruccin ARMv4 para codificar el operando inmediato Cuntos se utilizan para indicar el desplazamiento del patrn que configura los bits a 1 en el nmero final? 4 De los tipos de bus que componen un sistema programable, cul de ellos se encarga de transferir datos entre el procesador y la memoria? bus de datos De los tipos de bus que componen un sistema programable, cul de ellos se encarga de indicar las posiciones de memoria donde se encuentran los datos del programa? bus de direcciones De los elementos que componen un procesador, cul de ellos est implementado bsicamente como un autmata? unidad de control De los elementos que componen un procesador, cul de ellos controla el contenido del bus de direcciones? unidad de clculo de direcciones De los elementos que componen un procesador, cul de ellos se encarga de almacenar temporalmente valores para realizar clculos? Registros De los elementos que componen un procesador, cul de ellos se encarga de realizar clculos que requieren las instrucciones de lenguaje mquina? unidad aritmtico-lgica De los elementos que componen un procesador, cul de ellos se encarga de calcular las posiciones de memoria donde se encuentran los datos del programa? unidad de clculo de direcciones De los elementos que componen un sistema programable, cul de ellos se encarga de transferir informacin con el exterior? controladores de entrada/salida De los tipos de bus que componen un sistema programable, cul de ellos se encarga de transferir datos entre el procesador y los controladores de entrada/salida? bus de datos
En..
En ARMv4, de cantos bits es el valor derivado de un operando inmediato (despus de realizar el desplazamiento pertinente)? 32 En ARMv4, hacia dnde se deplaza el patrn de bits a 1 de un operando inmediato?hacia la derecha En el proceso de ensamblado, qu patrn se puede aplicar a las etiquetas de salto? una declaracin, mltiples referencias de salto En qu seccin se deben ubicar las etiquetas de salto? .text En qu seccin se deben ubicar las variables globales no inicializadas? .bss En qu seccin se deben ubicar las variables globales inicializadas? .data En qu seccin se deben ubicar las instrucciones de lenguaje maquina? .text En lenguaje ensamblador GAS, Cmo se puede definir que una etiqueta de salto es accesible desde otros mdulos (ficheros) del programa? con la directiva .global En lenguaje ensamblador GAS para ARMv4, cmo se especifican los valores inmediatos de las instrucciones de lenguaje mquina? con el prefijo # En un programa escrito en lenguaje mquina del ARMv4, con el conjunto propio de instrucciones thumb (no arm), cmo son las direcciones asociadas a las etiquetas de salto? mltiples de 2 En lenguaje ensamblador Qu es lo que define un smbolo del programa como una etiqueta de salto? el sufijo : En lenguaje ensamblador GAS para ARMv4, cules son los tipos de valores que pueden ir como valores inmediatos de las instrucciones de lenguaje mquina, es decir, detrs de un carcter #? valores en cualquier base En un desplazamiento de un registro a la derecha con el operardor asr, qu valor se introduce por el bit de ms peso del registro? 0 si el nmero es positivo, 1 si es negativo lsr siempre 0 En una rotacin de un registro a la derecha con el operardor ror, qu valores se introducen por el bit de ms peso del registro? los bits de menor peso que se desplazan En lenguaje ensamblador GAS, Cmo se puede definir que una etiqueta de salto es accesible desde otros mdulos (ficheros) del programa? con la directiva .global
Dado..
1.-Dado el siguiente contenido de una porcin de la memoria:
Cul es el word que se encuentra en la posicin 0x10034, con una ordenacin Little Endian? 0xE3AC6000 Cul es el half word que se encuentra en la posicin 0x10034, con una ordenacin Big Endian? 0x0060
2.-Dado el siguiente programa escrito en lenguaje mquina:
Ciclos Cuntos ciclos mquina se necesitan para ejecutar las instrucciones desde 0x8000 hasta 0x8014 (no inclusive), suponiendo que, en general, una instruccin diferente de un salto necesita 1 ciclo, una instruccin de salto con secuenciamiento explcito necesita 3 ciclos, y una instruccin de salto con secuenciamiento implcito necesita 4 ciclos? Cuntas instrucciones se ejecutan desde 0x8000 hasta que se llega a 0x8018? 18
3.-Dado el siguiente contenido de memoria y de algunos registros de lenguaje mquina: 0x1003F 0x8B 0x10040 0x7D r2 0x00004 0x10041 0xB5 r3 0x10040 0x10042 0xF0 r4 0x00001 0X10043 0x23 0X10044 0x05 Cul es el resultado de la instruccin ldsh r0, [r3, r2, ror r4]? r0 = 0x000023F0 Cul es el resultado de la instruccin strb r2, [r3, r4, lsl #1]? M[0x10042] = 0x04;
4.- Dado el siguiente fragmento de un programa escrito en lenguaje mquina: 0x80A4 bl 0x81FC 0x80A8 Qu valor se guardar en el registro lr (r14)? 0x80A8
5.- Dado el siguiente contenido de memoria y de algunos registros de lenguaje mquina: 0x10034 0xCA 0x10035 0x00 r2 0x00004 0x10036 0x08 r3 0x10034 0x10037 0xFD r4 0x00001 0X10038 0x12 Cul es el resultado de la instruccin ldsb r0, [r3, #3]? r0 = 0xFFFFFFFD Cul es el resultado de la instruccin ldrh r0, [r3, r2]? r0 = 0x00007D12
0x10032 0xD2 0x10032 0x41 0x10033 0x7F 0x10034 0x00 0x10035 0x60 0x10036 0xAC 0x10036 0xE3 Por convenio, Cmo se tienen que nombrar las etiquetas de salto locales a una seccin de cdigo escrito en ensamblador GAS? empezando por .L Si la primera instruccin se ensambla a partir de la posicin 0x8000, Que direccin le corresponde al smbolo .Lbucle? 0x8008 Dnde guarda la direccin de retorno una instruccin de llamada a rutina bl? en el registro 14 (lr) Cundo hay que aadir el sufijo : a una etiqueta de salto? cuando se declara la etiqueta Dados los dos campos IR e IN que definen un operando inmediato en una instruccin de lenguaje mquina de ARMv4, Cul es la operacin que realiza el procesador para obtener el valor inmediato correspondiente? IN rotado IR*2 bits a la derecha
Cul??
Cul es el significado del flag Z? la operacin anterior ha resultado igual a cero Flag C acarreo Cul es el significado del flag N? la operacin anterior ha resultado negativa Flag V desbordamiento Cul tiene que ser siempre la ltima instruccin de una rutina? Pop Cul instruccion efectua un salto condicional? Beq Cul instruccion efectua un salto incondicional? Bl Cul es la instruccin para saltar cuando dos nmeros naturales sn iguales? Beq Cul es la instruccin para saltar cuando un nmero natural es mayor o igual que otro? Bhs Cul es la instruccin para saltar cuando un nmero natural es menor o igual que otro? Bls Cul es la instruccin para saltar cuando un nmero natural es mayor estricto que otro? Bhi Cul es la instruccin para saltar cuando un nmero natural es menor o estricto que otro? Blo Cul es la instruccin para saltar cuando un nmero entero es mayor estricto que otro? Bgt Cul es la instruccin para saltar cuando un nmero entero es menor estricto que otro? blt Cul es la instruccin para saltar cuando un nmero entero es menor o igual que otro? Ble Cul es la instruccin para saltar cuando un nmero entero es mayor o igual que otro? Bge
Cul de las siguientes instrucciones sirve para cargar un byte de memoria en un registro de lenguaje mquina? Ldrb Cul de las siguientes instrucciones sirve para grabar el valor entero de un registro de lenguaje mquina en un byte de memoria? strb Cul de las siguients instruccions sirve para graba el contenido de un registro de lenguaje mquina en un half- word de memoria? Strh Cul de las siguientes instrucciones sirve para cargar un byte de memoria que representa un valor entero en un registro de lenguaje mquina? ldsb Cul de las siguientes instrucciones sirve para cargar un word de memoria en un registro de lenguaje mquina? ldr Cul de las siguientes instrucciones sirve para cargar un half-word de memoria en un registro de lenguaje mquina? Ldrh Cul de las siguientes instrucciones es capaz de multiplicar el contenido de r0 por -3? sub r0, r0, lsl #1 Cul de los siguientes pares de instrucciones deja la pila en un estado inconsistente? push {r4-r6, r8, r10} / pop {r4-r5, r8, r10} Cul es el secuenciamiento explcito de un programa en lenguaje mquina? el que ejecuta la instruccin de la posicin de memoria que indica una instruccin de salto Cul es el nmero de bits mnimo que puede capturar de memoria un procesador ARMv4 en un slo acceso? 8 Cul es el nmero de bytes mnimo que puede capturar de memoria un procesador ARMv4 en un slo acceso? 1 Cul de las siguientes lneas de cdigo no es una directiva de ensamblador? _start: Cul tiene que ser el nombre de la etiqueta de inicio de un programa escrito en ensamblador GAS? _start: Cul es el rango mximo de los nmeros naturales que puede manejar intrnsecamente un procesador ARMv4? de 0 a 4294967295 Cul de los siguientes operadores se emplea para desplazar el contenido de un registro cierto nmero de bits a la izquierda? Lsl Cul de los siguientes operadores se emplea para rotar el contenido de un registro cierto nmero de bits a la derecha, realimentando los bits que salen por la izquierda? Ror Cul de los siguientes operadores se emplea para desplazar el contenido de un registro cierto nmero de bits a la derecha, suponiendo que el valor a desplazar es un entero Ca2? Asr Cul es el secuenciamiento implcito de un programa en lenguaje mquina? el que ejecuta la instruccin siguiente en memoria a la instruccin actual Cul de los siguientes nmeros no se puede codificar directamente como un operando inmediato de una instruccin ARM?51
Como se traduce?? (in short)
Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C int matrix[][] = {{2, -5, 90}, {-12, 82, 0}, {-4, 850, -100}};? matrix: .word 2, -5, 90, -12, 82, 0, -4, 850, -100 Cmo se traduce en ensamblador la declaracin en lenguaje C short vct[] = { 0, -1, 2, -3, 4000};? vct: .hword 0, -1, 2, -3, 4000 La llamada en C func1(a, &b);, suponiendo que son de tipo int = ldr r0, =a / ldr r0, [r0] / ldr r1, =b / bl func1 La llamada en C b = func2(a);, suponiendo que la variable a es de tipo int, que la variable c es de tipo char,ldr r0, =a / ldr r0, [r0] / bl func2 / ldr r2, =b / strb r1, [r2]
El acceso en C v[0] = i;, suponiendo el vector v es de tipo char= strb r0, [r1] El acceso en C v[1] = i;, suponiendo el vector v es de tipo short= strh r0, [r1, #2] El acceso en C v[i] = 0;, suponiendo el vector v es de tipo char = mov r2, #0 / strb r2, [r1, r0] El acceso en C v[1] = i;, suponiendo el vector v es de tipo char = strb r0, [r1, #1] El acceso en C v[i] = 1;, suponiendo el vector v es de tipo int, = mov r2, #1 / str r2, [r1, r0, lsl #2]
La instruccin en C c = a*2 - b;= sub r2, r0, lsl #1 / add r2, r1 La instruccin en C c *= a + b; = add r3, r0, r1 / mul r2, r2, r3 La instruccin en C c = a*a + b; = mul r2, r0, r0 / add r2, r1 La instruccin en C c = a ^ b; = eor r2, r0, r1 La instruccin en C c = a | b; = orr r2, r0, r1 La instruccin en C c = a & b; = and r2, r0, r1 La instruccin en C a = a << b; = mov r0, r0, lsl r1 La instruccin en C b += a*2; = add r1, r0, lsl #1 La instruccin en C a++; = ldr r1, =a / ldr r0, [r1] / add r0, #1 / str r0, [r1] La instruccin en C a = ~a;= ldr r1, =a / ldr r0, [r1] / mvn r0, r0 / str r0, [r1]
La estructura en C if ((a > 0) && (b < a)) = cmp r0, #0 / ble .Lfinif / cmp r1, r0 / bge .Lfinif / / .Lfinif: La estructura en C if (a < 0) {...}, = cmp r0, #0 / bge .Lfinif / / .Lfinif: La estructura en C if (a <= 10) {...} = cmp r0, #10 / bhi .Lfinif / / .Lfinif: La estructura en C if (a == 0) {...}= cmp r0, #0 / bne .Lfinif / / .Lfinif: La estructura en C if (a >= 0) {...}= cmp r0, #0 / blt .Lfinif / / .Lfinif: La estructura en C if (a > 10) {...}= cmp r0, #10 / bls .Lfinif / / .Lfinif: La estructura en C i = 0; do {..} while (i < 10) = mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo La estructura en C i = 0; while (i < 10) {...} = mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile: La estructura en C if (a < 10) a++; else {...} = cmp r0, #10 / bhs .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif: La estructura en C for (i = 0; i < 10; i++) {...} = mov r0, #0 / .Lfor: / / add r0, #1 / cmp r0, #10 / blo .Lfor La estructura en C for (i = 0; i < j; i++) {...}= mov r0, #0 / cmp r0, r1 / bge .Lfinfor / .Lfor: / / add r0, #1 / cmp r0, r1 / bls .Lfor / .Lfinfor: La estructura en C if ((a > 0) || (b < a)) {...}= cmp r0, #0 / bgt .Lif/cmp r1, r0 /blt .Lif/b .Lfinif / .Lif: //.Lfinif: La estructura en C if ((a > 0) && (b < a)) {...}= cmp r0, #0 / ble .Lfinif / cmp r1, r0 / bge .Lfinif / / .Lfinif La estructura en C if (a != 0) {...}= cmp r0, #0 / beq .Lfinif / / .Lfinif: La estructura en C if (a & 0x10) {...}= tst r0, #0x10 / bne .Lfinif / / .Lfinif
Cmo....????
Cmo se implementa la instruccin matriz[j*num_files + i] = temp; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, temp se implementan en los registros r2, r3 y r4, respectivamente? mul r5, r3, r1 / add r5, r2 / str r4, [r0, r5, lsl #2] Cmo se traduce una variable global inicializada definida en ensamblador a lenguaje mquina? como una direccin de memoria ms un dato en memoria Cmo se traduce una etiqueta de salto definida en ensamblador a lenguaje mquina? como una direccin de memoria Cmo se traduce en lenguaje ensamblador a lenguaje maquina? No tiene una traduccion directa Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C unsigned char c = C;? c: .byte C Cmo se especifica un valor binario en lenguaje ensamblador GAS? con el prefijo 0b Cmo se especifica un valor octal en lenguaje ensamblador GAS? con el prefijo 0 Cmo se especifica un valor decimal en lenguaje ensamblador GAS? escribiendo el nmero directamente Cmo se guarda en el sistema de ficheros del ordenador un programa en lenguaje mquina? como un fichero de cdigos binarios Cmo se puede alinear la memoria a hword? align 1 Cmo se puede alinear la memoria a word? Cmo consigue el procesador efectuar un secuenciamiento implcito? sumando 4 al pc 7 Cmo se consigue el retorno de una rutina con las instrucciones push de inicio i pop de fin? salvando el registro lr y recuperando su contenido en el pc Cmo se organiza la memoria de un sistema programable basado en ARMv4? como un vector de bytes Cmo se llenan los bits altos del registro r0 con una instruccin ldrh r0, [r1, #2]? los 16 bits altos a 0 Cmo se llenan los bits altos del registro r0 con una instruccin ldsh r0, [r1, #2]? los 16 bits altos al valor del signo del nmero que se est cargando Como mximo, de cuntos campos identificadores de registro disponen las instruccin de un procesador ARMv4 (en modo ARM)? 4 Cmo se puede cargar en r1 el contenido de r0 complementado bit a bit (los 0 pasan a 1 y viceversa)? mvn r1, r0 Cmo se almacena la informacin en la memoria de un computador? como nmeros Cmo se modifica el registro sp despus de ejecutar una instruccin pop {r0-r3, lr}? sp = sp + 20 Cmo se marca un comentario en lenguaje ensamblador GAS? empezando el comentario con un carcter @
Cul de las siguientes instrucciones sirve para grabar el contenido de un registro de lenguaje mquina en un byte de memoria? Trieu una resposta.
b. strb
Cul es la instruccin para saltar cuando un nmero natural es mayor o igual que otro? Trieu una resposta.
a. bhs
Suponiendo que un programa ha ejecutado 500 instrucciones de lenguaje mquina, de las cuales 400 han gastado 1 ciclo mquina, 80 han gastado 3 ciclos mquina y 20 han gastado 4 ciclos mquina, cul es el tiempo de ejecucin si el procesador trabaja a 1 GHz de frecuencia? Trieu una resposta.
a. 720 nanosegundos
Dado el siguiente programa escrito en lenguaje mquina: 0x8000 mov r0, #5 0x8004 mov r1, #2 0x8008 cmp r0, r1 0x800C bhi 0x8014 0x8010 mov r1, r1, lsl #1 0x8014 cmp r1, r0 0x8018 bhi 0x8008 0x801C b 0x801C Cuntos ciclos mquina se necesitan para ejecutar las instrucciones desde 0x8000 hasta 0x801C (no inclusive), suponiendo que, en general, una instruccin diferente de un salto y diferente de una multiplicacin necesita 1 ciclo, una instruccin de salto con secuenciamiento explcito necesita 3 ciclos, y una instruccin de salto con secuenciamiento implcito necesita 4 ciclos? Trieu una resposta.
c. 11
Suponiendo que r0 = 0x84FA 0123, qu valor contendr r1 despus de ejecutar la instruccin mov r1, r0, lsr #4?
c. 0x084F A012
Qu tipo de instrucciones pueden generar un secuenciamiento explcito? Trieu una resposta.
c. de salto
Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v2: .byte 16 .align 1 Cul ser la siguiente direccin de ensamblado si v2 se almacena en 0x10038? Trieu una resposta.
c. 0x10040
En lenguaje ensamblador GAS para ARMv4, cules son los tipos de valores que pueden ir como valores inmediatos de las instrucciones de lenguaje mquina, es decir, detrs de un carcter #? Trieu una resposta.
a. valores en cualquier base
Qu registros hay que salvar al inicio de una rutina?
b. todos los que se modifican ms el registro lr, excepto los registro que retornan resultados En qu seccin se deben ubicar las etiquetas de salto? Trieu una resposta.
a. .text
Dado el siguiente programa escrito en lenguaje ensamblador: _start: mov r0, #3 mov r1, #1 .Lbucle: add r0, r1 add r1, #1 cmp r0, #12 blo .Lbucle .Lstop: b .Lstop
Si la primera instruccin se ensambla a partir de la posicin 0x8000, Que direccin le corresponde al smbolo .Lbucle? Trieu una resposta.
a. 0x8008
Suponiendo que se han cargado los registro r0, r1, r2, r3 y r4 con la direccin base de una matriz de tipo int (r0), el nmero de columnas (r1), el nmero de filas (r2), el ndice i (r3) y el ndice j (r4), cmo se puede implementar en lenguaje mquina la instruccin k = matriz[i][j];, donde k se tiene que guardar en el registro r6?
d. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #2]
Suponiendo que se han cargado los registro r0, r1, r2, r3 y r4 con la direccin base de una matriz de tipo int (r0), el nmero de columnas (r1), el nmero de filas (r2), el ndice i (r3) y el ndice j (r4), cmo se puede implementar en lenguaje mquina la instruccin k = matriz[i][j];, donde k se tiene que guardar en el registro r6? Trieu una resposta.
b. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #2]
Cmo se traduce a lenguaje mquina la estructura en C if (a < 10) a++; else {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0?
b. cmp r0, #10 / bhs .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
Cmo se traduce a lenguaje mquina la instruccin en C b += a*2;, suponiendo que las variables a y b (de tipo int) estn asignados a los registros r0 y r1, respectivamente? Trieu una resposta.
a. add r1, r0, lsl #1
A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin int temp = v[n-1] si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
b. sub r2, r1, #1 / ldr r3, [r0, r2, lsl #2] @; r3 es temp
A partir de la siguiente funcin implementada en C: Cmo se implementa la lnea if (*a < 10) *c = a; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1? Trieu una resposta.
Cmo se traduce a lenguaje mquina la llamada en C func1(a, &b);, suponiendo que las variables a y b son de tipo int, y que el primer parmetro se pasa por valor y por r0, mientras que el segundo parmetro se pasa por referencia y por r1? Trieu una resposta.
Qu bits del registro r0 se graban en memoria con la instruccin strh r0, [r1, r2, lsl #2]? Trieu una resposta.
b. los 16 de menos peso
Dado el siguiente contenido de memoria y de algunos registros de lenguaje mquina: 0x1003F 0x8B 0x10040 0x7D r2 0x00004 0x10041 0xB5 r3 0x10040 0x10042 0xF0 r4 0x00001 0X10043 0x23 0X10044 0x05 Cul es el resultado de la instruccin strh r2, [r3]?
d. M[0x10040] = 0x04; M[0x10041] = 0x00
Dados los dos campos IR e IN que definen un operando inmediato en una instruccin de lenguaje mquina de ARMv4, Cul es la operacin que realiza el procesador para obtener el valor inmediato correspondiente?
d. IN rotado IR*2 bits a la derecha
Cul es el resultado de la instruccin mull r5, r4, r2, r0? Trieu una resposta.
d. r5:r4 = r2 * r0
Cul es el secuenciamiento implcito de un programa en lenguaje mquina? Trieu una resposta.
a. el que ejecuta la instruccin siguiente en memoria a la instruccin actual
Suponiendo que el contenido de algunos registros sea el siguiente: r0 0x0000 r1 0x0001 r4 0x00FE37A1 r5 0xFFFFFFFE Cul ser el contenido de los registros r0 y r1 despus de ejecutar las instrucciones push {r0, r1, r4, r5} y pop {r0, r4, r1, r5}? Trieu una resposta.
d. r0 = 0x00000000; r1 = 0x00000001
Qu registros hay que restaurar al final de una rutina? Trieu una resposta.
b. todos los que se modifican excepto los registro que retornan resultados
En qu seccin se deben ubicar las etiquetas de salto? Trieu una resposta.
a. .text
Suponiendo que tenemos el siguiente trozo de programa en lenguaje mquina: 0x8000 ldr r1, [pc, #16] 0x8004 ldr r1, [r0] 0x8008 ldr r1, [r0, r2] 0x800C ldr r1, [r0, r2, lsl #3] 0x8010 b 0x8010 0x8014 (0x0001 0034)
qu instruccin corresponde a una instruccin del tipo ldr r1, =v1? Trieu una resposta.
a. ldr r1, [pc, #16]
Cmo se marca un comentario en lenguaje ensamblador GAS? Trieu una resposta.
d. empezando el comentario con un carcter @
A qu nivel est definida una instruccin como bne 0x8008? Trieu una resposta.
3. a nivel de lenguaje mquina
Cmo se traduce a lenguaje mquina la estructura en C for (i = 0; i < 10; i++) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
Cmo se traduce a lenguaje mquina el acceso en C v[i] = 0;, suponiendo el vector v es de tipo char, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
d. mov r2, #0 / strb r2, [r1, r0]
Cmo se traduce a lenguaje mquina la instruccin en C c = a ^ b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. eor r2, r0, r1
Cmo se traduce a lenguaje mquina el acceso en C v[1] = i;, suponiendo el vector v es de tipo char, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
c. strb r0, [r1, #1]
A partir de la siguiente funcin implementada en C: Cmo se implementa la lnea if (*a < 10) *c = a; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1? Trieu una resposta.
Cmo se traduce a lenguaje mquina la llamada en C b = func2(a);, suponiendo que la variable a es de tipo int, que la variable c es de tipo char, que el parmetro se pasa por valor y por r0, mientras que resultado se devuelve por r1? Trieu una resposta.
Cmo se traduce a lenguaje mquina la llamada en C func1(a, &b);, suponiendo que las variables a y b son de tipo int, y que el primer parmetro se pasa por valor y por r0, mientras que el segundo parmetro se pasa por referencia y por r1? Trieu una resposta.
Cmo se traduce a lenguaje mquina la instruccin en C c = a | b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente?
d. orr r2, r0, r1
Suponiendo que se han cargado los registro r0, r1, r2, r3 y r4 con la direccin base de una matriz de tipo int (r0), el nmero de columnas (r1), el nmero de filas (r2), el ndice i (r3) y el ndice j (r4), cmo se puede implementar en lenguaje mquina la instruccin k = matriz[i][j];, donde k se tiene que guardar en el registro r6?
b. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #2]
Cmo se traduce a lenguaje mquina la estructura en C if (a < 0) {...}, suponiendo que el valor de la variable a (de tipo int) est asignada al registro r0?
c. cmp r0, #0 / bge .Lfinif / / .Lfinif:
A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin v[0] = temp; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
d. str r3, [r0] @; r3 es temp
A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[i*num_files + j] = 0; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j se implementan en los registros r2 y r3, respectivamente?
d. mul r5, r2, r1 / add r5, r3 / mov r4, #0 / str r4, [r0, r5, lsl #2]
Cmo se traduce a lenguaje mquina la llamada en C b = func2(a);, suponiendo que la variable a es de tipo int, que la variable c es de tipo char, que el parmetro se pasa por valor y por r0, mientras que resultado se devuelve por r1?
Punts: 1 Cantos bits tiene una instruccin de lenguaje mquina de un procesador ARMv4 (en modo ARM)? Trieu una resposta.
a. 32
b. 8
c. 4
d. 16
Correcta Punts d'aquesta tramesa: 1/1. Question 2 Punts: 1 Cul de las siguientes instrucciones sirve para cargar un word de memoria en un registro de lenguaje mquina? Trieu una resposta.
a. str
b. strb
c. ldrb
d. ldr
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Cul es el significado del flag V? Trieu una resposta.
a. la operacin anterior ha resultado igual a cero
b. la operacin anterior ha resultado negativa
c. la operacin anterior ha provocado acarreo
d. la operacin anterior ha provocado desbordamiento
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 De los 12 bits que se reservan en una instruccin ARMv4 para codificar el operando inmediato Cuntos se utilizan para indicar el patrn que configura los bits a 1 en el nmero final? Trieu una resposta.
a. 4
b. 8
c. 12
d. 6
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 En una rotacin de un registro a la derecha con el operardor ror, qu valores se introducen por el bit de ms peso del registro? Trieu una resposta.
a. siempre 1
b. los bits de menor peso que se desplazan
c. siempre 0
d. 0 si el nmero es positivo, 1 si es negativo
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 De los elementos que componen un procesador, cul de ellos maneja el bus de control? Trieu una resposta.
a. registros
b. unidad de clculo de direcciones
c. unidad aritmtico-lgica
d. unidad de control
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Cmo se guarda en el sistema de ficheros del ordenador un programa escrito en lenguaje ensamblador? Trieu una resposta.
a. como un fichero de cdigos binarios
b. como ceros y unos
c. como un fichero de lenguaje mquina
d. como un fichero de texto
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v3: .word 32
Cmo se puede cargar el contenido de memoria de v3 en el registro r0? Trieu una resposta.
a. ldr r0, =v1 / ldr r0, r1
b. ldr r1, =v1 / ldr r0, [r1]
c. mov r0, =v1
d. ldr r0, =v1 / ldr r1, [r0]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Qu registros hay que salvar al inicio de una rutina? Trieu una resposta.
a. todos los que se modifican ms el registro lr
b. todos los que se modifican ms el registro lr, excepto los registro que retornan resultados
c. todos
d. todos los que se modifican
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Qu directiva sirve para definir una variable global inicializada de 8 bits? Trieu una resposta.
a. .word
b. .hword
c. .byte
d. .space 8
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Cmo se traduce una variable global inicializada definida en ensamblador a lenguaje mquina? Trieu una resposta.
a. como una instruccin
b. como una direccin de memoria
c. como un dato en memoria
d. como una direccin de memoria ms un dato en memoria
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a | b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. orr r2, r0, r1
b. and r2, r0, r1
c. or r2, r0, r1
d. eor r2, r0, r1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C for (i = 0; i < 10; i++) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if ((a > 0) && (b < a)) {...}, suponiendo que las variables a y b (de tipo int) estn asignadas a los registros r0 y r1, respectivamente? Trieu una resposta.
a. cmp r0, #0 / ble .Lif / cmp r1, r0 / bge .Lfinif / b .Lfinif / .Lif: / / .Lfinif:
b. cmp r0, #0 / ble .Lfinif / cmp r1, r0 / bge .Lfinif / / .Lfinif:
c. cmp r0, #0 / ble .Lfinif / cmp r1, r0 / bge .Lif / b .Lfinif / .Lif: / / .Lfinif:
d. cmp r0, #0 / ble .Lif / cmp r1, r0 / bge .Lif / b .Lfinif / .Lif: / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a > 10) {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #10 / blt .Lfinif / / .Lfinif:
b. cmp r0, #10 / bls .Lfinif / / .Lfinif:
c. cmp r0, #10 / blo .Lfinif / / .Lfinif:
d. cmp r0, #10 / ble .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < *b) c = a; si suponemos que los parmetros se pasan por los registros r0 y r1, mientras que el resultado se devuelve por el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin v[0] = temp; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin int temp = v[n-1] si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
Trieu una resposta.
a. ldr r2, =temp / sub r1, #1 / ldr r3, [r0, r1, lsl #2] / str r3, [r2]
b. sub r1, #1 / ldr r3, [r0, r1, lsl #2] @; r3 es temp
c. sub r2, r1, #1 / ldr r3, [r0, r2, lsl #2] @; r3 es temp
Punts: 1 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de ejecutar orr r2, r1, r0, lsr #2? Trieu una resposta.
a. r2 = 13
b. r2 = 10
c. r2 = 12
d. r2 = 11
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 De los elementos que componen un procesador, cul de ellos se encarga de realizar clculos que requieren las instrucciones de lenguaje mquina? Trieu una resposta.
a. registros
b. unidad de clculo de direcciones
c. unidad de control
d. unidad aritmtico-lgica
Correcta Punts d'aquesta tramesa: 1/1. Question 3 Punts: 1 Cul es el resultado de la instruccin mul r4, r2, r0? Trieu una resposta.
a. r4 = r2 * 2 elevado a r0
b. r4 = r2 * r0
c. r0 = r2 * r4
d. r2 = r0 * r4
Correcta Punts d'aquesta tramesa: 1/1. Question 4 Punts: 1 Cul de los siguientes pares de instrucciones deja la pila en un estado inconsistente? Trieu una resposta.
a. push {r4-r6, r12} / pop {r4-r7}
b. push {r4-r6, r8, r10} / pop {r4-r5, r8, r10}
c. push {r4-r6, lr} / pop {r4-r6, pc}
d. push {r0, r1} / pop {r1, r0}
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 5 Punts: 1 Cuntos bits del registro r0 se modifican con la instruccin ldrh r0, [r1, r2, lsl #2]? Trieu una resposta.
a. 16
b. 4
c. 8
d. 32
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 6 Punts: 1 Dado el siguiente contenido de memoria y de algunos registros de lenguaje mquina: 0x1003F 0x8B 0x10040 0x7D r2 0x00004 0x10041 0xB5 r3 0x10040 0x10042 0xF0 r4 0x00001 0X10043 0x23 0X10044 0x05 Cul es el resultado de la instruccin strh r2, [r3]? Trieu una resposta.
a. M[0x10040] = 0x04; M[0x10041] = 0x00
b. M[0x1003F] = 0x04; M[0x10040] = 0x00
c. M[0x10040] = 0x04; M[0x10041] = 0xFF;
d. M[0x10040] = 0x04; M[0x10041] = 0x00; M[0x10042] = 0x00; M[0x10043] = 0x00; Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Cmo se puede alinear la memoria a word? Trieu una resposta.
a. .align 1
b. .align 4
c. .align 2
d. .align 3
Correcta Punts d'aquesta tramesa: 1/1. Question 8 Punts: 1 Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v2: .hword 16
Cmo se puede grabar el contenido del registro r0 en la posicin de memoria de v2? Trieu una resposta.
a. ldr r1, =v1 / str r0, [r1]
b. ldr r1, =v1 / strb r0, [r1]
c. ldrh r1, =v1 / str r0, [r1]
d. ldr r1, =v1 / strh r0, [r1]
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 9 Punts: 1 En el proceso de ensamblado, qu patrn se puede aplicar a las etiquetas de salto? Trieu una resposta.
a. mltiples declaraciones, mltiples referencias de salto
b. una declaracin, mltiples referencias de salto
c. mltiples declaraciones, una referencia de salto
d. una declaracin, una referencia de salto
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 10 Punts: 1 Suponiendo que la variable v1 se encuentra en la posicin de memoria 0x10034, cuando el programa ensamblador traduce una instruccin del tipo ldr r1, =v1, qu tipo de instruccin codifica en lenguaje mquina? Trieu una resposta.
a. ldr r1, [pc, #desp] (dnde desp es el desplazamiento hasta un posicin del programa)
b. ldr r1, 0x10034
c. ldr r1, [0x10034]
d. mov r1, #0x10034
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 A qu nivel est definido el cdigo hexadecimal de una instruccin de lenguaje mquina como 0x1AFF FFFC? Trieu una resposta.
a. a nivel de lenguaje mquina
b. a nivel de lenguaje ensamblador
c. a alto nivel
d. a nivel de cdigo mquina
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 12 Punts: 1 Suponiendo que se han cargado los registro r0, r1, r2, r3 y r4 con la direccin base de una matriz de tipo int (r0), el nmero de columnas (r1), el nmero de filas (r2), el ndice i (r3) y el ndice j (r4), cmo se puede implementar en lenguaje mquina la instruccin k = matriz[i][j];, donde k se tiene que guardar en el registro r6? Trieu una resposta.
a. mul r5, r4, r1 / add r5, r3 / ldr r6, [r0, r5, lsl #2]
b. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #2]
c. mul r5, r3, r1 / add r5, r1 / ldr r6, [r0, r5, lsl #2]
d. mul r5, r3, r2 / add r5, r4 / ldr r6, [r0, r5, lsl #2]
Correcta Punts d'aquesta tramesa: 1/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a*2 - b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. sub r2, r1, r0, lsl #1
b. sub r2, r0, lsl #1 / add r2, r1
c. mov r0, lsl #1 / sub r2, r0, r1
d. mov r0, lsl #1 / sub r2, r1, r0
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lfinwhile / .Lfinwhile:
b. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lwhile / / b .Lfinwhile / .Lfinwhile:
c. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
d. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lwhile / / b .Lwhile / .Lfinwhile:
Correcta Punts d'aquesta tramesa: 1/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a > 10) {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #10 / blt .Lfinif / / .Lfinif:
b. cmp r0, #10 / ble .Lfinif / / .Lfinif:
c. cmp r0, #10 / bls .Lfinif / / .Lfinif:
d. cmp r0, #10 / blo .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[i*num_files + j] = 0; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j se implementan en los registros r2 y r3, respectivamente? Trieu una resposta.
a. mul r5, r2, r1 / add r5, r3 / mov r4, #0 / str r4, [r0, r5, lsl #2]
b. mul r5, r2, r1 / add r5, r3, lsl #2 / mov r4, #0 / str r4, [r0, r5]
c. mul r5, r2, r1 / add r5, r3 / mov r4, #0, lsl #2 / str r4, [r0, r5]
d. mul r5, r2, r1, lsl #2 / add r5, r3 / mov r4, #0 / str r4, [r0, r5]
Correcta Punts d'aquesta tramesa: 1/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < 10) *c = a; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1? Trieu una resposta.
Correcta Punts d'aquesta tramesa: 1/1. Question 18 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C func1(a, &b);, suponiendo que las variables a y b son de tipo int, y que el primer parmetro se pasa por valor y por r0, mientras que el segundo parmetro se pasa por referencia y por r1? Trieu una resposta.
Correcta Punts d'aquesta tramesa: 1/1. Punts: 1 Cuntos bits se reservan en una instruccin ARMv4 para codificar un operando inmediato? Trieu una resposta.
a. 12
b. 32
c. 8
d. 16
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Suponiendo que r0 = 0x84FA 0123, qu valor contendr r1 despus de ejecutar la instruccin mov r1, r0, lsl #4? Trieu una resposta.
a. 0x4FA0 1230
b. 0x084F A012
c. 0x384F A012
d. 0xF84F A012
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 3 Punts: 1 Dado el siguiente contenido de una porcin de la memoria: 0x10032 0xD2 0x10032 0x41 0x10033 0x7F 0x10034 0x00 0x10035 0x60 0x10036 0xAC 0x10036 0xE3
Cul es el word que se encuentra en la posicin 0x10034, con una ordenacin Big Endian? Trieu una resposta.
a. 0x00
b. 0x0060ACE3
c. 0x0060
d. 0x0060AC
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Cmo se llenan los bits altos del registro r0 con una instruccin ldsh r0, [r1, #2]? Trieu una resposta.
a. los 16 bits altos a 1
b. los 16 bits altos al valor del signo del nmero que se est cargando
c. los 24 bits altos a 0
d. los 16 bits altos a 0
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Cul es la instruccin para saltar cuando un nmero natural es menor estricto que otro? Trieu una resposta.
a. bls
b. ble
c. blo
d. blt
Correcta Punts d'aquesta tramesa: 1/1. Question 6 Punts: 1 Suponiendo que r0 = 0x0000 0023 y r1 = 0x800A 3FF9 Cul de las siguientes instrucciones saltar despus de ejecutar cmp r0, r1? Trieu una resposta.
a. beq
b. bhs
c. bhi
d. bgt
Correcta Punts d'aquesta tramesa: 1/1. Question 7 Punts: 1 Qu instruccin de lenguaje mquina se utiliza para invocar una rutina? Trieu una resposta.
a. bl
b. br
c. beq
d. b
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 8 Punts: 1 Cmo se especifica un valor binario en lenguaje ensamblador GAS? Trieu una resposta.
a. escribiendo el nmero directamente
b. con el prefijo 0b
c. con el sufijo b'
d. con el prefijo 0x
Correcta Punts d'aquesta tramesa: 1/1. Question 9 Punts: 1 Qu directiva sirve para definir una variable global inicializada de tipo short? Trieu una resposta.
a. .hword
b. .byte
c. .short
d. .word
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 10 Punts: 1 Dado el siguiente programa escrito en lenguaje ensamblador: _start: mov r0, #3 mov r1, #1 .Lbucle: add r0, r1 add r1, #1 cmp r0, #12 blo .Lbucle .Lstop: b .Lstop
Si la primera instruccin se ensambla a partir de la posicin 0x8000, Que direccin le corresponde al smbolo .Lbucle? Trieu una resposta.
a. 0x8008
b. 0x8003
c. 0x8002
d. 0x8004
Correcta Punts d'aquesta tramesa: 1/1. Question 11 Punts: 1 Suponiendo que la variable v1 se encuentra en la posicin de memoria 0x10034, cuando el programa ensamblador traduce una instruccin del tipo ldr r1, =v1, qu tipo de instruccin codifica en lenguaje mquina? Trieu una resposta.
a. ldr r1, 0x10034
b. mov r1, #0x10034
c. ldr r1, [0x10034]
d. ldr r1, [pc, #desp] (dnde desp es el desplazamiento hasta un posicin del programa) Correcta Punts d'aquesta tramesa: 1/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C for (i = 0; i < 10; i++) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C for (i = 0; i < j; i++) {...}, suponiendo que las variables i y j (de tipo int) se asignen a los registros r0 y r1, respectivamente? Trieu una resposta.
d. mov r0, #0 / .Lfor: / cmp r0, r1 / bge .Lfinfor / / add r0, #1 / cmp r0, r1 / bls .Lfor / .Lfinfor: Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C a++;, suponiendo que el valor de la variable a (de tipo int) est asignado al registro r0? Trieu una resposta.
a. add #1, r0
b. add r0, #1
c. add 1, r0
d. add r0, 1
Correcta Punts d'aquesta tramesa: 1/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a & 0x10) {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0x10 / bne .Lfinif / / .Lfinif:
b. cmp r0, #0x10 / beq .Lfinif / / .Lfinif:
c. tst r0, #0x10 / bne .Lfinif / / .Lfinif:
d. tst r0, #0x10 / beq .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin v[i] = v[i-1]; si suponemos que el primer parmetro se pasa por el registro r0, el segundo parmetro por r1, y las variables locales i y temp se ubican en los registros r2 y r3, respectivamente?
Trieu una resposta.
a. ldr r4, [r0, r2, lsl #2] / sub r2, #1 / str r4, [r0, r2, lsl #2]
b. ldr r4, [r0, r2, lsl #2] / sub r3, r2, #1 / str r4, [r0, r3, lsl #2]
c. ldr r4, [r0, r2, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
d. ldr r4, [r0, r3, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[i*num_files + j] = 0; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j se implementan en los registros r2 y r3, respectivamente? Trieu una resposta.
a. mul r5, r2, r1 / add r5, r3 / mov r4, #0, lsl #2 / str r4, [r0, r5]
b. mul r5, r2, r1, lsl #2 / add r5, r3 / mov r4, #0 / str r4, [r0, r5]
c. mul r5, r2, r1 / add r5, r3 / mov r4, #0 / str r4, [r0, r5, lsl #2]
d. mul r5, r2, r1 / add r5, r3, lsl #2 / mov r4, #0 / str r4, [r0, r5]
Correcta Punts d'aquesta tramesa: 1/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la llamada swap(&vector[i], &vector[lon-1 i]); si suponemos que la direccin base de vector est en r3, el valor de lon -1 est en r4, los parmetros de swap se pasan por los r0 y r1, mientras que la variable local i se implementa en el registro r2? Trieu una resposta.
Punts: 1 Qu tipo de instrucciones pueden generar un secuenciamiento explcito? Trieu una resposta.
a. de salto
b. de comparacin
c. de carga de informacin de memoria
d. aritmticas y lgicas
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Suponiendo que el contenido inicial de la pila y de algunos registros sea el siguiente: 0x07E8 0x00000000 r0 0x0000 0x07EC 0x0800CACB r1 0x0001 0x07F0 0xC37D12FD 0x07F4 0x509AE246 r4 0x00FE37A1 0x07F8 0xF0B57D8B r5 0xFFFFFFFE 0x07FC 0x35CD0523 0x0800 0x000127AC r13 0x000007F4 Cal ser el contenido de r4 y r5 despus de ejecutar una instruccin pop {r0, r1, r4- r7}? Trieu una resposta.
a. r4 = 0x509AE246; r5 = 0xF0B57D8B
b. r4 = 0x0800CACB; r5 = 0xFFFFFFFE
c. r4 = 0x35CD0523; r5 = 0x000127AC
d. r4 = 0x00000000; r5 = 0x0800CACB
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Cul es la instruccin para saltar cuando dos nmeros naturales sn diferentes? Trieu una resposta.
a. bne
b. beq
c. ble
d. bhi
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Cul de las siguientes instrucciones sirve para grabar el contenido de un registro de lenguaje mquina en un half-word de memoria? Trieu una resposta.
a. str
b. ldr
c. strh
d. ldrh
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Cul de las siguientes instrucciones es capaz de multiplicar el contenido de r0 por -3? Trieu una resposta.
a. sub r0, r0, lsl #4
b. sub r0, r0, lsl #3
c. sub r0, r0, lsl #1
d. sub r0, r0, lsl #2
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Suponiendo que el contenido de algunos registros sea el siguiente: r0 0x0000 r1 0x0001 r4 0x00FE37A1 r5 0xFFFFFFFE Cul ser el contenido de los registros r1 y r5 despus de ejecutar las instrucciones push {r0-r5} y pop {r1-r6}? Trieu una resposta.
a. r1 = 0x00FE37A1; r5 = 0xFFFFFFFE
b. r1 = 0x00000000; r5 = 0x00000001
c. r1 = 0x00000001; r5 = 0xFFFFFFFE
d. r1 = 0x00000000; r5 = 0x00FE37A1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Cmo se define la direccin de inicio de una rutina? Trieu una resposta.
a. con una instruccin de llamada a rutina bl
b. con una etiqueta de salto
c. con una directiva .routine
d. con una directiva .global
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Cmo se marca un comentario en lenguaje ensamblador GAS? Trieu una resposta.
a. empezando el comentario con un carcter @
b. en color verde
c. empezando el comentario con un carcter ;
d. empezando el comentario con dos caracteres /
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Qu son los smbolos del lenguaje ensamblador? Trieu una resposta.
a. los cdigos binarios de las instrucciones de lenguaje mquina
b. los nombres de las variables y las etiquetas de salto
c. los valores inmediatos
d. los comentarios
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Cmo se guarda en el sistema de ficheros del ordenador un programa escrito en lenguaje ensamblador? Trieu una resposta.
a. como ceros y unos
b. como un fichero de cdigos binarios
c. como un fichero de texto
d. como un fichero de lenguaje mquina
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Cmo se traduce una etiqueta de salto definida en ensamblador a lenguaje mquina? Trieu una resposta.
a. como un dato en memoria
b. como una direccin de memoria
c. como una instruccin
d. como una direccin de memoria ms un dato en memoria
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if ((a > 0) && (b < a)) {...}, suponiendo que las variables a y b (de tipo int) estn asignadas a los registros r0 y r1, respectivamente? Trieu una resposta.
a. cmp r0, #0 / ble .Lfinif / cmp r1, r0 / bge .Lfinif / / .Lfinif:
b. cmp r0, #0 / ble .Lfinif / cmp r1, r0 / bge .Lif / b .Lfinif / .Lif: / / .Lfinif:
c. cmp r0, #0 / ble .Lif / cmp r1, r0 / bge .Lfinif / b .Lfinif / .Lif: / / .Lfinif:
d. cmp r0, #0 / ble .Lif / cmp r1, r0 / bge .Lif / b .Lfinif / .Lif: / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Suponiendo que se han declarado las constantes Base (dir. base), NC (nm. columnas), NF (nm. filas) y T (tamao elementos), cul es la frmula para calcular la direccin de memoria de un elemento (i, j) de una matriz almacenada por filas? Trieu una resposta.
a. dir(i, j) = Base + (i * NC + j)
b. dir(i, j) = Base + (i * NF + j)
c. dir(i, j) = Base + (i * NF + j) * T
d. dir(i, j) = Base + (i * NC + j) * T
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[1] = i;, suponiendo el vector v es de tipo char, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. strb r0, [r1]
b. mov r2, #1 / strb r2, [r1, r0]
c. strb r0, [r1, #1]
d. strb #1, [r1, r0]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C a++;, suponiendo que el valor de la variable a (de tipo int) est asignado al registro r0? Trieu una resposta.
a. add r0, #1
b. add r0, 1
c. add 1, r0
d. add #1, r0
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[j*num_files + i] = temp; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, temp se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
a. mul r5, r3, r1 / add r5, r2 / str r4, [r0, r5, lsl #2]
b. mul r5, r2, r1 / add r5, r3 / ldr r4, [r0, r5, lsl #2]
c. mul r5, r2, r1 / add r5, r3 / str r4, [r0, r5, lsl #2]
d. mul r5, r3, r1 / add r5, r2 / ldr r4, [r0, r5, lsl #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin v[i] = v[i-1]; si suponemos que el primer parmetro se pasa por el registro r0, el segundo parmetro por r1, y las variables locales i y temp se ubican en los registros r2 y r3, respectivamente?
Trieu una resposta.
a. ldr r4, [r0, r2, lsl #2] / sub r2, #1 / str r4, [r0, r2, lsl #2]
b. ldr r4, [r0, r3, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
c. ldr r4, [r0, r2, lsl #2] / sub r3, r2, #1 / str r4, [r0, r3, lsl #2]
d. ldr r4, [r0, r2, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C func1(a, &b);, suponiendo que las variables a y b son de tipo int, y que el primer parmetro se pasa por valor y por r0, mientras que el segundo parmetro se pasa por referencia y por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Punts: 1 Suponiendo que r0 contiene un nmero natural Qu instruccin podemos utilizar para dividir el contenido de r0 por 16? Trieu una resposta.
a. mov r0, r0, lsr #16
b. mov r0, r0, lsl #4
c. mov r0, r0, lsr #4
d. mov r0, r0, lsl #16
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de ejecutar orr r2, r1, r0, lsr #2? Trieu una resposta.
a. r2 = 11
b. r2 = 12
c. r2 = 13
d. r2 = 10
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Suponiendo que el contenido de algunos registros sea el siguiente: r0 0x0000 r1 0x0001 r4 0x00FE37A1 r5 0xFFFFFFFE Cul ser el contenido de los registros r0 y r1 despus de ejecutar las instrucciones push {r5, r4} y pop {r0, r1}? Trieu una resposta.
a. r0 = 0x00FE37A1; r1 = 0xFFFFFFFE
b. r0 = 0xFFFFFFFE; r1 = 0x00FE37A1
c. r0 = 0x00000000; r1 = 0x00000001
d. r0 = 0xFFFFFFFE; r1 = 0x00000000
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Dado el siguiente contenido de memoria y de algunos registros de lenguaje mquina: 0x1003F 0x8B 0x10040 0x7D r2 0x00004 0x10041 0xB5 r3 0x10040 0x10042 0xF0 r4 0x00001 0X10043 0x23 0X10044 0x05 Cul es el resultado de la instruccin strb r2, [r3, r4, lsl #1]? Trieu una resposta.
a. M[0x10042] = 0x04;
b. M[0x1003F] = 0x04;
c. M[0x10040] = 0x04;
d. M[0x10041] = 0x04;
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Suponiendo que el contenido inicial de la pila y de algunos registros sea el siguiente: 0x07E8 0x00000000 r0 0x0000 0x07EC 0x0800CACB r1 0x0001 0x07F0 0xC37D12FD 0x07F4 0x509AE246 r4 0x00FE37A1 0x07F8 0xF0B57D8B r5 0xFFFFFFFE 0x07FC 0x35CD0523 0x0800 0x000127AC r13 0x000007F4 Cal ser el contenido de r0 y r1 despus de ejecutar una instruccin pop {r1, r0}? Trieu una resposta.
a. r0 = 0xC37D12FD; r1 = 0x509AE246
b. r0 = 0x509AE246; r1 = 0xF0B57D8B
c. r0 = 0xF0B57D8B; r1 = 0x509AE246
d. r0 = 0x509AE246; r1 = 0xC37D12FD
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Dado el siguiente programa escrito en lenguaje mquina: 0x8000 mov r0, #3 0x8004 mov r1, #1 0x8008 add r0, r1 0x800C add r1, #1 0x8010 cmp r0, #12 0x8014 blo 0x8008 0x8018 b 0x8018 Cuntas instrucciones se ejecutan desde 0x8000 hasta que se llega a 0x8018? Trieu una resposta.
a. 38
b. 18
c. 7
d. 6
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Cmo se traduce una etiqueta de salto definida en ensamblador a lenguaje mquina? Trieu una resposta.
a. como una instruccin
b. como una direccin de memoria ms un dato en memoria
c. como una direccin de memoria
d. como un dato en memoria
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Qu registros hay que restaurar al final de una rutina? Trieu una resposta.
a. todos los que pasan parmetros
b. todos los que se modifican
c. todos los que se modifican excepto los registro que retornan resultados
d. todos
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 En qu base se pueden expresar los nmeros negativos con el smbolo - en el lenguaje ensamblador GAS? Trieu una resposta.
a. slo en base 10
b. en base 10 y en base 16 (hexadecimal)
c. en cualquier base
d. en base 10 y en base 8 (octal)
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 En qu seccin se deben ubicar las instrucciones de lenguaje mquina? Trieu una resposta.
a. .bss
b. .var
c. .text
d. .data
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Suponiendo que tenemos el siguiente trozo de programa en lenguaje mquina: 0x8000 ldr r1, [pc, #16] 0x8004 ldr r1, [r0] 0x8008 ldr r1, [r0, r2] 0x800C ldr r1, [r0, r2, lsl #3] 0x8010 b 0x8010 0x8014 (0x0001 0034)
qu instruccin corresponde a una instruccin del tipo ldr r1, =v1? Trieu una resposta.
a. ldr r1, [pc, #16]
b. ldr r1, [r0]
c. ldr r1, [r0, r2, lsl #3]
d. ldr r1, [r0, r2]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Suponiendo que se han declarado las constantes Base (dir. base), NC (nm. columnas), NF (nm. filas) y T (tamao elementos), cul es la frmula para calcular la direccin de memoria de un elemento (i, j) de una matriz almacenada por filas? Trieu una resposta.
a. dir(i, j) = Base + (i * NC + j) * T
b. dir(i, j) = Base + (i * NF + j) * T
c. dir(i, j) = Base + (j * NF + i) * T
d. dir(i, j) = Base + (j * NC + i) * T
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhi .Ldo
b. mov r0, #0 / .Ldo: / / cmp r0, #10 / bls .Ldo
c. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
d. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhs .Ldo
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a < 10) a++; else {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #10 / bhs .Lelse / add r0, #1 / b .Lelse / .Lelse: / / .Lfinif:
b. cmp r0, #10 / bhs .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
d. cmp r0, #10 / bhs .Lfinif / add r0, #1 / b .Lelse / .Lelse: / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
c. mov r0, #0 / .Lwhile: / cmp r0, #10 / blo .Lfinwhile / / b .Lwhile / .Lfinwhile:
d. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile: Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin suma += matriz[j][i]; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, suma se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin v[0] = temp; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin int temp = v[n-1] si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
Trieu una resposta.
a. sub r2, r1, #1 / ldr r3, [r0, r2, lsl #2] @; r3 es temp
b. sub r1, #1 / ldr r3, [r0, r1, lsl #2] @; r3 es temp
c. ldr r2, =temp / sub r1, #1 / ldr r3, [r0, r1, lsl #2] / str r3, [r2]
Incorrecta Punts d'aquesta tramesa: 0/1. Punts: 1 Cmo se llenan los bits altos del registro r0 con una instruccin ldrh r0, [r1, #2]? Trieu una resposta.
a. los 16 bits altos a 0
b. los 24 bits altos a 0
c. los 16 bits altos a 1
d. los 16 bits altos al valor del signo del nmero que se est cargando
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de la instruccin orr r2, r1, r0? Trieu una resposta.
a. r2 = 14
b. r2 = 12
c. r2 = 15
d. r2 = 2
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Dado el siguiente programa escrito en lenguaje mquina: 0x8000 mov r0, #5 0x8004 mov r1, #2 0x8008 cmp r0, r1 0x800C bls 0x8018 0x8010 add r1, #1 0x8014 b 0x8008 0x8018 b 0x8018 Cuntos ciclos mquina se necesitan para ejecutar las instrucciones desde 0x8000 hasta 0x8018 (no inclusive), suponiendo que, en general, una instruccin diferente de un salto necesita 1 ciclo, una instruccin de salto con secuenciamiento explcito necesita 3 ciclos, y una instruccin de salto con secuenciamiento implcito necesita 4 ciclos? Trieu una resposta.
a. 26
b. 33
c. 27
d. 29
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Cul de las siguientes instrucciones sirve para grabar el valor entero de un registro de lenguaje mquina en un byte de memoria? Trieu una resposta.
a. strh
b. stsb
c. str
d. strb
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Suponiendo que r0 = 0x0000 0023 y r1 = 0x800A 3FF9 Cul de las siguientes instrucciones saltar despus de ejecutar cmp r0, r1? Trieu una resposta.
a. bhi
b. bgt
c. beq
d. bhs
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Qu tipo de informacin almacena la memoria de un sistema programable? Trieu una resposta.
a. instrucciones de programa
b. instrucciones y datos de programa
c. seales del exterior del sistema
d. datos de programa
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 En lenguaje ensamblador GAS para ARMv4, cmo se especifican los valores inmediatos de las instrucciones de lenguaje mquina? Trieu una resposta.
a. con el prefijo 0x
b. entre comillas
c. con el prefijo #
d. entre parntesis
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Cmo se traduce una etiqueta de salto definida en ensamblador a lenguaje mquina? Trieu una resposta.
a. como una direccin de memoria ms un dato en memoria
b. como una instruccin
c. como un dato en memoria
d. como una direccin de memoria
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Cmo se consigue el retorno de una rutina con las instrucciones push de inicio i pop de fin? Trieu una resposta.
a. salvando el pc y recuperando su contenido en el registro lr
b. salvando el contenido de los registros que contienen parmetros de la rutina
c. salvando el registro lr y recuperando su contenido en el pc
d. salvando y restaurando los registros que se modifican dentro de la rutina
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v6: .byte 1, 2, 3, 4, 5, 6 .align 1 Cul ser la siguiente direccin de ensamblado si v6 se almacena en 0x10060? Trieu una resposta.
a. 0x10067
b. 0x10068
c. 0x10070
d. 0x10066
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Dado el siguiente programa escrito en lenguaje ensamblador: _start: mov r0, #3 mov r1, #1 .Lbucle: add r0, r1 add r1, #1 cmp r0, #12 blo .Lbucle .Lstop: b .Lstop
Si la primera instruccin se ensambla a partir de la posicin 0x8000, Que direccin le corresponde al smbolo .Lbucle? Trieu una resposta.
a. 0x8008
b. 0x8003
c. 0x8002
d. 0x8004
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
b. mov r0, #0 / .Lwhile: / cmp r0, #10 / blo .Lfinwhile / / b .Lwhile / .Lfinwhile:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
b. mov r0, #0 / .Lwhile: / cmp r0, #10 / bls .Lfinwhile / / b .Lwhile / .Lfinwhile:
c. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhi .Lfinwhile / / b .Lwhile / .Lfinwhile:
d. mov r0, #0 / .Lwhile: / cmp r0, #10 / blo .Lfinwhile / / b .Lwhile / .Lfinwhile: Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if ((a > 0) && (b < a)) {...}, suponiendo que las variables a y b (de tipo int) estn asignadas a los registros r0 y r1, respectivamente? Trieu una resposta.
a. cmp r0, #0 / ble .Lfinif / cmp r1, r0 / ble .Lfinif / / .Lfinif:
b. cmp r0, #0 / bge .Lfinif / cmp r1, r0 / ble .Lfinif / / .Lfinif:
c. cmp r0, #0 / ble .Lfinif / cmp r1, r0 / bge .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
b. .Ldo: / mov r0, #0 / / cmp r0, #10 / blo .Ldo
c. mov r0, #0 / / cmp r0, #10 / .Ldo: / blo .Ldo
d. mov r0, #0 / / .Ldo: / cmp r0, #10 / blo .Ldo
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C b = func2(a);, suponiendo que la variable a es de tipo int, que la variable c es de tipo char, que el parmetro se pasa por valor y por r0, mientras que resultado se devuelve por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[j*num_files + i] = temp; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, temp se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
a. mul r5, r2, r1 / add r5, r3 / str r4, [r0, r5, lsl #2]
b. mul r5, r3, r1 / add r5, r2 / ldr r4, [r0, r5, lsl #2]
c. mul r5, r2, r1 / add r5, r3 / ldr r4, [r0, r5, lsl #2]
d. mul r5, r3, r1 / add r5, r2 / str r4, [r0, r5, lsl #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C b = func2(a);, suponiendo que la variable a es de tipo int, que la variable c es de tipo char, que el parmetro se pasa por valor y por r0, mientras que resultado se devuelve por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Punts: 1 Cul de las siguientes instrucciones sirve para cargar un byte de memoria que representa un valor entero en un registro de lenguaje mquina? Trieu una resposta.
a. ldr
b. ldrh
c. ldsb
d. ldrb
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 2 Punts: 1 Suponiendo que r0 = 0x84FA 0123, qu valor contendr r1 despus de ejecutar la instruccin mov r1, r0, lsl #4? Trieu una resposta.
a. 0xF84F A012
b. 0x384F A012
c. 0x084F A012
d. 0x4FA0 1230
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 3 Punts: 1 Cuntos registros de lenguaje mquina del ARMv4 se pueden usar como operandos de las instrucciones aritmticas? Trieu una resposta.
a. 18
b. 16
c. 13
d. 8
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 4 Punts: 1 Como mximo, de cuntos campos identificadores de registro disponen las instruccin de un procesador ARMv4 (en modo ARM)? Trieu una resposta.
a. 16
b. 1
c. 2
d. 4
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 5 Punts: 1 Cmo se llenan los bits altos del registro r0 con una instruccin ldsh r0, [r1, #2]? Trieu una resposta.
a. los 24 bits altos a 0
b. los 16 bits altos a 1
c. los 16 bits altos al valor del signo del nmero que se est cargando
d. los 16 bits altos a 0
Incorrecta Punts d'aquesta tramesa: -0.67/1. Question 6 Punts: 1 Qu instruccin podemos utilizar para multiplicar el contenido de r0 por 16? Trieu una resposta.
a. mov r0, r0, lsl #16
b. mov r0, r0, lsr #4
c. mov r0, r0, lsl #4
d. mul r0, r0, #16
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 7 Punts: 1 En qu seccin se deben ubicar las instrucciones de lenguaje mquina? Trieu una resposta.
a. .var
b. .text
c. .data
d. .bss
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 8 Punts: 1 Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v1: .byte 8
Cmo se puede cargar la direccin de memoria de v1 en el registro r0? Trieu una resposta.
a. ldr r0, v1
b. mov r0, v1
c. ldr r0, [v1]
d. ldr r0, =v1
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 9 Punts: 1 Qu directiva se utiliza para reservar espacio de memoria para una variable no inicializada? Trieu una resposta.
a. .word n (n = nmero de words a reservar)
b. .space n (n = nmero de bytes a reservar)
c. .byte n (n = nmero de bytes a reservar)
d. .bss n (n = nmero de words a reservar)
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 10 Punts: 1 Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C unsigned char c = C;? Trieu una resposta.
a. c: .unsigned char C
b. c: .byte C
c. c: .unsigned byte C
d. c .byte C
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 11 Punts: 1 Cmo se especifica un valor binario en lenguaje ensamblador GAS? Trieu una resposta.
a. con el sufijo b'
b. escribiendo el nmero directamente
c. con el prefijo 0b
d. con el prefijo 0x
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a ^ b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. orr r2, r0, r1
b. or r2, r0, r1
c. eor r2, r0, r1
d. and r2, r0, r1
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a*a + b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. mul r2, r0, r0 / add r2, r1
b. mul r0, r0, r0 / add r2, r0, r1
c. add r2, r1, r0, lsl #2
d. mul r3, r0, r0 / add r1, r2, r3
Correcta Punts d'aquesta tramesa: 1/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / / cmp r0, #10 / .Ldo: / blo .Ldo
b. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
c. .Ldo: / mov r0, #0 / / cmp r0, #10 / blo .Ldo
d. mov r0, #0 / / .Ldo: / cmp r0, #10 / blo .Ldo
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a < 10) a++; else {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #10 / bhi .Lelse / add r0, #1 / b .Lfinif: / .Lelse: / / .Lfinif:
b. cmp r0, #10 / bhs .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
c. cmp r0, #10 / bls .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
d. cmp r0, #10 / blo .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 16 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C b = func2(a);, suponiendo que la variable a es de tipo int, que la variable c es de tipo char, que el parmetro se pasa por valor y por r0, mientras que resultado se devuelve por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 17 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C b = func2(a);, suponiendo que la variable a es de tipo int, que la variable c es de tipo char, que el parmetro se pasa por valor y por r0, mientras que resultado se devuelve por r1? Trieu una resposta.
Correcta Punts d'aquesta tramesa: 1/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin suma += matriz[i][j]; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, suma se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
Punts: 1 Cul de las siguientes instrucciones efecta un salto condicional? Trieu una resposta.
a. beq
b. b
c. cmp
d. bl
Correcta Punts d'aquesta tramesa: 1/1. Question 2 Punts: 1 Suponiendo que el contenido inicial de la pila y de algunos registros sea el siguiente: 0x07E8 0x00000000 r0 0x0000 0x07EC 0x0800CACB r1 0x0001 0x07F0 0xC37D12FD 0x07F4 0x509AE246 r4 0x00FE37A1 0x07F8 0xF0B57D8B r5 0xFFFFFFFE 0x07FC 0x35CD0523 0x0800 0x000127AC r13 0x000007F4 Cal ser el contenido de las posiciones de memoria 0x07E8 y 0X07EC despus de ejecutar una instruccin push {r0, r1, r4-r5}? Trieu una resposta.
a. M[0x07E8] = 0x00000000; M[0x07EC] = 0x00000001
b. M[0x07E8] = 0x00000000; M[0x07EC] = 0xFFFFFFFE
c. M[0x07E8] = 0xFFFFFFFE; M[0x07EC] = 0x00FE37A1
d. M[0x07E8] = 0x00FE37A1; M[0x07EC] = 0xFFFFFFFE
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Qu registro del procesador se encarga de memorizar la direccin de la instruccin de lenguaje mquina a ejecutar? Trieu una resposta.
a. el r13 (sp)
b. el r0
c. el r15 (pc)
d. el r14 (lr)
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 De los elementos que componen un procesador, cul de ellos maneja el bus de control? Trieu una resposta.
a. unidad de clculo de direcciones
b. unidad de control
c. unidad aritmtico-lgica
d. registros
Correcta Punts d'aquesta tramesa: 1/1. Question 5 Punts: 1 Cul de las siguientes instrucciones sirve para cargar un word de memoria en un registro de lenguaje mquina? Trieu una resposta.
a. ldr
b. str
c. strb
d. ldrb
Correcta Punts d'aquesta tramesa: 1/1. Question 6 Punts: 1 Cul de las siguientes instrucciones es capaz de multiplicar el contenido de r0 por -3? Trieu una resposta.
a. sub r0, r0, lsl #4
b. sub r0, r0, lsl #3
c. sub r0, r0, lsl #1
d. sub r0, r0, lsl #2
Correcta Punts d'aquesta tramesa: 1/1. Question 7 Punts: 1 Dado el siguiente programa escrito en lenguaje ensamblador: _start: mov r0, #3 mov r1, #1 .Lbucle: add r0, r1 add r1, #1 cmp r0, #12 blo .Lbucle .Lstop: b .Lstop
Si la primera instruccin se ensambla a partir de la posicin 0x8000, Que direccin le corresponde al smbolo .Lbucle? Trieu una resposta.
a. 0x8008
b. 0x8004
c. 0x8003
d. 0x8002
Correcta Punts d'aquesta tramesa: 1/1. Question 8 Punts: 1 A qu nivel est definida una instruccin como bne 0x8008? Trieu una resposta.
1. a nivel de lenguaje ensamblador
2. a alto nivel
3. a nivel de lenguaje mquina
4. a nivel de cdigo mquina
Correcta Punts d'aquesta tramesa: 1/1. Question 9 Punts: 1 Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v1: .byte 8 .align 2 Cul ser la siguiente direccin de ensamblado si v1 se almacena en 0x10034? Trieu una resposta.
a. 0x10036
b. 0x10037
c. 0x10035
d. 0x10038
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Qu directiva se utiliza para reservar espacio de memoria para una variable no inicializada? Trieu una resposta.
a. .word n (n = nmero de words a reservar)
b. .byte n (n = nmero de bytes a reservar)
c. .space n (n = nmero de bytes a reservar)
d. .bss n (n = nmero de words a reservar)
Correcta Punts d'aquesta tramesa: 1/1. Question 11 Punts: 1 Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v3: .word 32
Cmo se puede cargar el contenido de memoria de v3 en el registro r0? Trieu una resposta.
a. ldr r1, =v1 / ldr r0, [r1]
b. mov r0, =v1
c. ldr r0, =v1 / ldr r1, [r0]
d. ldr r0, =v1 / ldr r0, r1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
b. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhs .Ldo
c. mov r0, #0 / .Ldo: / cmp r0, #10 / bhs .Lfindo / / b .Ldo / .Lfindo:
d. mov r0, #0 / .Ldo: / cmp r0, #10 / blo .Lfindo / / b .Ldo / .Lfindo:
Correcta Punts d'aquesta tramesa: 1/1. Question 13 Punts: 1 Suponiendo que se han cargado los registro r0, r1, r2, r3 y r4 con la direccin base de una matriz de tipo int (r0), el nmero de columnas (r1), el nmero de filas (r2), el ndice i (r3) y el ndice j (r4), cmo se puede implementar en lenguaje mquina la instruccin k = matriz[i][j];, donde k se tiene que guardar en el registro r6? Trieu una resposta.
a. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #4]
b. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5]
c. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #1]
d. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #2]
Correcta Punts d'aquesta tramesa: 1/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C b += a*2;, suponiendo que las variables a y b (de tipo int) estn asignados a los registros r0 y r1, respectivamente? Trieu una resposta.
a. add r1, r0, lsr #1
b. add r1, r0, lsl #2
c. add r1, r0, lsl #1
d. add r1, r0, lsr #2
Correcta Punts d'aquesta tramesa: 1/1. Question 15 Punts: 1 Suponiendo que se han cargado los registro r0, r1, r2, r3 y r4 con la direccin base de una matriz de tipo int (r0), el nmero de columnas (r1), el nmero de filas (r2), el ndice i (r3) y el ndice j (r4), cmo se puede implementar en lenguaje mquina la instruccin k = matriz[i][j];, donde k se tiene que guardar en el registro r6? Trieu una resposta.
a. mul r5, r3, r2 / add r5, r4 / ldr r6, [r0, r5, lsl #2]
b. mul r5, r4, r1 / add r5, r3 / ldr r6, [r0, r5, lsl #2]
c. mul r5, r3, r1 / add r5, r1 / ldr r6, [r0, r5, lsl #2]
d. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #2]
Correcta Punts d'aquesta tramesa: 1/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < 10) *c = a; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin v[i] = v[i-1]; si suponemos que el primer parmetro se pasa por el registro r0, el segundo parmetro por r1, y las variables locales i y temp se ubican en los registros r2 y r3, respectivamente?
Trieu una resposta.
a. ldr r4, [r0, r2, lsl #2] / sub r2, #1 / str r4, [r0, r2, lsl #2]
b. ldr r4, [r0, r2, lsl #2] / sub r3, r2, #1 / str r4, [r0, r3, lsl #2]
c. ldr r4, [r0, r3, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
d. ldr r4, [r0, r2, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
Correcta Punts d'aquesta tramesa: 1/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin suma += matriz[i][j]; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, suma se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: -0.33/1. Punts: 1 Cul es la instruccin para saltar cuando un nmero natural es menor o igual que otro? Trieu una resposta.
a. ble
b. blt
c. blo
d. bls
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Cmo se modifica el registro sp despus de ejecutar una instruccin push {r0-r3, lr}? Trieu una resposta.
a. sp = sp - 20
b. sp = sp - 5
c. sp = sp + 12
d. sp = sp + 24
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Dado el siguiente programa escrito en lenguaje mquina: 0x8000 mov r0, #3 0x8004 mov r1, #1 0x8008 add r0, r1 0x800C add r1, #1 0x8010 cmp r0, #12 0x8014 blo 0x8008 0x8018 b 0x8018 Cuntas instrucciones se ejecutan desde 0x8000 hasta que se llega a 0x8018? Trieu una resposta.
a. 38
b. 18
c. 7
d. 6
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Cul de los siguientes operadores se emplea para desplazar el contenido de un registro cierto nmero de bits a la derecha, suponiendo que el valor a desplazar es un entero Ca2? Trieu una resposta.
a. lsr
b. asr
c. ror
d. lsl
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Suponiendo que los contenidos de r0 i r1 sean 20 i 40 respectivamente Cul es el resultado de la instruccin sub r2, r1, r0, lsr #2? Trieu una resposta.
a. r2 = 35
b. r2 = 0
c. r2 = 30
d. r2 = 20
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Qu tipo de informacin almacena la memoria de un sistema programable? Trieu una resposta.
a. datos de programa
b. instrucciones de programa
c. seales del exterior del sistema
d. instrucciones y datos de programa
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Qu son los smbolos del lenguaje ensamblador? Trieu una resposta.
a. los cdigos binarios de las instrucciones de lenguaje mquina
b. los nombres de las variables y las etiquetas de salto
c. los valores inmediatos
d. los comentarios
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v4: .space 10 .align 2 Cul ser la siguiente direccin de ensamblado si v4 se almacena en 0x10050? Trieu una resposta.
a. 0x10052
b. 0x1005A
c. 0x1005C
d. 0x10050
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Qu directiva sirve para definir una variable global inicializada de tipo char? Trieu una resposta.
a. .byte
b. .hword
c. .word
d. .char
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Cmo se especifica un valor octal en lenguaje ensamblador GAS? Trieu una resposta.
a. con el prefijo 0
b. escribiendo el nmero directamente
c. con el sufijo o'
d. con el prefijo o
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Suponiendo que tenemos la siguiente declaracin en lenguaje C: int matrix[][] = {{2, - 5, 90}, {-12, 82, 0}, {-4, 850, -100}};, y que la variable global matrix se empieza a guardar en la direccin 0x10034, En que direccin se almacenar el valor 0? Trieu una resposta.
a. 0x10054
b. 0x10039
c. 0x10040
d. 0x10048
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a == 0) {...}, suponiendo que el valor de la variable a (de tipo int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0 / bge .Lfinif / / .Lfinif:
b. cmp r0, #0 / bne .Lfinif / / .Lfinif:
c. cmp r0, #0 / beq .Lfinif / / .Lfinif:
d. cmp r0, #0 / ble .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a < 0) {...}, suponiendo que el valor de la variable a (de tipo int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0 / bge .Lfinif / / .Lfinif:
b. cmp r0, #0 / bne .Lfinif / / .Lfinif:
c. cmp r0, #0 / ble .Lfinif / / .Lfinif:
d. cmp r0, #0 / bgt .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[0] = i;, suponiendo el vector v es de tipo char, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. strb #0, [r1, r0]
b. strb r0, [r1]
c. str r0, [r1, #0]
d. mov r2, #0 / strb r2, [r1, r0]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Suponiendo que se han declarado las constantes Base (dir. base), NC (nm. columnas), NF (nm. filas) y T (tamao elementos), cul es la frmula para calcular la direccin de memoria de un elemento (i, j) de una matriz almacenada por filas? Trieu una resposta.
a. dir(i, j) = Base + (i * NF + j) * T
b. dir(i, j) = Base + (i * NC + j) * T
c. dir(i, j) = Base + (j * NC + i) * T
d. dir(i, j) = Base + (j * NF + i) * T
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin v[i] = v[i-1]; si suponemos que el primer parmetro se pasa por el registro r0, el segundo parmetro por r1, y las variables locales i y temp se ubican en los registros r2 y r3, respectivamente?
Trieu una resposta.
a. ldr r4, [r0, r2, lsl #2] / sub r3, r2, #1 / str r4, [r0, r3, lsl #2]
b. ldr r4, [r0, r2, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
c. ldr r4, [r0, r3, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
d. ldr r4, [r0, r2, lsl #2] / sub r2, #1 / str r4, [r0, r2, lsl #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[i*num_files + j] = 0; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j se implementan en los registros r2 y r3, respectivamente? Trieu una resposta.
a. mul r5, r2, r1 / add r5, r3, lsl #2 / mov r4, #0 / str r4, [r0, r5]
b. mul r5, r2, r1 / add r5, r3 / mov r4, #0 / str r4, [r0, r5, lsl #2]
c. mul r5, r2, r1 / add r5, r3 / mov r4, #0, lsl #2 / str r4, [r0, r5]
d. mul r5, r2, r1, lsl #2 / add r5, r3 / mov r4, #0 / str r4, [r0, r5]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C func1(a, &b);, suponiendo que las variables a y b son de tipo int, y que el primer parmetro se pasa por valor y por r0, mientras que el segundo parmetro se pasa por referencia y por r1? Trieu una resposta.
Punts: 1 En un desplazamiento de un registro a la derecha con el operardor lsr, qu valor se introduce por el bit de ms peso del registro? Trieu una resposta.
a. siempre 0
b. 0 si el nmero es positivo, 1 si es negativo
c. 1 si el nmero es positivo, 0 si es negativo
d. siempre 1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Qu registro del procesador se encarga de memorizar la direccin de la instruccin de lenguaje mquina a ejecutar? Trieu una resposta.
a. el r14 (lr)
b. el r0
c. el r13 (sp)
d. el r15 (pc)
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Cul de las siguientes instrucciones es capaz de multiplicar el contenido de r0 por 5? Trieu una resposta.
a. add r0, r0, lsl #2
b. add r0, r0, lsl #3
c. add r0, r0, lsl #5
d. add r0, r0, lsl #4
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 De los elementos que componen un procesador, cul de ellos se encarga de realizar clculos que requieren las instrucciones de lenguaje mquina? Trieu una resposta.
a. registros
b. unidad aritmtico-lgica
c. unidad de clculo de direcciones
d. unidad de control
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 De los elementos que componen un sistema programable, cul de ellos se encarga de ejecutar la instrucciones de lenguaje mquina? Trieu una resposta.
a. procesador
b. buses
c. controladores de entrada/salida
d. memoria
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 De los tipos de bus que componen un sistema programable, cul de ellos se encarga de controlar el sentido de la transferencia de datos entre la memoria y el procesador? Trieu una resposta.
a. bus de direcciones
b. bus de datos
c. bus de control
d. bus de entrada/salida
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 En lenguaje ensamblador GAS, Cmo se puede definir que una etiqueta de salto es accesible desde otros mdulos (ficheros) del programa? Trieu una resposta.
a. empezando por un punto
b. con la directiva .local
c. con la directiva .global
d. empezando por .L
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Suponiendo que la variable v1 se encuentra en la posicin de memoria 0x10034, cuando se codifica una instruccin del tipo ldr r1, =v1, cuntos bits de memoria se utilizan para guardar dicha posicin de memoria? Trieu una resposta.
a. 12
b. 20
c. 16
d. 32
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Cmo se puede alinear la memoria a hword? Trieu una resposta.
a. .align 1
b. .align 3
c. ..align 4
d. .align 2
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Cmo se marca un comentario en lenguaje ensamblador GAS? Trieu una resposta.
a. empezando el comentario con un carcter @
b. empezando el comentario con un carcter ;
c. en color verde
d. empezando el comentario con dos caracteres /
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Suponiendo que la variable v1 se encuentra en la posicin de memoria 0x10034, cuando el programa ensamblador traduce una instruccin del tipo ldr r1, =v1, qu tipo de instruccin codifica en lenguaje mquina? Trieu una resposta.
a. mov r1, #0x10034
b. ldr r1, 0x10034
c. ldr r1, [0x10034]
d. ldr r1, [pc, #desp] (dnde desp es el desplazamiento hasta un posicin del programa) Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Suponiendo que se han cargado los registro r0, r1, r2, r3 y r4 con la direccin base de una matriz de tipo int (r0), el nmero de columnas (r1), el nmero de filas (r2), el ndice i (r3) y el ndice j (r4), cmo se puede implementar en lenguaje mquina la instruccin k = matriz[i][j];, donde k se tiene que guardar en el registro r6? Trieu una resposta.
a. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #1]
b. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #2]
c. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #4]
d. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Ldo: / cmp r0, #10 / bhs .Lfindo / / b .Ldo / .Lfindo:
b. mov r0, #0 / .Ldo: / cmp r0, #10 / blo .Lfindo / / b .Ldo / .Lfindo:
c. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
d. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhs .Ldo
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C b += a*2;, suponiendo que las variables a y b (de tipo int) estn asignados a los registros r0 y r1, respectivamente? Trieu una resposta.
a. add r1, r0, lsl #1
b. add r1, r0, lsr #1
c. add r1, r0, lsl #2
d. add r1, r0, lsr #2
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[0] = i;, suponiendo el vector v es de tipo char, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. str r0, [r1, #0]
b. strb r0, [r1]
c. strb #0, [r1, r0]
d. mov r2, #0 / strb r2, [r1, r0]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < *b) c = a; si suponemos que los parmetros se pasan por los registros r0 y r1, mientras que el resultado se devuelve por el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin v[i] = v[i-1]; si suponemos que el primer parmetro se pasa por el registro r0, el segundo parmetro por r1, y las variables locales i y temp se ubican en los registros r2 y r3, respectivamente?
Trieu una resposta.
a. ldr r4, [r0, r2, lsl #2] / sub r3, r2, #1 / str r4, [r0, r3, lsl #2]
b. ldr r4, [r0, r2, lsl #2] / sub r2, #1 / str r4, [r0, r2, lsl #2]
c. ldr r4, [r0, r2, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
d. ldr r4, [r0, r3, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < 10) *c = a; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Punts: 1 En ARMv4, de cantos bits es el valor derivado de un operando inmediato (despus de realizar el desplazamiento pertinente)? Trieu una resposta.
a. 8
b. 12
c. 16
d. 32
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de ejecutar and r2, r1, r0, lsl #2? Trieu una resposta.
a. r2 = 8
b. r2 = 6
c. r2 = 2
d. r2 = 4
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Dado el siguiente contenido de una porcin de la memoria: 0x10032 0x41 0x10033 0x7F 0x10034 0x00 0x10035 0x60 0x10036 0xAC 0x10037 0xE3
Cul es el half word que se encuentra en la posicin 0x10034, con una ordenacin Big Endian? Trieu una resposta.
a. 0x00
b. 0x6000ACE3
c. 0x0060
d. 0x007F
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Suponiendo que r13 = 0x07DC y r14 = 0x84AC, Cul es el valor del r13 despus de ejecutar la instruccin push {r0-r2, lr}? Trieu una resposta.
a. r13 = 0x07DC
b. r13 = 0x07D9
c. r13 = 0x07CC
d. r13 = 0x84AC
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 De los elementos que componen un sistema programable, cul de ellos se encarga de ejecutar la instrucciones de lenguaje mquina? Trieu una resposta.
a. memoria
b. procesador
c. buses
d. controladores de entrada/salida
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Cmo se organiza la memoria de un sistema programable basado en ARMv4? Trieu una resposta.
a. como un vector de half-words
b. como un vector de words
c. como un vector de bits
d. como un vector de bytes
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Cuntos bytes puede insertar el programa ensamblador como respuesta a una directiva .align 2? Trieu una resposta.
a. siempre 2
b. siempre 4
c. 0, 1, 2 o 3
d. 1 o 2
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Cmo se puede alinear la memoria a hword? Trieu una resposta.
a. .align 2
b. .align 1
c. ..align 4
d. .align 3
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v1: .byte 8
Cmo se puede cargar la direccin de memoria de v1 en el registro r0? Trieu una resposta.
a. mov r0, v1
b. ldr r0, =v1
c. ldr r0, [v1]
d. ldr r0, v1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 En lenguaje ensamblador GAS para ARMv4, cmo se especifican los valores inmediatos de las instrucciones de lenguaje mquina? Trieu una resposta.
a. entre parntesis
b. con el prefijo 0x
c. con el prefijo #
d. entre comillas
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 A qu nivel est definido el cdigo hexadecimal de una instruccin de lenguaje mquina como 0x1AFF FFFC? Trieu una resposta.
a. a nivel de lenguaje ensamblador
b. a nivel de cdigo mquina
c. a alto nivel
d. a nivel de lenguaje mquina
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a >= 0) {...}, suponiendo que el valor de la variable a (de tipo int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0 / ble .Lfinif / / .Lfinif:
b. cmp r0, #0 / bne .Lfinif / / .Lfinif:
c. cmp r0, #0 / blt .Lfinif / / .Lfinif:
d. cmp r0, #0 / bge .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
b. mov r0, #0 / .Ldo: / / cmp r0, #10 / bls .Ldo
c. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhs .Ldo
d. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhi .Ldo
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[i] = 1;, suponiendo el vector v es de tipo int, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. mov r2, #1 / str r2, [r1, r0]
b. mov r2, #1 / str r2, [r1, r0, lsl #1]
c. mov r2, #1 / str r2, [r1, r0, lsl #2]
d. mov r2, #1 / str r2, [r1, r0, lsl #4]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
b. mov r0, #0 / / cmp r0, #10 / .Ldo: / blo .Ldo
c. mov r0, #0 / / .Ldo: / cmp r0, #10 / blo .Ldo
d. .Ldo: / mov r0, #0 / / cmp r0, #10 / blo .Ldo
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < 10) *c = a; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C b = func2(a);, suponiendo que la variable a es de tipo int, que la variable c es de tipo char, que el parmetro se pasa por valor y por r0, mientras que resultado se devuelve por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < *b) c = a; si suponemos que los parmetros se pasan por los registros r0 y r1, mientras que el resultado se devuelve por el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Punts: 1 De los elementos que componen un procesador, cul de ellos se encarga de calcular las posiciones de memoria donde se encuentran los datos del programa? Trieu una resposta.
a. registros
b. unidad de clculo de direcciones
c. unidad de control
d. unidad aritmtico-lgica
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 De los elementos que componen un procesador, cul de ellos controla el contenido del bus de direcciones? Trieu una resposta.
a. unidad aritmtico-lgica
b. unidad de clculo de direcciones
c. unidad de control
d. registros
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 En ARMv4, de cantos bits es el valor derivado de un operando inmediato (despus de realizar el desplazamiento pertinente)? Trieu una resposta.
a. 16
b. 12
c. 32
d. 8
Correcta Punts d'aquesta tramesa: 1/1. Question 4 Punts: 1 1.6.2 Dado el siguiente programa escrito en lenguaje mquina: 0x8000 mov r0, #3 0x8004 mov r1, #1 0x8008 add r0, r1 0x800C cmp r0, #12 0x8010 blo 0x8008 0x8014 b 0x8014 Cuntos ciclos mquina se necesitan para ejecutar las instrucciones desde 0x8000 hasta 0x8014 (no inclusive), suponiendo que, en general, una instruccin diferente de un salto necesita 1 ciclo, una instruccin de salto con secuenciamiento explcito necesita 3 ciclos, y una instruccin de salto con secuenciamiento implcito necesita 4 ciclos? Trieu una resposta.
a. 26
b. 37
c. 48
d. 53
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 En ARMv4, hacia dnde se deplaza el patrn de bits a 1 de un operando inmediato? Trieu una resposta.
a. hacia la derecha
b. hacia la izquierda o hacia la derecha, segn la instruccin de lenguaje mquina
c. no se desplazan
d. hacia la izquierda
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Cmo se llenan los bits altos del registro r0 con una instruccin ldrh r0, [r1, #2]? Trieu una resposta.
a. los 16 bits altos al valor del signo del nmero que se est cargando
b. los 16 bits altos a 0
c. los 16 bits altos a 1
d. los 24 bits altos a 0
Correcta Punts d'aquesta tramesa: 1/1. Question 7 Punts: 1 Qu registro tiene que guardarse a la pila en la primera instruccin push de una rutina para permitir el retorno correctamente? Trieu una resposta.
a. el registro 15 (pc)
b. el registro 14 (lr)
c. el registro 13 (sp)
d. el registro 0
Correcta Punts d'aquesta tramesa: 1/1. Question 8 Punts: 1 Dado el siguiente programa escrito en lenguaje ensamblador: _start: mov r0, #3 mov r1, #1 .Lbucle: add r0, r1 add r1, #1 cmp r0, #12 blo .Lbucle .Lstop: b .Lstop
Si la primera instruccin se ensambla a partir de la posicin 0x8000, Que direccin le corresponde al smbolo .Lbucle? Trieu una resposta.
a. 0x8008
b. 0x8004
c. 0x8002
d. 0x8003
Correcta Punts d'aquesta tramesa: 1/1. Question 9 Punts: 1 Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v1: .byte 8
Cmo se puede cargar la direccin de memoria de v1 en el registro r0? Trieu una resposta.
a. ldr r0, [v1]
b. ldr r0, v1
c. mov r0, v1
d. ldr r0, =v1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Cundo hay que aadir el sufijo : a una etiqueta de salto? Trieu una resposta.
a. cuando se referencia la etiqueta (por ejemplo, en una instruccin de salto)
b. siempre que dicha etiqueta aparezca en el programa
c. cuando la etiqueta es global
d. cuando se declara la etiqueta
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Cmo se puede alinear la memoria a hword? Trieu una resposta.
a. ..align 4
b. .align 3
c. .align 1
d. .align 2
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhs .Ldo
b. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
c. mov r0, #0 / .Ldo: / cmp r0, #10 / bhs .Lfindo / / b .Ldo / .Lfindo:
d. mov r0, #0 / .Ldo: / cmp r0, #10 / blo .Lfindo / / b .Ldo / .Lfindo:
Correcta Punts d'aquesta tramesa: 1/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C a = a << b;, suponiendo que las variables a y b (de tipo int) estn asignados a los registros r0 y r1, respectivamente? Trieu una resposta.
a. mov r0, r1, lsl r0
b. mov r0, r1, lsl r1
c. mov r1, r0, lsl r1
d. mov r0, r0, lsl r1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c *= a + b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. mul r2, r0, r1
b. add r0, r0, r1 / mul r2, r2, r0
c. mul r2, r1, r0, lsl #1
d. add r3, r0, r1 / mul r2, r2, r3
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a*2 - b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. sub r2, r1, r0, lsl #1
b. sub r2, r0, lsl #1 / add r2, r1
c. mov r0, lsl #1 / sub r2, r1, r0
d. mov r0, lsl #1 / sub r2, r0, r1
Correcta Punts d'aquesta tramesa: 1/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[i*num_files + j] = 0; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j se implementan en los registros r2 y r3, respectivamente? Trieu una resposta.
a. mul r5, r2, r1 / add r5, r3, lsl #2 / mov r4, #0 / str r4, [r0, r5]
b. mul r5, r2, r1 / add r5, r3 / mov r4, #0, lsl #2 / str r4, [r0, r5]
c. mul r5, r2, r1, lsl #2 / add r5, r3 / mov r4, #0 / str r4, [r0, r5]
d. mul r5, r2, r1 / add r5, r3 / mov r4, #0 / str r4, [r0, r5, lsl #2]
Correcta Punts d'aquesta tramesa: 1/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < *b) c = a; si suponemos que los parmetros se pasan por los registros r0 y r1, mientras que el resultado se devuelve por el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin int temp = v[n-1] si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
b. ldr r2, =temp / sub r1, #1 / ldr r3, [r0, r1, lsl #2] / str r3, [r2]
c. sub r1, #1 / ldr r3, [r0, r1, lsl #2] @; r3 es temp
d. sub r2, r1, #1 / ldr r3, [r0, r2, lsl #2] @; r3 es temp
Correcta Punts d'aquesta tramesa: 1/1. Punts: 1 Suponiendo que el contenido de algunos registros sea el siguiente: r0 0x0000 r1 0x0001 r4 0x00FE37A1 r5 0xFFFFFFFE Cul ser el contenido de los registros r0 y r1 despus de ejecutar las instrucciones push {r5, r4} y pop {r0, r1}? Trieu una resposta.
a. r0 = 0xFFFFFFFE; r1 = 0x00FE37A1
b. r0 = 0x00FE37A1; r1 = 0xFFFFFFFE
c. r0 = 0xFFFFFFFE; r1 = 0x00000000
d. r0 = 0x00000000; r1 = 0x00000001
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 De los elementos que componen un procesador, cul de ellos se encarga de controlar el proceso de ejecucin de las instrucciones de lenguaje mquina? Trieu una resposta.
a. unidad de clculo de direcciones
b. registros
c. unidad de control
d. unidad aritmtico-lgica
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Cul de las siguientes instrucciones sirve para grabar un registro de lenguaje mquina en un word de memoria? Trieu una resposta.
a. ldr
b. strb
c. str
d. ldrb
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 De los elementos que componen un procesador, cul de ellos controla el contenido del bus de direcciones? Trieu una resposta.
a. registros
b. unidad aritmtico-lgica
c. unidad de control
d. unidad de clculo de direcciones
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Qu tipo de instrucciones generan siempre un secuenciamiento explcito? Trieu una resposta.
a. de salto condicional
b. de salto condicional o incondicional
c. de comparacin
d. de salto incondicional
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Suponiendo que r13 = 0x07DC y r14 = 0x84AC, Cul es el valor del r13 despus de ejecutar la instruccin push {r0-r2, lr}? Trieu una resposta.
a. r13 = 0x07CC
b. r13 = 0x84AC
c. r13 = 0x07DC
d. r13 = 0x07D9
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C int c = 0x500;? Trieu una resposta.
a. i: .hword 500
b. i: .hword 0x500
c. i: .word 500
d. i: .word 0x500
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Cmo se puede alinear la memoria a hword? Trieu una resposta.
a. .align 1
b. ..align 4
c. .align 2
d. .align 3
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 En un programa escrito en lenguaje mquina del ARMv4, con el conjunto propio de instrucciones thumb (no arm), cmo son las direcciones asociadas a las etiquetas de salto? Trieu una resposta.
a. puede ser cualquier posicin de memoria de la seccin .text
b. mltiples de 4
c. mltiples de 2
d. mltiples de 8
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v3: .word 32
Cmo se puede cargar el contenido de memoria de v3 en el registro r0? Trieu una resposta.
a. mov r0, =v1
b. ldr r0, =v1 / ldr r1, [r0]
c. ldr r1, =v1 / ldr r0, [r1]
d. ldr r0, =v1 / ldr r0, r1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Cuntos bytes puede insertar el programa ensamblador como respuesta a una directiva .align 1? Trieu una resposta.
a. siempre 2
b. 0, 1 o 2
c. siempre 1
d. 0 o 1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a ^ b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. and r2, r0, r1
b. eor r2, r0, r1
c. or r2, r0, r1
d. orr r2, r0, r1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a >= 0) {...}, suponiendo que el valor de la variable a (de tipo int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0 / bne .Lfinif / / .Lfinif:
b. cmp r0, #0 / ble .Lfinif / / .Lfinif:
c. cmp r0, #0 / bge .Lfinif / / .Lfinif:
d. cmp r0, #0 / blt .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a & b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. orr r2, r0, r1
b. and r2, r0, r1
c. or r2, r0, r1
d. eor r2, r0, r1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a*2 - b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. mov r0, lsl #1 / sub r2, r0, r1
b. sub r2, r1, r0, lsl #1
c. mov r0, lsl #1 / sub r2, r1, r0
d. sub r2, r0, lsl #1 / add r2, r1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C b = func2(a);, suponiendo que la variable a es de tipo int, que la variable c es de tipo char, que el parmetro se pasa por valor y por r0, mientras que resultado se devuelve por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin suma += matriz[j][i]; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, suma se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[j*num_files + i] = temp; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, temp se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
a. mul r5, r2, r1 / add r5, r3 / str r4, [r0, r5, lsl #2]
b. mul r5, r2, r1 / add r5, r3 / ldr r4, [r0, r5, lsl #2]
c. mul r5, r3, r1 / add r5, r2 / ldr r4, [r0, r5, lsl #2]
d. mul r5, r3, r1 / add r5, r2 / str r4, [r0, r5, lsl #2]
Punts: 1 Cuntos bits se reservan en una instruccin ARMv4 para codificar un operando inmediato? Trieu una resposta.
a. 12
b. 16
c. 32
d. 8
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 De los elementos que componen un procesador, cul de ellos maneja el bus de control? Trieu una resposta.
a. unidad de control
b. unidad de clculo de direcciones
c. registros
d. unidad aritmtico-lgica
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Cul de las siguientes instrucciones es capaz de multiplicar el contenido de r0 por 5? Trieu una resposta.
a. add r0, r0, lsl #2
b. add r0, r0, lsl #5
c. add r0, r0, lsl #4
d. add r0, r0, lsl #3
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Dado el siguiente contenido de una porcin de la memoria: 0x10032 0xD2 0x10032 0x41 0x10033 0x7F 0x10034 0x00 0x10035 0x60 0x10036 0xAC 0x10036 0xE3
Cul es el word que se encuentra en la posicin 0x10034, con una ordenacin Big Endian? Trieu una resposta.
a. 0x0060AC
b. 0x0060ACE3
c. 0x0060
d. 0x00
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Suponiendo que los contenidos de r0 i r1 sean 1 i 4 respectivamente Cul es el resultado de la instruccin sub r2, r1, r0, lsr #2? Trieu una resposta.
a. r2 = 0
b. r2 = 4
c. r2 = 2
d. r2 = 3
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Dado el siguiente contenido de memoria y de algunos registros de lenguaje mquina: 0x10034 0xCA 0x10035 0x00 r2 0x00004 0x10036 0x08 r3 0x10034 0x10037 0xFD r4 0x00001 0X10038 0x12 Cul es el resultado de la instruccin ldsb r0, [r3, #3]? Trieu una resposta.
a. r0 = 0xFD
b. r0 = 0x00000008
c. r0 = 0xFFFFFFFD
d. r0 = 0xFFFFCA
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 En qu seccin se deben ubicar las variables globales no inicializadas? Trieu una resposta.
a. .bss
b. .text
c. .data
d. .var
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v6: .byte 1, 2, 3, 4, 5, 6 .align 1 Cul ser la siguiente direccin de ensamblado si v6 se almacena en 0x10060? Trieu una resposta.
a. 0x10067
b. 0x10068
c. 0x10070
d. 0x10066
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Cmo se especifica un valor octal en lenguaje ensamblador GAS? Trieu una resposta.
a. con el prefijo o
b. con el sufijo o'
c. escribiendo el nmero directamente
d. con el prefijo 0
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 En lenguaje ensamblador GAS para ARMv4, cmo se especifican los valores inmediatos de las instrucciones de lenguaje mquina? Trieu una resposta.
a. entre parntesis
b. entre comillas
c. con el prefijo 0x
d. con el prefijo #
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Cmo se especifica un valor hexadecimal en lenguaje ensamblador GAS? Trieu una resposta.
a. con el sufijo H'
b. con el sufijo 0X
c. con el prefijo 0x
d. escribiendo el nmero directamente
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a != 0) {...}, suponiendo que el valor de la variable a (de tipo int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0 / beq .Lfinif / / .Lfinif:
b. cmp r0, #0 / bne .Lfinif / / .Lfinif:
c. cmp r0, #0 / bge .Lfinif / / .Lfinif:
d. cmp r0, #0 / ble .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C for (i = 0; i < 10; i++) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Suponiendo que se han cargado los registro r0, r1, r2, r3 y r4 con la direccin base de una matriz de tipo short (r0), el nmero de columnas (r1), el nmero de filas (r2), el ndice i (r3) y el ndice j (r4), cmo se puede implementar en lenguaje mquina la instruccin k = matriz[i][j];, donde k se tiene que guardar en el registro r6? Trieu una resposta.
a. mul r5, r3, r1 / add r5, r4 / ldrh r6, [r0, r5, lsl #2]
b. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #1]
c. mul r5, r3, r2 / add r5, r4 / ldr r6, [r0, r5, lsl #2]
d. mul r5, r3, r1 / add r5, r4 / ldrh r6, [r0, r5, lsl #1]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhs .Ldo
b. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
c. mov r0, #0 / .Ldo: / cmp r0, #10 / blo .Lfindo / / b .Ldo / .Lfindo:
d. mov r0, #0 / .Ldo: / cmp r0, #10 / bhs .Lfindo / / b .Ldo / .Lfindo:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C b = func2(a);, suponiendo que la variable a es de tipo int, que la variable c es de tipo char, que el parmetro se pasa por valor y por r0, mientras que resultado se devuelve por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin int temp = v[n-1] si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
Trieu una resposta.
a. sub r2, r1, #1 / ldr r3, [r0, r2, lsl #2] @; r3 es temp
c. sub r1, #1 / ldr r3, [r0, r1, lsl #2] @; r3 es temp
d. ldr r2, =temp / sub r1, #1 / ldr r3, [r0, r1, lsl #2] / str r3, [r2]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < 10) *c = a; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Heu entrat com VISO ARBONES IGNASI (Sortida) 2010-2011 FONAMENTS DE COMPUTADORS (172340 Punts: 1 Dado el siguiente programa escrito en lenguaje mquina: 0x8000 mov r0, #5 0x8004 mov r1, #2 0x8008 add r2, r0, r1 0x800C cmp r2, #12 0x8010 bhi 0x801C 0x8014 mov r1, r1, lsl #1 0x8018 b 0x8008 0x801C b 0x801C Cuntos ciclos mquina se necesitan para ejecutar las instrucciones desde 0x8000 hasta 0x801C (no inclusive), suponiendo que, en general, una instruccin diferente de un salto necesita 1 ciclo, una instruccin de salto con secuenciamiento explcito necesita 3 ciclos, y una instruccin de salto con secuenciamiento implcito necesita 4 ciclos? Trieu una resposta.
a. 31
b. 35
c. 27
d. 22
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Cul de los siguientes operadores se emplea para desplazar el contenido de un registro cierto nmero de bits a la derecha, suponiendo que el valor a desplazar es un entero Ca2? Trieu una resposta.
a. lsr
b. asr
c. ror
d. lsl
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Cuntos bits del registro r0 se modifican con la instruccin ldrh r0, [r1, r2, lsl #2]? Trieu una resposta.
a. 16
b. 8
c. 4
d. 32
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Cul de las siguientes instrucciones sirve para cargar un word de memoria en un registro de lenguaje mquina? Trieu una resposta.
a. str
b. strb
c. ldrb
d. ldr
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 De los elementos que componen un procesador, cul de ellos se encarga de realizar clculos que requieren las instrucciones de lenguaje mquina? Trieu una resposta.
a. unidad de control
b. unidad de clculo de direcciones
c. registros
d. unidad aritmtico-lgica
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Cmo consigue el procesador efectuar un secuenciamiento explcito? Trieu una resposta.
a. cargando la direccin del salto en el p
b. reseteando (poniendo a 0) el pc
c. sumando 1 al pc
d. sumando 4 al pc
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Cmo se especifica un valor binario en lenguaje ensamblador GAS? Trieu una resposta.
a. con el prefijo 0x
b. con el sufijo b'
c. escribiendo el nmero directamente
d. con el prefijo 0b
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Cmo se define la direccin de inicio de una rutina? Trieu una resposta.
a. con una directiva .global
b. con una instruccin de llamada a rutina bl
c. con una directiva .routine
d. con una etiqueta de salto
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Cmo se traduce una directiva de ensamblador a lenguaje mquina? Trieu una resposta.
a. como un dato en memoria
b. como una direccin de memoria
c. no tiene una traduccin directa
d. como una instruccin
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Cmo se consigue el retorno de una rutina con las instrucciones push de inicio i pop de fin? Trieu una resposta.
a. salvando y restaurando los registros que se modifican dentro de la rutina
b. salvando el registro lr y recuperando su contenido en el pc
c. salvando el contenido de los registros que contienen parmetros de la rutina
d. salvando el pc y recuperando su contenido en el registro lr
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Cul tiene que ser siempre la ltima instruccin de una rutina? Trieu una resposta.
a. push
b. func1:
c. pop
d. bl
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C for (i = 0; i < j; i++) {...}, suponiendo que las variables i y j (de tipo int) se asignen a los registros r0 y r1, respectivamente? Trieu una resposta.
d. mov r0, #0 / .Lfor: / cmp r0, r1 / bge .Lfinfor / / add r0, #1 / cmp r0, r1 / bls .Lfor / .Lfinfor: Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a == 0) {...}, suponiendo que el valor de la variable a (de tipo int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0 / bne .Lfinif / / .Lfinif:
b. cmp r0, #0 / ble .Lfinif / / .Lfinif:
c. cmp r0, #0 / bge .Lfinif / / .Lfinif:
d. cmp r0, #0 / beq .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a >= 0) {...}, suponiendo que el valor de la variable a (de tipo int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0 / ble .Lfinif / / .Lfinif:
b. cmp r0, #0 / bne .Lfinif / / .Lfinif:
c. cmp r0, #0 / blt .Lfinif / / .Lfinif:
d. cmp r0, #0 / bge .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if ((a > 0) || (b < a)) {...}, suponiendo que las variables a y b (de tipo int) estn asignadas a los registros r0 y r1, respectivamente? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin suma += matriz[i][j]; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, suma se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C func1(a, &b);, suponiendo que las variables a y b son de tipo int, y que el primer parmetro se pasa por valor y por r0, mientras que el segundo parmetro se pasa por referencia y por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C func1(a, &b);, suponiendo que las variables a y b son de tipo int, y que el primer parmetro se pasa por valor y por r0, mientras que el segundo parmetro se pasa por referencia y por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. 1 Punts: 1 Suponiendo que r13 = 0x07DC y r14 = 0x84AC, Cul es el valor del r13 despus de ejecutar la instruccin push {r0-r2, lr}? Trieu una resposta.
a. r13 = 0x07CC
b. r13 = 0x84AC
c. r13 = 0x07D9
d. r13 = 0x07DC
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de ejecutar eor r2, r1, r0, asr #1? Trieu una resposta.
a. r2 = 9
b. r2 = 11
c. r2 = 10
d. r2 = 8
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Cul es el resultado de la instruccin mull r5, r4, r2, r0? Trieu una resposta.
a. r5 = r0 * r4 / r2
b. r5 = r0 * r2 * r4
c. r4:r5 = r2 * r0
d. r5:r4 = r2 * r0
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Cul de las siguientes instrucciones es capaz de multiplicar el contenido de r0 por 5? Trieu una resposta.
a. add r0, r0, lsl #2
b. add r0, r0, lsl #5
c. add r0, r0, lsl #3
d. add r0, r0, lsl #4
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Qu tipo de instrucciones generan siempre un secuenciamiento explcito? Trieu una resposta.
a. de comparacin
b. de salto incondicional
c. de salto condicional o incondicional
d. de salto condicional
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Cul es el rango mximo de los nmeros naturales que puede manejar intrnsecamente un procesador ARMv4? Trieu una resposta.
a. de 0 a 16777215
b. de 0 a 255
c. de 0 a 4294967295
d. de 0 a 65535
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Dado el siguiente programa escrito en lenguaje ensamblador: _start: mov r0, #3 mov r1, #1 .Lbucle: add r0, r1 add r1, #1 cmp r0, #12 blo .Lbucle .Lstop: b .Lstop
Si la primera instruccin se ensambla a partir de la posicin 0x8000, Que direccin le corresponde al smbolo .Lbucle? Trieu una resposta.
a. 0x8003
b. 0x8002
c. 0x8004
d. 0x8008
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C int c = 0x500;? Trieu una resposta.
a. i: .hword 500
b. i: .word 500
c. i: .word 0x500
d. i: .hword 0x500
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Cmo se guarda en el sistema de ficheros del ordenador un programa en lenguaje mquina? Trieu una resposta.
a. como un fichero de lenguaje mquina
b. como un fichero de cdigos binarios
c. como un fichero de lenguaje ensamblador
d. como un fichero de texto
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Cmo se puede alinear la memoria a word? Trieu una resposta.
a. .align 2
b. .align 1
c. .align 3
d. .align 4
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 En qu base se pueden expresar los nmeros negativos con el smbolo - en el lenguaje ensamblador GAS? Trieu una resposta.
a. slo en base 10
b. en cualquier base
c. en base 10 y en base 8 (octal)
d. en base 10 y en base 16 (hexadecimal)
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Lwhile: / cmp r0, #10 / blo .Lfinwhile / / b .Lwhile / .Lfinwhile:
b. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhi .Lfinwhile / / b .Lwhile / .Lfinwhile:
c. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
d. mov r0, #0 / .Lwhile: / cmp r0, #10 / bls .Lfinwhile / / b .Lwhile / .Lfinwhile:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lwhile / / b .Lfinwhile / .Lfinwhile:
b. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lwhile / / b .Lwhile / .Lfinwhile:
c. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lfinwhile / .Lfinwhile:
d. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile: Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[i] = 1;, suponiendo el vector v es de tipo short, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. mov r2, #1 / strh r2, [r1, r0]
b. strs #1, [r1, r0]
c. mov r2, #1 / strh r2, [r1, r0, lsl #1]
d. strh #1, [r1, r0]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Suponiendo que se han cargado los registro r0, r1, r2, r3 y r4 con la direccin base de una matriz de tipo int (r0), el nmero de columnas (r1), el nmero de filas (r2), el ndice i (r3) y el ndice j (r4), cmo se puede implementar en lenguaje mquina la instruccin k = matriz[i][j];, donde k se tiene que guardar en el registro r6? Trieu una resposta.
a. mul r5, r3, r2 / add r5, r4 / ldr r6, [r0, r5, lsl #2]
b. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #2]
c. mul r5, r3, r1 / add r5, r1 / ldr r6, [r0, r5, lsl #2]
d. mul r5, r4, r1 / add r5, r3 / ldr r6, [r0, r5, lsl #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < 10) *c = a; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < *b) c = a; si suponemos que los parmetros se pasan por los registros r0 y r1, mientras que el resultado se devuelve por el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin v[0] = temp; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
Incorrecta Punts: 1 De los elementos que componen un procesador, cul de ellos controla el contenido del bus de direcciones? Trieu una resposta.
a. registros
b. unidad de control
c. unidad aritmtico-lgica
d. unidad de clculo de direcciones
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Suponiendo que el contenido de algunos registros sea el siguiente: r0 0x0000 r1 0x0001 r4 0x00FE37A1 r5 0xFFFFFFFE Cul ser el contenido de los registros r0 y r1 despus de ejecutar las instrucciones push {r0, r1} y pop {r4, r5}? Trieu una resposta.
a. r0 = 0xFFFFFFFE; r1 = 0x00000000
b. r0 = 0x00FE37A1; r1 = 0xFFFFFFFE
c. r0 = 0x00000000; r1 = 0x00000001
d. r0 = 0xFFFFFFFE; r1 = 0x00FE37A1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Dado el siguiente fragmento de un programa escrito en lenguaje mquina: 0x80A4 bl 0x81FC 0x80A8 : Qu valor se guardar en el registro lr (r14)? Trieu una resposta.
a. 0x80A8
b. 0x81FF
c. 0x80A4
d. 0x81FC
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Dado el siguiente programa escrito en lenguaje mquina: 0x8000 mov r0, #5 0x8004 mov r1, #2 0x8008 mul r2, r0, r1 0x800C add r1, #1 0x8010 cmp r2, #50 0x8014 bne 0x8008 0x8018 b 0x8018 Cuntos ciclos mquina se necesitan para ejecutar las instrucciones desde 0x8000 hasta 0x8018 (no inclusive), suponiendo que, en general, una instruccin diferente de un salto y diferente de una multiplicacin necesita 1 ciclo, una instruccin de multiplicacin necesita 2 ciclos, una instruccin de salto con secuenciamiento explcito necesita 3 ciclos, y una instruccin de salto con secuenciamiento implcito necesita 4 ciclos? Trieu una resposta.
a. 58
b. 75
c. 46
d. 66
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Cul es el significado del flag V? Trieu una resposta.
a. la operacin anterior ha resultado igual a cero
b. la operacin anterior ha provocado desbordamiento
c. la operacin anterior ha resultado negativa
d. la operacin anterior ha provocado acarreo
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 De los elementos que componen un procesador, cul de ellos est implementado bsicamente como un autmata? Trieu una resposta.
a. unidad aritmtico-lgica
b. registros
c. unidad de control
d. unidad de clculo de direcciones
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Cul tiene que ser el nombre de la etiqueta de inicio de un programa escrito en ensamblador GAS? Trieu una resposta.
a. start:
b. _start:
c. inicio:
d. .Linicio:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v1: .byte 8
Cmo se puede cargar el contenido de memoria de v1 en el registro r0? Trieu una resposta.
a. ldr r1, =v1 / ldrb r0, [r1]
b. ldrb r1, =v1 / ldrb r0, [r1]
c. ldrb r1, =v1 / ldr r0, [r1]
d. ldr r1, =v1 / ldr r0, [r1]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Por convenio, Cmo se tienen que nombrar las etiquetas de salto locales a una seccin de cdigo escrito en ensamblador GAS? Trieu una resposta.
a. empezando por un punto
b. empezando por .L
c. con la directiva .global
d. con la directiva .local
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 En lenguaje ensamblador Qu es lo que define un smbolo del programa como una etiqueta de salto? Trieu una resposta.
a. el prefijo .L
b. el sufijo :
c. que se utilice en instrucciones de salto condicional
d. que se escriba ms a la izquierda que el resto de instrucciones
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C int matrix[][] = {{2, -5, 90}, {-12, 82, 0}, {-4, 850, -100}};? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C for (i = 0; i < 10; i++) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C a = a << b;, suponiendo que las variables a y b (de tipo int) estn asignados a los registros r0 y r1, respectivamente? Trieu una resposta.
a. mov r0, r0, lsl r1
b. mov r1, r0, lsl r1
c. mov r0, r1, lsl r1
d. mov r0, r1, lsl r0
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Ldo: / / cmp r0, #10 / bls .Ldo
b. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhi .Ldo
c. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
d. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhs .Ldo
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a ^ b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. eor r2, r0, r1
b. or r2, r0, r1
c. and r2, r0, r1
d. orr r2, r0, r1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C b = func2(a);, suponiendo que la variable a es de tipo int, que la variable c es de tipo char, que el parmetro se pasa por valor y por r0, mientras que resultado se devuelve por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la llamada swap(&vector[i], &vector[lon-1 i]); si suponemos que la direccin base de vector est en r3, el valor de lon -1 est en r4, los parmetros de swap se pasan por los r0 y r1, mientras que la variable local i se implementa en el registro r2? Trieu una resposta.
d. add r0, r3, r2 / add r1, r0, r4 / sub r1, r2 / bl swap
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[j*num_files + i] = temp; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, temp se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
a. mul r5, r3, r1 / add r5, r2 / ldr r4, [r0, r5, lsl #2]
b. mul r5, r2, r1 / add r5, r3 / ldr r4, [r0, r5, lsl #2]
c. mul r5, r3, r1 / add r5, r2 / str r4, [r0, r5, lsl #2]
d. mul r5, r2, r1 / add r5, r3 / str r4, [r0, r5, lsl #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Punts: 1 Cul de los siguientes pares de instrucciones deja la pila en un estado inconsistente? Trieu una resposta.
a. push {r4-r6, lr} / pop {r4-r6, pc}
b. push {r0, r1} / pop {r1, r0}
c. push {r4-r6, r8, r10} / pop {r4-r5, r8, r10}
d. push {r4-r6, r12} / pop {r4-r7}
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 2 Punts: 1 Cul es la instruccin para saltar cuando un nmero natural es menor o igual que otro? Trieu una resposta.
a. bls
b. ble
c. blt
d. blo
Correcta Punts d'aquesta tramesa: 1/1. Question 3 Punts: 1 Cul de los siguientes operadores se emplea para desplazar el contenido de un registro cierto nmero de bits a la izquierda? Trieu una resposta.
a. ror
b. lsl
c. lsr
d. asr
Correcta Punts d'aquesta tramesa: 1/1. Question 4 Punts: 1 Cuntos bits del registro r0 se modifican con la instruccin ldrh r0, [r1, r2, lsl #2]? Trieu una resposta.
a. 32
b. 8
c. 16
d. 4
Correcta Punts d'aquesta tramesa: 1/1. Question 5 Punts: 1 De los elementos que componen un procesador, cul de ellos est implementado bsicamente como un autmata? Trieu una resposta.
a. unidad de clculo de direcciones
b. registros
c. unidad de control
d. unidad aritmtico-lgica
Correcta Punts d'aquesta tramesa: 1/1. Question 6 Punts: 1 Cuntos bytes puede capturar de memoria simultneamente un procesador ARMv4 en un slo acceso? Trieu una resposta.
a. 32
b. 4
c. 8
d. 1
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 7 Punts: 1 Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C int matrix[][] = {{2, -5, 90}, {-12, 82, 0}, {-4, 850, -100}};? Trieu una resposta.
Correcta Punts d'aquesta tramesa: 1/1. Question 8 Punts: 1 Cul tiene que ser siempre la primera instruccin de una rutina? Trieu una resposta.
a. func1:
b. bl
c. pop
d. push
Correcta Punts d'aquesta tramesa: 1/1. Question 9 Punts: 1 En qu seccin se deben ubicar las etiquetas de salto? Trieu una resposta.
a. .label
b. .text
c. .data
d. .bss
Correcta Punts d'aquesta tramesa: 1/1. Question 10 Punts: 1 Cundo hay que aadir el sufijo : a una etiqueta de salto? Trieu una resposta.
a. cuando se declara la etiqueta
b. cuando se referencia la etiqueta (por ejemplo, en una instruccin de salto)
c. cuando la etiqueta es global
d. siempre que dicha etiqueta aparezca en el programa
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Suponiendo que la variable v1 se encuentra en la posicin de memoria 0x10034, cuando se ejecuta una instruccin del tipo ldr r1, =v1, dnde localiza el procesador la direccin de memoria 0x10034 para cargarla en el registro r1? Trieu una resposta.
a. en el registro r15 (pc)
b. en memoria, dentro de la seccin de instrucciones
c. en la pila
d. en memoria, dentro de la seccin de variables globales
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a < 10) a++; else {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #10 / bhi .Lelse / add r0, #1 / b .Lfinif: / .Lelse: / / .Lfinif:
b. cmp r0, #10 / bhs .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
c. cmp r0, #10 / bls .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
d. cmp r0, #10 / blo .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
Correcta Punts d'aquesta tramesa: 1/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[1] = i;, suponiendo el vector v es de tipo char, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. strb #1, [r1, r0]
b. strb r0, [r1, #1]
c. mov r2, #1 / strb r2, [r1, r0]
d. strb r0, [r1]
Correcta Punts d'aquesta tramesa: 1/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C a++;, suponiendo que el valor de la variable a (de tipo int) est asignado al registro r0? Trieu una resposta.
a. add r0, 1
b. add r0, #1
c. add #1, r0
d. add 1, r0
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a ^ b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. eor r2, r0, r1
b. or r2, r0, r1
c. and r2, r0, r1
d. orr r2, r0, r1
Correcta Punts d'aquesta tramesa: 1/1. Question 16 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C func1(a, &b);, suponiendo que las variables a y b son de tipo int, y que el primer parmetro se pasa por valor y por r0, mientras que el segundo parmetro se pasa por referencia y por r1? Trieu una resposta.
Correcta Punts d'aquesta tramesa: 1/1. Question 17 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin int temp = v[n-1] si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
Trieu una resposta.
a. sub r1, #1 / ldr r3, [r0, r1, lsl #2] @; r3 es temp
b. sub r2, r1, #1 / ldr r3, [r0, r2, lsl #2] @; r3 es temp
c. ldr r2, =temp / sub r1, #1 / ldr r3, [r0, r1, lsl #2] / str r3, [r2]
Correcta Punts d'aquesta tramesa: 1/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[i*num_files + j] = 0; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j se implementan en los registros r2 y r3, respectivamente? Trieu una resposta.
a. mul r5, r2, r1 / add r5, r3 / mov r4, #0 / str r4, [r0, r5, lsl #2]
b. mul r5, r2, r1 / add r5, r3 / mov r4, #0, lsl #2 / str r4, [r0, r5]
c. mul r5, r2, r1, lsl #2 / add r5, r3 / mov r4, #0 / str r4, [r0, r5]
d. mul r5, r2, r1 / add r5, r3, lsl #2 / mov r4, #0 / str r4, [r0, r5]
Correcta Punts d'aquesta tramesa: 1/1. Punts: 1 De los elementos que componen un sistema programable, cul de ellos se encarga de transferir informacin con el exterior? Trieu una resposta.
a. buses
b. procesador
c. memoria
d. controladores de entrada/salida
Correcta Punts d'aquesta tramesa: 1/1. Question 2 Punts: 1 Suponiendo que el contenido de algunos registros sea el siguiente: r0 0x0000 r1 0x0001 r4 0x00FE37A1 r5 0xFFFFFFFE Cul ser el contenido de los registros r0 y r1 despus de ejecutar las instrucciones push {r0, r1, r4, r5} y pop {r0, r4, r1, r5}? Trieu una resposta.
a. r0 = 0x00FE37A1; r1 = 0x00000001
b. r0 = 0x00000000; r1 = 0x00000001
c. r0 = 0x00FE37A1; r1 = 0xFFFFFFFE
d. r0 = 0x00000000; r1 = 0x00FE37A1
Correcta Punts d'aquesta tramesa: 1/1. Question 3 Punts: 1 Cul de las siguientes instrucciones efecta un salto incondicional? Trieu una resposta.
a. bls
b. bl
c. cmp
d. beq
Correcta Punts d'aquesta tramesa: 1/1. Question 4 Punts: 1 Del banco de 16 registros de lenguaje mquina del procesador ARMv4, cuntos tienen un propsito especfico? Trieu una resposta.
a. 4
b. 1
c. 3
d. ninguno
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Suponiendo que r0 = 0xFBC8 0023 y r1 = 0x000A 3FF9 Cul de las siguientes instrucciones saltar despus de ejecutar cmp r0, r1? Trieu una resposta.
a. bhs
b. bgt
c. beq
d. bge
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Dado el siguiente contenido de memoria y de algunos registros de lenguaje mquina: 0x10034 0xCA 0x10035 0x00 r2 0x00004 0x10036 0x08 r3 0x10034 0x10037 0xFD r4 0x00001 0X10038 0x12 0X10039 0x7D 0X1003A 0xC3 0X1003B 0x46 0X1003C 0xE2 0X1003D 0x92 Cul es el resultado de la instruccin ldr r0, [r3, r4, lsl #2]? Trieu una resposta.
a. r0 = 0x12FD0800
b. r0 = 0x46C37D12
c. r0 = 0xFD0800CA
d. r0 = 0x92E246C3
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v3: .hword 0x0800 .align 2 Cul ser la siguiente direccin de ensamblado si v3 se almacena en 0x10040? Trieu una resposta.
a. 0x10046
b. 0x10044
c. 0x10048
d. 0x10042
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Cmo se puede alinear la memoria a hword? Trieu una resposta.
a. .align 1
b. ..align 4
c. .align 3
d. .align 2
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Cmo se consigue el retorno de una rutina con las instrucciones push de inicio i pop de fin? Trieu una resposta.
a. salvando y restaurando los registros que se modifican dentro de la rutina
b. salvando el registro lr y recuperando su contenido en el pc
c. salvando el contenido de los registros que contienen parmetros de la rutina
d. salvando el pc y recuperando su contenido en el registro lr
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Cmo se define la direccin de inicio de una rutina? Trieu una resposta.
a. con una etiqueta de salto
b. con una instruccin de llamada a rutina bl
c. con una directiva .global
d. con una directiva .routine
Correcta Punts d'aquesta tramesa: 1/1. Question 11 Punts: 1 En lenguaje ensamblador Qu es lo que define un smbolo del programa como una etiqueta de salto? Trieu una resposta.
a. el prefijo .L
b. el sufijo :
c. que se utilice en instrucciones de salto condicional
d. que se escriba ms a la izquierda que el resto de instrucciones
Correcta Punts d'aquesta tramesa: 1/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[i] = 1;, suponiendo el vector v es de tipo int, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. mov r2, #1 / str r2, [r1, r0, lsl #2]
b. mov r2, #1 / str r2, [r1, r0, lsl #1]
c. mov r2, #1 / str r2, [r1, r0]
d. mov r2, #1 / str r2, [r1, r0, lsl #4]
Correcta Punts d'aquesta tramesa: 1/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhi .Ldo
b. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
c. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhs .Ldo
d. mov r0, #0 / .Ldo: / / cmp r0, #10 / bls .Ldo
Correcta Punts d'aquesta tramesa: 1/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
b. mov r0, #0 / .Lwhile: / cmp r0, #10 / blo .Lfinwhile / / b .Lwhile / .Lfinwhile:
Correcta Punts d'aquesta tramesa: 1/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C for (i = 0; i < j; i++) {...}, suponiendo que las variables i y j (de tipo int) se asignen a los registros r0 y r1, respectivamente? Trieu una resposta.
Correcta Punts d'aquesta tramesa: 1/1. Question 16 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin v[0] = temp; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 17 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C func1(a, &b);, suponiendo que las variables a y b son de tipo int, y que el primer parmetro se pasa por valor y por r0, mientras que el segundo parmetro se pasa por referencia y por r1? Trieu una resposta.
Correcta Punts d'aquesta tramesa: 1/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin suma += matriz[i][j]; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, suma se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: -0.33/1. Punts: 1 Cmo consigue el procesador efectuar un secuenciamiento explcito? Trieu una resposta.
a. reseteando (poniendo a 0) el pc
b. sumando 1 al pc
c. cargando la direccin del salto en el p
d. sumando 4 al pc
Correcta Punts d'aquesta tramesa: 1/1. Question 2 Punts: 1 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de la instruccin tst r1, r0? Trieu una resposta.
a. Flag Z = 1
b. Flag Z = 0
c. r0 = 2
d. r1 = 2
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Del banco de 16 registros de lenguaje mquina del procesador ARMv4, cuntos tienen un propsito especfico? Trieu una resposta.
a. 4
b. 1
c. 3
d. ninguno
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Cul es la instruccin para saltar cuando un nmero natural es mayor o igual que otro? Trieu una resposta.
a. bge
b. bhs
c. bhi
d. bgt
Correcta Punts d'aquesta tramesa: 1/1. Question 5 Punts: 1 De los elementos que componen un procesador, cul de ellos se encarga de controlar el proceso de ejecucin de las instrucciones de lenguaje mquina? Trieu una resposta.
a. unidad de clculo de direcciones
b. registros
c. unidad aritmtico-lgica
d. unidad de control
Correcta Punts d'aquesta tramesa: 1/1. Question 6 Punts: 1 Qu tipo de informacin pueden contener los registros de lenguaje mquina del ARMv4? Trieu una resposta.
a. nicamente datos
b. datos y direcciones
c. instrucciones y direcciones
d. datos e instrucciones
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Suponiendo que la variable v1 se encuentra en la posicin de memoria 0x10034, cuando se codifica una instruccin del tipo ldr r1, =v1, qu tipo de direccionamiento a memoria se utiliza para cargar la direccin de la variable? Trieu una resposta.
a. registro indirecto
b. inmediato
c. registro desplazado
d. relativo a pc
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v4: .space 10 .align 2 Cul ser la siguiente direccin de ensamblado si v4 se almacena en 0x10050? Trieu una resposta.
a. 0x1005A
b. 0x10052
c. 0x1005C
d. 0x10050
Correcta Punts d'aquesta tramesa: 1/1. Question 9 Punts: 1 En qu seccin se deben ubicar las instrucciones de lenguaje mquina? Trieu una resposta.
a. .bss
b. .text
c. .var
d. .data
Correcta Punts d'aquesta tramesa: 1/1. Question 10 Punts: 1 Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C short vct[] = { 0, -1, 2, -3, 4000};? Trieu una resposta.
a. vct: .hword ( 0, -1, 2, -3, 4000)
b. vct: .hword { 0, -1, 2, -3, 4000}
c. vct: .hword [ 0, -1, 2, -3, 4000]
d. vct: .hword 0, -1, 2, -3, 4000
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v1: .byte 8
Cmo se puede cargar el contenido de memoria de v1 en el registro r0? Trieu una resposta.
a. ldr r1, =v1 / ldrb r0, [r1]
b. ldrb r1, =v1 / ldr r0, [r1]
c. ldrb r1, =v1 / ldrb r0, [r1]
d. ldr r1, =v1 / ldr r0, [r1]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[1] = i;, suponiendo el vector v es de tipo short, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. strs r0, [r1, #1]
b. strh r0, [r1, #2]
c. strh r0, [r1, #4]
d. strb r0, [r1, #1]
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Ldo: / cmp r0, #10 / blo .Lfindo / / b .Ldo / .Lfindo:
b. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
c. mov r0, #0 / .Ldo: / cmp r0, #10 / bhs .Lfindo / / b .Ldo / .Lfindo:
d. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhs .Ldo
Correcta Punts d'aquesta tramesa: 1/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a & b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. and r2, r0, r1
b. orr r2, r0, r1
c. eor r2, r0, r1
d. or r2, r0, r1
Correcta Punts d'aquesta tramesa: 1/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
b. .Lwhile: / mov r0, #0 / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
c. mov r0, #0 / cmp r0, #10 / .Lwhile: / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
d. mov r0, #0 / cmp r0, #10 / bhs .Lfinwhile / .Lwhile: / / b .Lwhile / .Lfinwhile: Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 16 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C func1(a, &b);, suponiendo que las variables a y b son de tipo int, y que el primer parmetro se pasa por valor y por r0, mientras que el segundo parmetro se pasa por referencia y por r1? Trieu una resposta.
Correcta Punts d'aquesta tramesa: 1/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < *b) c = a; si suponemos que los parmetros se pasan por los registros r0 y r1, mientras que el resultado se devuelve por el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin int temp = v[n-1] si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
b. sub r1, #1 / ldr r3, [r0, r1, lsl #2] @; r3 es temp
c. ldr r2, =temp / sub r1, #1 / ldr r3, [r0, r1, lsl #2] / str r3, [r2]
d. sub r2, r1, #1 / ldr r3, [r0, r2, lsl #2] @; r3 es temp
Incorrecta Punts d'aquesta tramesa: -0.33/1. Punts: 1 Cmo se llenan los bits altos del registro r0 con una instruccin ldrh r0, [r1, #2]? Trieu una resposta.
a. los 16 bits altos a 0
b. los 24 bits altos a 0
c. los 16 bits altos al valor del signo del nmero que se est cargando
d. los 16 bits altos a 1
Correcta Punts d'aquesta tramesa: 1/1. Question 2 Punts: 1 Suponiendo que r0 = 0x84FA 0123, qu valor contendr r1 despus de ejecutar la instruccin mov r1, r0, lsr #4? Trieu una resposta.
a. 0x084F A012
b. 0x384F A012
c. 0xF84F A012
d. 0x4FA0 1230
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Suponiendo que los contenidos de r0 i r1 sean 1 i 4 respectivamente Cul es el resultado de la instruccin sub r2, r1, r0, lsr #2? Trieu una resposta.
a. r2 = 3
b. r2 = 0
c. r2 = 2
d. r2 = 4
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 De los elementos que componen un procesador, cul de ellos se encarga de almacenar temporalmente valores para realizar clculos? Trieu una resposta.
a. unidad de control
b. registros
c. unidad aritmtico-lgica
d. unidad de clculo de direcciones
Correcta Punts d'aquesta tramesa: 1/1. Question 5 Punts: 1 Suponiendo que un programa ha ejecutado 500 instrucciones de lenguaje mquina, de las cuales 400 han gastado 1 ciclo mquina, 80 han gastado 3 ciclos mquina y 20 han gastado 4 ciclos mquina, cul es el tiempo de ejecucin si el procesador trabaja a 1 GHz de frecuencia? Trieu una resposta.
a. 720 hercios
b. 720 milisegundos
c. 720 nanosegundos
d. 720 microsegundos
Correcta Punts d'aquesta tramesa: 1/1. Question 6 Punts: 1 Cul es el significado del flag C? Trieu una resposta.
a. la operacin anterior ha provocado acarreo
b. la operacin anterior ha resultado negativa
c. la operacin anterior ha resultado igual a cero
d. la operacin anterior ha provocado desbordamiento
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Qu registro tiene que recuperar de la pila la direccin de retorno en la ltima instruccin pop de una rutina? Trieu una resposta.
a. el registro 14 (lr)
b. el registro 0
c. el registro 15 (pc)
d. el registro 13 (sp)
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Dado el siguiente programa escrito en lenguaje ensamblador: _start: mov r0, #3 mov r1, #1 .Lbucle: add r0, r1 add r1, #1 cmp r0, #12 blo .Lbucle .Lstop: b .Lstop
Si la primera instruccin se ensambla a partir de la posicin 0x8000, Que direccin le corresponde al smbolo .Lbucle? Trieu una resposta.
a. 0x8004
b. 0x8008
c. 0x8003
d. 0x8002
Correcta Punts d'aquesta tramesa: 1/1. Question 9 Punts: 1 Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C short vct[] = { 0, -1, 2, -3, 4000};? Trieu una resposta.
a. vct: .hword 0, -1, 2, -3, 4000
b. vct: .hword ( 0, -1, 2, -3, 4000)
c. vct: .hword { 0, -1, 2, -3, 4000}
d. vct: .hword [ 0, -1, 2, -3, 4000]
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 10 Punts: 1 En qu base se pueden expresar los nmeros negativos con el smbolo - en el lenguaje ensamblador GAS? Trieu una resposta.
a. en base 10 y en base 16 (hexadecimal)
b. en base 10 y en base 8 (octal)
c. en cualquier base
d. slo en base 10
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Suponiendo que tenemos el siguiente trozo de programa en lenguaje mquina: 0x8000 ldr r1, [pc, #16] 0x8004 ldr r1, [r0] 0x8008 ldr r1, [r0, r2] 0x800C ldr r1, [r0, r2, lsl #3] 0x8010 b 0x8010 0x8014 (0x0001 0034)
qu instruccin corresponde a una instruccin del tipo ldr r1, =v1? Trieu una resposta.
a. ldr r1, [r0, r2]
b. ldr r1, [r0, r2, lsl #3]
c. ldr r1, [pc, #16]
d. ldr r1, [r0]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lwhile / / b .Lfinwhile / .Lfinwhile:
b. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
c. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lfinwhile / .Lfinwhile:
d. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lwhile / / b .Lwhile / .Lfinwhile:
Correcta Punts d'aquesta tramesa: 1/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
b. mov r0, #0 / .Lwhile: / cmp r0, #10 / bls .Lfinwhile / / b .Lwhile / .Lfinwhile:
c. mov r0, #0 / .Lwhile: / cmp r0, #10 / blo .Lfinwhile / / b .Lwhile / .Lfinwhile:
d. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhi .Lfinwhile / / b .Lwhile / .Lfinwhile: Correcta Punts d'aquesta tramesa: 1/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if ((a > 0) && (b < a)) {...}, suponiendo que las variables a y b (de tipo int) estn asignadas a los registros r0 y r1, respectivamente? Trieu una resposta.
a. cmp r0, #0 / ble .Lfinif / cmp r1, r0 / bge .Lfinif / / .Lfinif:
b. cmp r0, #0 / ble .Lif / cmp r1, r0 / bge .Lfinif / b .Lfinif / .Lif: / / .Lfinif:
c. cmp r0, #0 / ble .Lfinif / cmp r1, r0 / bge .Lif / b .Lfinif / .Lif: / / .Lfinif:
d. cmp r0, #0 / ble .Lif / cmp r1, r0 / bge .Lif / b .Lfinif / .Lif: / / .Lfinif:
Correcta Punts d'aquesta tramesa: 1/1. Question 15 Punts: 1 Suponiendo que se han declarado las constantes Base (dir. base), NC (nm. columnas), NF (nm. filas) y T (tamao elementos), cul es la frmula para calcular la direccin de memoria de un elemento (i, j) de una matriz almacenada por filas? Trieu una resposta.
a. dir(i, j) = Base + (j * NC + i) * T
b. dir(i, j) = Base + (i * NC + j) * T
c. dir(i, j) = Base + (j * NF + i) * T
d. dir(i, j) = Base + (i * NF + j) * T
Correcta Punts d'aquesta tramesa: 1/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < *b) c = a; si suponemos que los parmetros se pasan por los registros r0 y r1, mientras que el resultado se devuelve por el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C func1(a, &b);, suponiendo que las variables a y b son de tipo int, y que el primer parmetro se pasa por valor y por r0, mientras que el segundo parmetro se pasa por referencia y por r1? Trieu una resposta.
Correcta Punts d'aquesta tramesa: 1/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[j*num_files + i] = temp; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, temp se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
a. mul r5, r3, r1 / add r5, r2 / str r4, [r0, r5, lsl #2]
b. mul r5, r2, r1 / add r5, r3 / ldr r4, [r0, r5, lsl #2]
c. mul r5, r3, r1 / add r5, r2 / ldr r4, [r0, r5, lsl #2]
d. mul r5, r2, r1 / add r5, r3 / str r4, [r0, r5, lsl #2]
Correcta Punts d'aquesta tramesa: 1/1. Punts: 1 Dado el siguiente programa escrito en lenguaje mquina: 0x8000 mov r0, #5 0x8004 mov r1, #2 0x8008 mul r2, r0, r1 0x800C add r1, #1 0x8010 cmp r2, #50 0x8014 bne 0x8008 0x8018 b 0x8018 Cuntos ciclos mquina se necesitan para ejecutar las instrucciones desde 0x8000 hasta 0x8018 (no inclusive), suponiendo que, en general, una instruccin diferente de un salto y diferente de una multiplicacin necesita 1 ciclo, una instruccin de multiplicacin necesita 2 ciclos, una instruccin de salto con secuenciamiento explcito necesita 3 ciclos, y una instruccin de salto con secuenciamiento implcito necesita 4 ciclos? Trieu una resposta.
a. 58
b. 66
c. 46
d. 75
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Cul de las siguientes instrucciones sirve para cargar un word de memoria en un registro de lenguaje mquina? Trieu una resposta.
a. ldr
b. ldrb
c. strb
d. str
Correcta Punts d'aquesta tramesa: 1/1. Question 3 Punts: 1 Dados los dos campos IR e IN que definen un operando inmediato en una instruccin de lenguaje mquina de ARMv4, Cul es la operacin que realiza el procesador para obtener el valor inmediato correspondiente? Trieu una resposta.
a. IN rotado IR*2 bits a la derecha
b. IN rotado IR*2 bits a la izquierda
c. IN desplazado IR bits a la izquierda
d. IN desplazado IR bits a la derecha
Correcta Punts d'aquesta tramesa: 1/1. Question 4 Punts: 1 Suponiendo que r0 contiene un nmero natural Qu instruccin podemos utilizar para dividir el contenido de r0 por 16? Trieu una resposta.
a. mov r0, r0, lsl #16
b. mov r0, r0, lsr #4
c. mov r0, r0, lsl #4
d. mov r0, r0, lsr #16
Correcta Punts d'aquesta tramesa: 1/1. Question 5 Punts: 1 Cul de las siguientes instrucciones sirve para grabar el contenido de un registro de lenguaje mquina en un half-word de memoria? Trieu una resposta.
a. str
b. strh
c. ldrh
d. ldr
Correcta Punts d'aquesta tramesa: 1/1. Question 6 Punts: 1 Dado el siguiente programa escrito en lenguaje mquina: 0x8000 mov r0, #5 0x8004 mov r1, #2 0x8008 cmp r0, r1 0x800C bls 0x8018 0x8010 add r1, #1 0x8014 b 0x8008 0x8018 b 0x8018 Cuntos ciclos mquina se necesitan para ejecutar las instrucciones desde 0x8000 hasta 0x8018 (no inclusive), suponiendo que, en general, una instruccin diferente de un salto necesita 1 ciclo, una instruccin de salto con secuenciamiento explcito necesita 3 ciclos, y una instruccin de salto con secuenciamiento implcito necesita 4 ciclos? Trieu una resposta.
a. 33
b. 27
c. 26
d. 29
Correcta Punts d'aquesta tramesa: 1/1. Question 7 Punts: 1 Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v3: .hword 0x0800 .align 2 Cul ser la siguiente direccin de ensamblado si v3 se almacena en 0x10040? Trieu una resposta.
a. 0x10042
b. 0x10048
c. 0x10046
d. 0x10044
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Suponiendo que la variable v1 se encuentra en la posicin de memoria 0x10034, cuando se codifica una instruccin del tipo ldr r1, =v1, cuntos bits de memoria se utilizan para guardar dicha posicin de memoria? Trieu una resposta.
a. 16
b. 20
c. 32
d. 12
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Qu directiva se utiliza para reservar espacio de memoria para una variable no inicializada? Trieu una resposta.
a. .space n (n = nmero de bytes a reservar)
b. .word n (n = nmero de words a reservar)
c. .bss n (n = nmero de words a reservar)
d. .byte n (n = nmero de bytes a reservar)
Incorrecta Punts d'aquesta tramesa: -0.33/1. Question 10 Punts: 1 A qu nivel est definido el cdigo hexadecimal de una instruccin de lenguaje mquina como 0x1AFF FFFC? Trieu una resposta.
a. a nivel de cdigo mquina
b. a alto nivel
c. a nivel de lenguaje ensamblador
d. a nivel de lenguaje mquina
Correcta Punts d'aquesta tramesa: 1/1. Question 11 Punts: 1 Qu registro tiene que guardarse a la pila en la primera instruccin push de una rutina para permitir el retorno correctamente? Trieu una resposta.
a. el registro 15 (pc)
b. el registro 14 (lr)
c. el registro 13 (sp)
d. el registro 0
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C a++;, suponiendo que el valor de la variable a (de tipo int) est asignado al registro r0? Trieu una resposta.
a. add r0, 1
b. add r0, #1
c. add 1, r0
d. add #1, r0
Correcta Punts d'aquesta tramesa: 1/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c *= a + b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. mul r2, r0, r1
b. add r3, r0, r1 / mul r2, r2, r3
c. add r0, r0, r1 / mul r2, r2, r0
d. mul r2, r1, r0, lsl #1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C b += a*2;, suponiendo que las variables a y b (de tipo int) estn asignados a los registros r0 y r1, respectivamente? Trieu una resposta.
a. add r1, r0, lsr #1
b. add r1, r0, lsl #1
c. add r1, r0, lsr #2
d. add r1, r0, lsl #2
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a & 0x10) {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0x10 / bne .Lfinif / / .Lfinif:
b. tst r0, #0x10 / bne .Lfinif / / .Lfinif:
c. tst r0, #0x10 / beq .Lfinif / / .Lfinif:
d. cmp r0, #0x10 / beq .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[j*num_files + i] = temp; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, temp se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
a. mul r5, r2, r1 / add r5, r3 / str r4, [r0, r5, lsl #2]
b. mul r5, r3, r1 / add r5, r2 / ldr r4, [r0, r5, lsl #2]
c. mul r5, r2, r1 / add r5, r3 / ldr r4, [r0, r5, lsl #2]
d. mul r5, r3, r1 / add r5, r2 / str r4, [r0, r5, lsl #2]
Correcta Punts d'aquesta tramesa: 1/1. Question 17 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin v[0] = temp; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
Correcta Punts d'aquesta tramesa: 1/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la llamada swap(&vector[i], &vector[lon-1 i]); si suponemos que la direccin base de vector est en r3, el valor de lon -1 est en r4, los parmetros de swap se pasan por los r0 y r1, mientras que la variable local i se implementa en el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: -0.33/1. Punts: 1 Cul es la instruccin para saltar cuando un nmero natural es menor estricto que otro? Trieu una resposta.
a. bls
b. ble
c. blt
d. blo
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Cul de las siguientes instrucciones sirve para grabar el contenido de un registro de lenguaje mquina en un byte de memoria? Trieu una resposta.
a. ldr
b. ldrh
c. strb
d. ldrb
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 De los elementos que componen un procesador, cul de ellos se encarga de controlar el proceso de ejecucin de las instrucciones de lenguaje mquina? Trieu una resposta.
a. registros
b. unidad de control
c. unidad aritmtico-lgica
d. unidad de clculo de direcciones
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Dado el siguiente fragmento de un programa escrito en lenguaje mquina: 0x80A4 bl 0x81FC 0x80A8 : Qu valor se guardar en el registro lr (r14)? Trieu una resposta.
a. 0x81FC
b. 0x81FF
c. 0x80A4
d. 0x80A8
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Dado el siguiente contenido de memoria y de algunos registros de lenguaje mquina: 0x1003F 0x8B 0x10040 0x7D r2 0x00004 0x10041 0xB5 r3 0x10040 0x10042 0xF0 r4 0x00001 0X10043 0x23 0X10044 0x05 Cul es el resultado de la instruccin ldsh r0, [r3, r2, ror r4]? Trieu una resposta.
a. r0 = 0x000023F0
b. r0 = 0x23F0
c. r0 = 0xFFFF23F0
d. r0 = 0xFFFFB57D
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Cul de los siguientes nmeros no se puede codificar directamente como un operando inmediato de una instruccin ARM? Trieu una resposta.
a. 128
b. 1024
c. 256
d. 257
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Qu directiva sirve para definir una variable global inicializada de tipo int? Trieu una resposta.
a. .word
b. .byte
c. .int
d. .hword
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v5: .byte 1, 2, 3, 4, 5 .align 1 Cul ser la siguiente direccin de ensamblado si v5 se almacena en 0x10060? Trieu una resposta.
a. 0x10070
b. 0x10065
c. 0x1006A
d. 0x10066
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v6: .byte 1, 2, 3, 4, 5, 6 .align 1 Cul ser la siguiente direccin de ensamblado si v6 se almacena en 0x10060? Trieu una resposta.
a. 0x10067
b. 0x10068
c. 0x10070
d. 0x10066
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 En lenguaje ensamblador GAS para ARMv4, cmo se especifican los valores inmediatos de las instrucciones de lenguaje mquina? Trieu una resposta.
a. entre comillas
b. con el prefijo #
c. con el prefijo 0x
d. entre parntesis
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C int matrix[][] = {{2, -5, 90}, {-12, 82, 0}, {-4, 850, -100}};? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Suponiendo que se han declarado las constantes Base (dir. base), NC (nm. columnas), NF (nm. filas) y T (tamao elementos), cul es la frmula para calcular la direccin de memoria de un elemento (i, j) de una matriz almacenada por filas? Trieu una resposta.
a. dir(i, j) = Base + (i * NF + j) * T
b. dir(i, j) = Base + (i * NC + j) * T
c. dir(i, j) = Base + (i * NC + j)
d. dir(i, j) = Base + (i * NF + j)
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a & b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. eor r2, r0, r1
b. orr r2, r0, r1
c. or r2, r0, r1
d. and r2, r0, r1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a < 10) a++; else {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #10 / bhs .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
b. cmp r0, #10 / bhi .Lelse / add r0, #1 / b .Lfinif: / .Lelse: / / .Lfinif:
c. cmp r0, #10 / blo .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
d. cmp r0, #10 / bls .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a & 0x10) {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0x10 / beq .Lfinif / / .Lfinif:
b. tst r0, #0x10 / bne .Lfinif / / .Lfinif:
c. cmp r0, #0x10 / bne .Lfinif / / .Lfinif:
d. tst r0, #0x10 / beq .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < *b) c = a; si suponemos que los parmetros se pasan por los registros r0 y r1, mientras que el resultado se devuelve por el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[j*num_files + i] = temp; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, temp se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
a. mul r5, r2, r1 / add r5, r3 / ldr r4, [r0, r5, lsl #2]
b. mul r5, r3, r1 / add r5, r2 / str r4, [r0, r5, lsl #2]
c. mul r5, r3, r1 / add r5, r2 / ldr r4, [r0, r5, lsl #2]
d. mul r5, r2, r1 / add r5, r3 / str r4, [r0, r5, lsl #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin v[i] = v[i-1]; si suponemos que el primer parmetro se pasa por el registro r0, el segundo parmetro por r1, y las variables locales i y temp se ubican en los registros r2 y r3, respectivamente?
Trieu una resposta.
a. ldr r4, [r0, r2, lsl #2] / sub r3, r2, #1 / str r4, [r0, r3, lsl #2]
b. ldr r4, [r0, r2, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
c. ldr r4, [r0, r2, lsl #2] / sub r2, #1 / str r4, [r0, r2, lsl #2]
d. ldr r4, [r0, r3, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
Punts: 1 Cuntas posiciones de memoria puede direccionar un sistema programable basado en ARMv4? Trieu una resposta.
a. 2 elevado a 16
b. 2 elevado a 32
c. 2 elevado a 64
d. 2 elevado a 8
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Suponiendo que el contenido inicial de la pila y de algunos registros sea el siguiente: 0x07E8 0x00000000 r0 0x0000 0x07EC 0x0800CACB r1 0x0001 0x07F0 0xC37D12FD 0x07F4 0x509AE246 r4 0x00FE37A1 0x07F8 0xF0B57D8B r5 0xFFFFFFFE 0x07FC 0x35CD0523 0x0800 0x000127AC r13 0x000007F4 Cal ser el contenido de las posiciones de memoria 0x07E8 y 0X07EC despus de ejecutar una instruccin push {r0, r1, r4-r5}? Trieu una resposta.
a. M[0x07E8] = 0x00000000; M[0x07EC] = 0x00000001
b. M[0x07E8] = 0x00FE37A1; M[0x07EC] = 0xFFFFFFFE
c. M[0x07E8] = 0xFFFFFFFE; M[0x07EC] = 0x00FE37A1
d. M[0x07E8] = 0x00000000; M[0x07EC] = 0xFFFFFFFE
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Cul es el secuenciamiento implcito de un programa en lenguaje mquina? Trieu una resposta.
a. el que ejecuta la instruccin siguiente en memoria a la instruccin actual
b. el que ejecuta la instruccin anterior en el programa a la instruccin actual
c. el que ejecuta la instruccin siguiente en el programa a la instruccin actual
d. el que ejecuta la instruccin anterior en memoria a la instruccin actual
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Cul es la instruccin para saltar cuando un nmero natural es menor estricto que otro? Trieu una resposta.
a. ble
b. blo
c. bls
d. blt
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Qu registro del procesador se encarga de memorizar la direccin de la instruccin de lenguaje mquina a ejecutar? Trieu una resposta.
a. el r15 (pc)
b. el r0
c. el r14 (lr)
d. el r13 (sp)
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Cul es el nmero de bytes mnimo que puede capturar de memoria un procesador ARMv4 en un slo acceso? Trieu una resposta.
a. 1
b. 8
c. 2
d. 4
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Qu directiva sirve para definir una variable global inicializada de tipo int? Trieu una resposta.
a. .word
b. .hword
c. .int
d. .byte
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C unsigned char c = C;? Trieu una resposta.
a. c .byte C
b. c: .unsigned char C
c. c: .byte C
d. c: .unsigned byte C
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v3: .word 32
Cmo se puede grabar el contenido del registro r0 en la posicin de memoria de v3? Trieu una resposta.
a. ldr r1, =v1 / str r0, [r1]
b. str r1, =v1 / str r0, [r1]
c. ldr r1, =v1 / ldr r0, [r1]
d. str r1, =v1 / ldr r0, [r1]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Cmo se traduce una variable global inicializada definida en ensamblador a lenguaje mquina? Trieu una resposta.
a. como un dato en memoria
b. como una direccin de memoria
c. como una instruccin
d. como una direccin de memoria ms un dato en memoria
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Cul de las siguientes lneas de cdigo no es una directiva de ensamblador? Trieu una resposta.
a. .align 2
b. .arm
c. .global _start
d. _start:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Ldo: / / cmp r0, #10 / bls .Ldo
b. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
c. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhi .Ldo
d. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhs .Ldo
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if ((a > 0) && (b < a)) {...}, suponiendo que las variables a y b (de tipo int) estn asignadas a los registros r0 y r1, respectivamente? Trieu una resposta.
a. cmp r0, #0 / ble .Lfinif / cmp r1, r0 / bge .Lfinif / / .Lfinif:
c. cmp r0, #0 / ble .Lfinif / cmp r1, r0 / ble .Lfinif / / .Lfinif:
d. cmp r0, #0 / bge .Lfinif / cmp r1, r0 / ble .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a >= 0) {...}, suponiendo que el valor de la variable a (de tipo int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0 / bne .Lfinif / / .Lfinif:
b. cmp r0, #0 / blt .Lfinif / / .Lfinif:
c. cmp r0, #0 / bge .Lfinif / / .Lfinif:
d. cmp r0, #0 / ble .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a <= 10) {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #10 / bhs .Lfinif / / .Lfinif:
b. cmp r0, #10 / bge .Lfinif / / .Lfinif:
c. cmp r0, #10 / bhi .Lfinif / / .Lfinif:
d. cmp r0, #10 / bgt .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C b = func2(a);, suponiendo que la variable a es de tipo int, que la variable c es de tipo char, que el parmetro se pasa por valor y por r0, mientras que resultado se devuelve por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C func1(a, &b);, suponiendo que las variables a y b son de tipo int, y que el primer parmetro se pasa por valor y por r0, mientras que el segundo parmetro se pasa por referencia y por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin suma += matriz[j][i]; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, suma se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Punts: 1 En un desplazamiento de un registro a la derecha con el operardor asr, qu valor se introduce por el bit de ms peso del registro? Trieu una resposta.
a. siempre 1
b. 0 si el nmero es positivo, 1 si es negativo
c. 1 si el nmero es positivo, 0 si es negativo
d. siempre 0
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Cuntos bytes puede capturar de memoria simultneamente un procesador ARMv4 en un slo acceso? Trieu una resposta.
a. 1
b. 32
c. 4
d. 8
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Suponiendo que el contenido de algunos registros sea el siguiente: r0 0x0000 r1 0x0001 r4 0x00FE37A1 r5 0xFFFFFFFE Cul ser el contenido de los registros r0 y r1 despus de ejecutar las instrucciones push {r5, r4} y pop {r0, r1}? Trieu una resposta.
a. r0 = 0xFFFFFFFE; r1 = 0x00FE37A1
b. r0 = 0x00FE37A1; r1 = 0xFFFFFFFE
c. r0 = 0xFFFFFFFE; r1 = 0x00000000
d. r0 = 0x00000000; r1 = 0x00000001
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Suponiendo que r0 = 0xFBC8 0023 y r1 = 0x000A 3FF9 Cul de las siguientes instrucciones saltar despus de ejecutar cmp r0, r1? Trieu una resposta.
a. beq
b. bge
c. bhs
d. bgt
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Suponiendo que r0 = 0x0000 0023 y r1 = 0x800A 3FF9 Cul de las siguientes instrucciones saltar despus de ejecutar cmp r0, r1? Trieu una resposta.
a. bhi
b. bgt
c. beq
d. bhs
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Cul de las siguientes instrucciones sirve para grabar un registro de lenguaje mquina en un word de memoria? Trieu una resposta.
a. str
b. ldr
c. ldrb
d. strb
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v1: .byte 8
Cmo se puede cargar la direccin de memoria de v1 en el registro r0? Trieu una resposta.
a. ldr r0, [v1]
b. ldr r0, v1
c. ldr r0, =v1
d. mov r0, v1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C short vct[] = { 0, -1, 2, -3, 4000};? Trieu una resposta.
a. vct: .hword [ 0, -1, 2, -3, 4000]
b. vct: .hword { 0, -1, 2, -3, 4000}
c. vct: .hword ( 0, -1, 2, -3, 4000)
d. vct: .hword 0, -1, 2, -3, 4000
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 En qu seccin se deben ubicar las etiquetas de salto? Trieu una resposta.
a. .data
b. .label
c. .bss
d. .text
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Cmo se especifica un valor decimal en lenguaje ensamblador GAS? Trieu una resposta.
a. con el sufijo d'
b. con el prefijo 0d
c. con el prefijo 0
d. escribiendo el nmero directamente
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Cmo se consigue el retorno de una rutina con las instrucciones push de inicio i pop de fin? Trieu una resposta.
a. salvando el contenido de los registros que contienen parmetros de la rutina
b. salvando el pc y recuperando su contenido en el registro lr
c. salvando y restaurando los registros que se modifican dentro de la rutina
d. salvando el registro lr y recuperando su contenido en el pc
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[1] = i;, suponiendo el vector v es de tipo short, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. strb r0, [r1, #1]
b. strh r0, [r1, #4]
c. strs r0, [r1, #1]
d. strh r0, [r1, #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[i] = 1;, suponiendo el vector v es de tipo int, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. mov r2, #1 / str r2, [r1, r0]
b. mov r2, #1 / str r2, [r1, r0, lsl #2]
c. mov r2, #1 / str r2, [r1, r0, lsl #4]
d. mov r2, #1 / str r2, [r1, r0, lsl #1]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[1] = i;, suponiendo el vector v es de tipo char, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. strb r0, [r1]
b. mov r2, #1 / strb r2, [r1, r0]
c. strb #1, [r1, r0]
d. strb r0, [r1, #1]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Suponiendo que se han cargado los registro r0, r1, r2, r3 y r4 con la direccin base de una matriz de tipo int (r0), el nmero de columnas (r1), el nmero de filas (r2), el ndice i (r3) y el ndice j (r4), cmo se puede implementar en lenguaje mquina la instruccin k = matriz[i][j];, donde k se tiene que guardar en el registro r6? Trieu una resposta.
a. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #4]
b. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5]
c. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #1]
d. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C func1(a, &b);, suponiendo que las variables a y b son de tipo int, y que el primer parmetro se pasa por valor y por r0, mientras que el segundo parmetro se pasa por referencia y por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C b = func2(a);, suponiendo que la variable a es de tipo int, que la variable c es de tipo char, que el parmetro se pasa por valor y por r0, mientras que resultado se devuelve por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin v[i] = v[i-1]; si suponemos que el primer parmetro se pasa por el registro r0, el segundo parmetro por r1, y las variables locales i y temp se ubican en los registros r2 y r3, respectivamente?
Trieu una resposta.
a. ldr r4, [r0, r2, lsl #2] / sub r2, #1 / str r4, [r0, r2, lsl #2]
b. ldr r4, [r0, r3, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
c. ldr r4, [r0, r2, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
d. ldr r4, [r0, r2, lsl #2] / sub r3, r2, #1 / str r4, [r0, r3, lsl #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Punts: 1 Cul es el significado del flag N? Trieu una resposta.
a. la operacin anterior ha provocado desbordamiento
b. la operacin anterior ha resultado negativa
c. la operacin anterior ha resultado igual a cero
d. la operacin anterior ha provocado acarreo
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Dado el siguiente contenido de memoria y de algunos registros de lenguaje mquina: 0x1003F 0x8B 0x10040 0x7D r2 0x00004 0x10041 0xB5 r3 0x10040 0x10042 0xF0 r4 0x00001 0X10043 0x23 0X10044 0x05 Cul es el resultado de la instruccin ldsh r0, [r3, r2, ror r4]? Trieu una resposta.
a. r0 = 0xFFFF23F0
b. r0 = 0x000023F0
c. r0 = 0x23F0
d. r0 = 0xFFFFB57D
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Cuntos bits se reservan en una instruccin ARMv4 para codificar un operando inmediato? Trieu una resposta.
a. 32
b. 8
c. 12
d. 16
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Suponiendo que el contenido inicial de la pila y de algunos registros sea el siguiente: 0x07E8 0x00000000 r0 0x0000 0x07EC 0x0800CACB r1 0x0001 0x07F0 0xC37D12FD 0x07F4 0x509AE246 r4 0x00FE37A1 0x07F8 0xF0B57D8B r5 0xFFFFFFFE 0x07FC 0x35CD0523 0x0800 0x000127AC r13 0x000007F4 Cal ser el contenido de r4 y r5 despus de ejecutar una instruccin pop {r0, r4, r1, r5}? Trieu una resposta.
a. r4 = 0xF0B57D8B; r5 = 0x000127AC
b. r4 = 0xC37D12FD; r5 = 0x509AE246
c. r4 = 0x0800CACB; r5 = 0x509AE246
d. 0x35CD0523; r5 = 0x000127AC
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Cuntos registros de lenguaje mquina del ARMv4 se pueden usar como operandos de las instrucciones aritmticas? Trieu una resposta.
a. 16
b. 18
c. 13
d. 8
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Cuntos bits contiene cada registro del ARMv4? Trieu una resposta.
a. 8
b. 32
c. 4
d. 16
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 En qu seccin se deben ubicar las etiquetas de salto? Trieu una resposta.
a. .text
b. .data
c. .label
d. .bss
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 A qu nivel est definido el cdigo hexadecimal de una instruccin de lenguaje mquina como 0x1AFF FFFC? Trieu una resposta.
a. a nivel de lenguaje ensamblador
b. a nivel de cdigo mquina
c. a alto nivel
d. a nivel de lenguaje mquina
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Qu son los smbolos del lenguaje ensamblador? Trieu una resposta.
a. los cdigos binarios de las instrucciones de lenguaje mquina
b. los valores inmediatos
c. los comentarios
d. los nombres de las variables y las etiquetas de salto
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Qu directiva sirve para definir una variable global inicializada de 16 bits? Trieu una resposta.
a. .space 16
b. .hword
c. .byte
d. .word
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Qu directiva sirve para definir una variable global inicializada de 8 bits? Trieu una resposta.
a. .byte
b. .hword
c. .word
d. .space 8
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C for (i = 0; i < 10; i++) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C a = a << b;, suponiendo que las variables a y b (de tipo int) estn asignados a los registros r0 y r1, respectivamente? Trieu una resposta.
a. mov r0, r1, lsl r1
b. mov r0, r0, lsl r1
c. mov r0, r1, lsl r0
d. mov r1, r0, lsl r1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
b. mov r0, #0 / .Ldo: / cmp r0, #10 / bhs .Lfindo / / b .Ldo / .Lfindo:
c. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhs .Ldo
d. mov r0, #0 / .Ldo: / cmp r0, #10 / blo .Lfindo / / b .Ldo / .Lfindo:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a < 0) {...}, suponiendo que el valor de la variable a (de tipo int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0 / bge .Lfinif / / .Lfinif:
b. cmp r0, #0 / bgt .Lfinif / / .Lfinif:
c. cmp r0, #0 / bne .Lfinif / / .Lfinif:
d. cmp r0, #0 / ble .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la llamada swap(&vector[i], &vector[lon-1 i]); si suponemos que la direccin base de vector est en r3, el valor de lon -1 est en r4, los parmetros de swap se pasan por los r0 y r1, mientras que la variable local i se implementa en el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[i*num_files + j] = 0; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j se implementan en los registros r2 y r3, respectivamente? Trieu una resposta.
a. mul r5, r2, r1 / add r5, r3 / mov r4, #0, lsl #2 / str r4, [r0, r5]
b. mul r5, r2, r1, lsl #2 / add r5, r3 / mov r4, #0 / str r4, [r0, r5]
c. mul r5, r2, r1 / add r5, r3 / mov r4, #0 / str r4, [r0, r5, lsl #2]
d. mul r5, r2, r1 / add r5, r3, lsl #2 / mov r4, #0 / str r4, [r0, r5]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin suma += matriz[i][j]; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, suma se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. De los elementos que componen un procesador, cul de ellos controla el contenido del bus de direcciones? Trieu una resposta.
a. unidad de control
b. registros
c. unidad de clculo de direcciones
d. unidad aritmtico-lgica
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Qu instrucciones de salto condicional se pueden utilizar despus de una instruccin tst? Trieu una resposta.
a. slo beq
b. cualquiera
c. beq, bne, bhs, bht, bls y blo
d. beq y bne
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Cmo se llenan los bits altos del registro r0 con una instruccin ldrh r0, [r1, #2]? Trieu una resposta.
a. los 16 bits altos a 1
b. los 16 bits altos al valor del signo del nmero que se est cargando
c. los 24 bits altos a 0
d. los 16 bits altos a 0
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Dado el siguiente contenido de memoria y de algunos registros de lenguaje mquina: 0x1003F 0x8B 0x10040 0x7D r2 0x00004 0x10041 0xB5 r3 0x10040 0x10042 0xF0 r4 0x00001 0X10043 0x23 0X10044 0x05 Cul es el resultado de la instruccin ldsh r0, [r3, r2, ror r4]? Trieu una resposta.
a. r0 = 0x000023F0
b. r0 = 0xFFFF23F0
c. r0 = 0x23F0
d. r0 = 0xFFFFB57D
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 De los elementos que componen un procesador, cul de ellos est implementado bsicamente como un autmata? Trieu una resposta.
a. registros
b. unidad de control
c. unidad de clculo de direcciones
d. unidad aritmtico-lgica
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Cmo se organiza la memoria de un sistema programable basado en ARMv4? Trieu una resposta.
a. como un vector de bytes
b. como un vector de bits
c. como un vector de words
d. como un vector de half-words
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Dnde guarda la direccin de retorno una instruccin de llamada a rutina bl? Trieu una resposta.
a. en el registro 14 (lr)
b. en el registro 15 (pc)
c. en el registro 13 (sp)
d. en la pila
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 En qu seccin se deben ubicar las variables globales no inicializadas? Trieu una resposta.
a. .bss
b. .data
c. .var
d. .text
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Qu instruccin de lenguaje mquina se utiliza para invocar una rutina? Trieu una resposta.
a. bl
b. br
c. b
d. beq
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Cmo se especifica un valor decimal en lenguaje ensamblador GAS? Trieu una resposta.
a. con el prefijo 0d
b. con el sufijo d'
c. escribiendo el nmero directamente
d. con el prefijo 0
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Qu directiva sirve para definir una variable global inicializada de 32 bits? Trieu una resposta.
a. .space 32
b. .byte
c. .word
d. .hword
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a*2 - b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. sub r2, r0, lsl #1 / add r2, r1
b. mov r0, lsl #1 / sub r2, r1, r0
c. sub r2, r1, r0, lsl #1
d. mov r0, lsl #1 / sub r2, r0, r1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[1] = i;, suponiendo el vector v es de tipo char, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. strb #1, [r1, r0]
b. strb r0, [r1, #1]
c. mov r2, #1 / strb r2, [r1, r0]
d. strb r0, [r1]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C a = a << b;, suponiendo que las variables a y b (de tipo int) estn asignados a los registros r0 y r1, respectivamente? Trieu una resposta.
a. mov r1, r0, lsl r1
b. mov r0, r1, lsl r0
c. mov r0, r0, lsl r1
d. mov r0, r1, lsl r1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Ldo: / cmp r0, #10 / blo .Lfindo / / b .Ldo / .Lfindo:
b. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
c. mov r0, #0 / .Ldo: / cmp r0, #10 / bhs .Lfindo / / b .Ldo / .Lfindo:
d. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhs .Ldo
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la llamada swap(&vector[i], &vector[lon-1 i]); si suponemos que la direccin base de vector est en r3, el valor de lon -1 est en r4, los parmetros de swap se pasan por los r0 y r1, mientras que la variable local i se implementa en el registro r2? Trieu una resposta.
d. add r0, r3, r2 / add r1, r0, r4 / sub r1, r2 / bl swap
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin int temp = v[n-1] si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
Trieu una resposta.
a. sub r1, #1 / ldr r3, [r0, r1, lsl #2] @; r3 es temp
b. ldr r2, =temp / sub r1, #1 / ldr r3, [r0, r1, lsl #2] / str r3, [r2]
d. sub r2, r1, #1 / ldr r3, [r0, r2, lsl #2] @; r3 es temp
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[j*num_files + i] = temp; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, temp se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
a. mul r5, r3, r1 / add r5, r2 / str r4, [r0, r5, lsl #2]
b. mul r5, r3, r1 / add r5, r2 / ldr r4, [r0, r5, lsl #2]
c. mul r5, r2, r1 / add r5, r3 / str r4, [r0, r5, lsl #2]
d. mul r5, r2, r1 / add r5, r3 / ldr r4, [r0, r5, lsl #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Punts: 1 Cul de las siguientes instrucciones es capaz de dividir el contenido de r0 por 2? Trieu una resposta.
a. sub r0, r0, ror #4
b. sub r0, r0, lsl #1
c. sub r0, r0, asr #1
d. sub r0, r0, lsr #1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Cul es el nmero de bytes mnimo que puede capturar de memoria un procesador ARMv4 en un slo acceso? Trieu una resposta.
a. 2
b. 1
c. 4
d. 8
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 De los tipos de bus que componen un sistema programable, cul de ellos se encarga de transferir datos entre el procesador y los controladores de entrada/salida? Trieu una resposta.
a. bus de datos
b. bus de control
c. bus de direcciones
d. bus de entrada/salida
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Cul de las siguientes instrucciones sirve para cargar un half-word de memoria en un registro de lenguaje mquina? Trieu una resposta.
a. strh
b. str
c. ldrh
d. ldr
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Suponiendo que el contenido inicial de la pila y de algunos registros sea el siguiente: 0x07E8 0x00000000 r0 0x0000 0x07EC 0x0800CACB r1 0x0001 0x07F0 0xC37D12FD 0x07F4 0x509AE246 r4 0x00FE37A1 0x07F8 0xF0B57D8B r5 0xFFFFFFFE 0x07FC 0x35CD0523 0x0800 0x000127AC r13 0x000007F4 Cal ser el contenido de las posiciones de memoria 0x07E8 y 0X07EC despus de ejecutar una instruccin push {r0, r4, r1, r5}? Trieu una resposta.
a. M[0x07E8] = 0x00000001; M[0x07EC] = 0xFFFFFFFE
b. M[0x07E8] = 0x00000000; M[0x07EC] = 0x00FE37A1
c. M[0x07E8] = 0x00000000; M[0x07EC] = 0x00000001
d. M[0x07E8] = 0x00000000; M[0x07EC] = 0x000007F4
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Cmo se llenan los bits altos del registro r0 con una instruccin ldsh r0, [r1, #2]? Trieu una resposta.
a. los 16 bits altos a 0
b. los 16 bits altos a 1
c. los 24 bits altos a 0
d. los 16 bits altos al valor del signo del nmero que se est cargando
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 En qu base se pueden expresar los nmeros negativos con el smbolo - en el lenguaje ensamblador GAS? Trieu una resposta.
a. en base 10 y en base 8 (octal)
b. en cualquier base
c. slo en base 10
d. en base 10 y en base 16 (hexadecimal)
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Cmo se consigue el retorno de una rutina con las instrucciones push de inicio i pop de fin? Trieu una resposta.
a. salvando el registro lr y recuperando su contenido en el pc
b. salvando el pc y recuperando su contenido en el registro lr
c. salvando el contenido de los registros que contienen parmetros de la rutina
d. salvando y restaurando los registros que se modifican dentro de la rutina
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v1: .byte 8
Cmo se puede cargar la direccin de memoria de v1 en el registro r0? Trieu una resposta.
a. ldr r0, [v1]
b. ldr r0, v1
c. ldr r0, =v1
d. mov r0, v1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Cmo se traduce una directiva de ensamblador a lenguaje mquina? Trieu una resposta.
a. no tiene una traduccin directa
b. como una instruccin
c. como una direccin de memoria
d. como un dato en memoria
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Cmo se especifica un valor decimal en lenguaje ensamblador GAS? Trieu una resposta.
a. con el prefijo 0
b. escribiendo el nmero directamente
c. con el sufijo d'
d. con el prefijo 0d
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a & 0x10) {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. tst r0, #0x10 / bne .Lfinif / / .Lfinif:
b. cmp r0, #0x10 / bne .Lfinif / / .Lfinif:
c. cmp r0, #0x10 / beq .Lfinif / / .Lfinif:
d. tst r0, #0x10 / beq .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a < 0) {...}, suponiendo que el valor de la variable a (de tipo int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0 / bgt .Lfinif / / .Lfinif:
b. cmp r0, #0 / ble .Lfinif / / .Lfinif:
c. cmp r0, #0 / bne .Lfinif / / .Lfinif:
d. cmp r0, #0 / bge .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C a++;, suponiendo que el valor de la variable a (de tipo int) est asignado al registro r0? Trieu una resposta.
a. add r0, 1
b. add 1, r0
c. add #1, r0
d. add r0, #1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; do {...} while (i < 10);, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Ldo: / / cmp r0, #10 / blo .Ldo
b. mov r0, #0 / .Ldo: / / cmp r0, #10 / bhs .Ldo
c. mov r0, #0 / .Ldo: / cmp r0, #10 / bhs .Lfindo / / b .Ldo / .Lfindo:
d. mov r0, #0 / .Ldo: / cmp r0, #10 / blo .Lfindo / / b .Ldo / .Lfindo:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin int temp = v[n-1] si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
Trieu una resposta.
a. ldr r2, =temp / sub r1, #1 / ldr r3, [r0, r1, lsl #2] / str r3, [r2]
b. sub r1, #1 / ldr r3, [r0, r1, lsl #2] @; r3 es temp
d. sub r2, r1, #1 / ldr r3, [r0, r2, lsl #2] @; r3 es temp
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin v[i] = v[i-1]; si suponemos que el primer parmetro se pasa por el registro r0, el segundo parmetro por r1, y las variables locales i y temp se ubican en los registros r2 y r3, respectivamente?
Trieu una resposta.
a. ldr r4, [r0, r2, lsl #2] / sub r2, #1 / str r4, [r0, r2, lsl #2]
b. ldr r4, [r0, r2, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
c. ldr r4, [r0, r2, lsl #2] / sub r3, r2, #1 / str r4, [r0, r3, lsl #2]
d. ldr r4, [r0, r3, lsl #2] / sub r5, r2, #1 / str r4, [r0, r5, lsl #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < *b) c = a; si suponemos que los parmetros se pasan por los registros r0 y r1, mientras que el resultado se devuelve por el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Punts: 1 Suponiendo que el contenido inicial de la pila y de algunos registros sea el siguiente: 0x07E8 0x00000000 r0 0x0000 0x07EC 0x0800CACB r1 0x0001 0x07F0 0xC37D12FD 0x07F4 0x509AE246 r4 0x00FE37A1 0x07F8 0xF0B57D8B r5 0xFFFFFFFE 0x07FC 0x35CD0523 0x0800 0x000127AC r13 0x000007F4 Cal ser el contenido de r0 y r1 despus de ejecutar una instruccin pop {r1, r0}? Trieu una resposta.
a. r0 = 0xC37D12FD; r1 = 0x509AE246
b. r0 = 0x509AE246; r1 = 0xC37D12FD
c. r0 = 0xF0B57D8B; r1 = 0x509AE246
d. r0 = 0x509AE246; r1 = 0xF0B57D8B
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Cul de las siguientes instrucciones sirve para grabar el contenido de un registro de lenguaje mquina en un half-word de memoria? Trieu una resposta.
a. str
b. strh
c. ldrh
d. ldr
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Qu tipo de instrucciones generan siempre un secuenciamiento explcito? Trieu una resposta.
a. de salto incondicional
b. de salto condicional o incondicional
c. de salto condicional
d. de comparacin
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Suponiendo que el contenido de algunos registros sea el siguiente: r0 0x0000 r1 0x0001 r4 0x00FE37A1 r5 0xFFFFFFFE Cul ser el contenido de los registros r0 y r1 despus de ejecutar las instrucciones push {r0, r1, r4, r5} y pop {r0, r4, r1, r5}? Trieu una resposta.
a. r0 = 0x00000000; r1 = 0x00FE37A1
b. r0 = 0x00000000; r1 = 0x00000001
c. r0 = 0x00FE37A1; r1 = 0x00000001
d. r0 = 0x00FE37A1; r1 = 0xFFFFFFFE
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Cul de las siguientes instrucciones efecta un salto condicional? Trieu una resposta.
a. b
b. cmp
c. beq
d. bl
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de ejecutar tst r1, r0, ror #1? Trieu una resposta.
a. r0 = 3
b. Flag Z = 1
c. Flag Z = 0
d. r1 = 3
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C int matrix[][] = {{2, -5, 90}, {-12, 82, 0}, {-4, 850, -100}};? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v2: .byte 16 .align 1 Cul ser la siguiente direccin de ensamblado si v2 se almacena en 0x10038? Trieu una resposta.
a. 0x10041
b. 0x10039
c. 0x10040
d. 0x10042
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Cmo se puede alinear la memoria a hword? Trieu una resposta.
a. .align 1
b. .align 3
c. .align 2
d. ..align 4
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Cmo se especifica un valor hexadecimal en lenguaje ensamblador GAS? Trieu una resposta.
a. con el sufijo H'
b. escribiendo el nmero directamente
c. con el sufijo 0X
d. con el prefijo 0x
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Suponiendo que tenemos el siguiente trozo de programa en lenguaje mquina: 0x8000 ldr r1, [pc, #16] 0x8004 ldr r1, [r0] 0x8008 ldr r1, [r0, r2] 0x800C ldr r1, [r0, r2, lsl #3] 0x8010 b 0x8010 0x8014 (0x0001 0034)
qu instruccin corresponde a una instruccin del tipo ldr r1, =v1? Trieu una resposta.
a. ldr r1, [pc, #16]
b. ldr r1, [r0, r2, lsl #3]
c. ldr r1, [r0, r2]
d. ldr r1, [r0]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a*a + b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. mul r2, r0, r0 / add r2, r1
b. mul r0, r0, r0 / add r2, r0, r1
c. mul r3, r0, r0 / add r1, r2, r3
d. add r2, r1, r0, lsl #2
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a < 0) {...}, suponiendo que el valor de la variable a (de tipo int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0 / bge .Lfinif / / .Lfinif:
b. cmp r0, #0 / bgt .Lfinif / / .Lfinif:
c. cmp r0, #0 / bne .Lfinif / / .Lfinif:
d. cmp r0, #0 / ble .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C a = ~a;, suponiendo que el valor de la variable a (de tipo int) no est asignado a ningn registro? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[i] = 0;, suponiendo el vector v es de tipo char, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. mov r2, #0 / str r2, [r1, r0]
b. mov r2, #0 / ldr r2, [r1, r0]
c. mov r2, #0 / ldrb r2, [r1, r0]
d. mov r2, #0 / strb r2, [r1, r0]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin suma += matriz[i][j]; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, suma se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < *b) c = a; si suponemos que los parmetros se pasan por los registros r0 y r1, mientras que el resultado se devuelve por el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la llamada swap(&vector[i], &vector[lon-1 i]); si suponemos que la direccin base de vector est en r3, el valor de lon -1 est en r4, los parmetros de swap se pasan por los r0 y r1, mientras que la variable local i se implementa en el registro r2? Trieu una resposta.
d. add r0, r3, r2 / add r1, r0, r4 / sub r1, r2 / bl swap
Incorrecta Punts d'aquesta tramesa: 0/1. Punts: 1 En ARMv4, cuntos bits se puede desplazar, como mximo, el patrn de bits a 1 de un operando inmediato? Trieu una resposta.
a. 32
b. 16
c. 8
d. 30
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Dado el siguiente programa escrito en lenguaje mquina: 0x8000 mov r0, #5 0x8004 mov r1, #2 0x8008 mul r2, r0, r1 0x800C add r1, #1 0x8010 cmp r2, #50 0x8014 bne 0x8008 0x8018 b 0x8018 Cuntos ciclos mquina se necesitan para ejecutar las instrucciones desde 0x8000 hasta 0x8018 (no inclusive), suponiendo que, en general, una instruccin diferente de un salto y diferente de una multiplicacin necesita 1 ciclo, una instruccin de multiplicacin necesita 2 ciclos, una instruccin de salto con secuenciamiento explcito necesita 3 ciclos, y una instruccin de salto con secuenciamiento implcito necesita 4 ciclos? Trieu una resposta.
a. 58
b. 75
c. 66
d. 46
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 De los tipos de bus que componen un sistema programable, cul de ellos se encarga de transferir datos entre el procesador y la memoria? Trieu una resposta.
a. bus de entrada/salida
b. bus de direcciones
c. bus de datos
d. bus de control
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Cul de las siguientes instrucciones sirve para grabar un registro de lenguaje mquina en un word de memoria? Trieu una resposta.
a. strb
b. ldr
c. ldrb
d. str
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Cul es el resultado de la instruccin mul r4, r2, r0? Trieu una resposta.
a. r2 = r0 * r4
b. r4 = r2 * r0
c. r4 = r2 * 2 elevado a r0
d. r0 = r2 * r4
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Qu bits del registro r0 se graban en memoria con la instruccin strh r0, [r1, r2, lsl #2]? Trieu una resposta.
a. los 32 de ms peso
b. los 4 de menos peso
c. los 16 de menos peso
d. los 16 de ms peso
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Qu directiva sirve para definir una variable global inicializada de tipo int? Trieu una resposta.
a. .int
b. .byte
c. .hword
d. .word
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 En qu seccin se deben ubicar las variables globales inicializadas? Trieu una resposta.
a. .var
b. .bss
c. .data
d. .text
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Cmo se puede alinear la memoria a hword? Trieu una resposta.
a. .align 3
b. .align 2
c. .align 1
d. ..align 4
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Cul tiene que ser siempre la primera instruccin de una rutina? Trieu una resposta.
a. bl
b. push
c. func1:
d. pop
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Dnde guarda la direccin de retorno una instruccin de llamada a rutina bl? Trieu una resposta.
a. en el registro 14 (lr)
b. en el registro 15 (pc)
c. en el registro 13 (sp)
d. en la pila
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a < 10) a++; else {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #10 / bhs .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
b. cmp r0, #10 / bhs .Lfinif / add r0, #1 / b .Lelse / .Lelse: / / .Lfinif:
c. cmp r0, #10 / bhs .Lelse / add r0, #1 / b .Lelse / .Lelse: / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a > 10) {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #10 / blt .Lfinif / / .Lfinif:
b. cmp r0, #10 / ble .Lfinif / / .Lfinif:
c. cmp r0, #10 / blo .Lfinif / / .Lfinif:
d. cmp r0, #10 / bls .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Suponiendo que se han declarado las constantes Base (dir. base), NC (nm. columnas), NF (nm. filas) y T (tamao elementos), cul es la frmula para calcular la direccin de memoria de un elemento (i, j) de una matriz almacenada por filas? Trieu una resposta.
a. dir(i, j) = Base + (i * NF + j) * T
b. dir(i, j) = Base + (j * NF + i) * T
c. dir(i, j) = Base + (i * NC + j) * T
d. dir(i, j) = Base + (j * NC + i) * T
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a < 10) a++; else {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #10 / bls .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
b. cmp r0, #10 / bhi .Lelse / add r0, #1 / b .Lfinif: / .Lelse: / / .Lfinif:
c. cmp r0, #10 / blo .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
d. cmp r0, #10 / bhs .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C b = func2(a);, suponiendo que la variable a es de tipo int, que la variable c es de tipo char, que el parmetro se pasa por valor y por r0, mientras que resultado se devuelve por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin v[0] = temp; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C b = func2(a);, suponiendo que la variable a es de tipo int, que la variable c es de tipo char, que el parmetro se pasa por valor y por r0, mientras que resultado se devuelve por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Punts: 1 Dado el siguiente programa escrito en lenguaje mquina: 0x8000 mov r0, #5 0x8004 mov r1, #2 0x8008 mul r2, r0, r1 0x800C add r1, #1 0x8010 cmp r2, #50 0x8014 bne 0x8008 0x8018 b 0x8018 Cuntos ciclos mquina se necesitan para ejecutar las instrucciones desde 0x8000 hasta 0x8018 (no inclusive), suponiendo que, en general, una instruccin diferente de un salto y diferente de una multiplicacin necesita 1 ciclo, una instruccin de multiplicacin necesita 2 ciclos, una instruccin de salto con secuenciamiento explcito necesita 3 ciclos, y una instruccin de salto con secuenciamiento implcito necesita 4 ciclos? Trieu una resposta.
a. 46
b. 58
c. 66
d. 75
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de ejecutar orr r2, r1, r0, lsr #2? Trieu una resposta.
a. r2 = 11
b. r2 = 12
c. r2 = 10
d. r2 = 13
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Dado el siguiente contenido de una porcin de la memoria: 0x10032 0x41 0x10033 0x7F 0x10034 0x00 0x10035 0x60 0x10036 0xAC
Cul es el half word que se encuentra en la posicin 0x10034, con una ordenacin Little Endian? Trieu una resposta.
a. 0x7F00
b. 0x0060
c. 0x007F
d. 0x6000
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de ejecutar tst r1, r0, ror #1? Trieu una resposta.
a. r0 = 3
b. Flag Z = 1
c. r1 = 3
d. Flag Z = 0
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Dados los dos campos IR e IN que definen un operando inmediato en una instruccin de lenguaje mquina de ARMv4, Cul es la operacin que realiza el procesador para obtener el valor inmediato correspondiente? Trieu una resposta.
a. IN rotado IR*2 bits a la derecha
b. IN desplazado IR bits a la izquierda
c. IN desplazado IR bits a la derecha
d. IN rotado IR*2 bits a la izquierda
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Cul es la instruccin para saltar cuando un nmero entero es mayor estricto que otro? Trieu una resposta.
a. bhi
b. bgt
c. bhs
d. bge
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C int matrix[][] = {{2, -5, 90}, {-12, 82, 0}, {-4, 850, -100}};? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Qu son los smbolos del lenguaje ensamblador? Trieu una resposta.
a. los valores inmediatos
b. los comentarios
c. los nombres de las variables y las etiquetas de salto
d. los cdigos binarios de las instrucciones de lenguaje mquina
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Qu registros hay que salvar al inicio de una rutina? Trieu una resposta.
a. todos los que se modifican ms el registro lr
b. todos los que se modifican ms el registro lr, excepto los registro que retornan resultados
c. todos los que se modifican
d. todos
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C int c = 0x500;? Trieu una resposta.
a. i: .word 0x500
b. i: .hword 0x500
c. i: .word 500
d. i: .hword 500
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 En el proceso de ensamblado, qu patrn se puede aplicar a las etiquetas de salto? Trieu una resposta.
a. una declaracin, una referencia de salto
b. mltiples declaraciones, una referencia de salto
c. una declaracin, mltiples referencias de salto
d. mltiples declaraciones, mltiples referencias de salto
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a != 0) {...}, suponiendo que el valor de la variable a (de tipo int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0 / beq .Lfinif / / .Lfinif:
b. cmp r0, #0 / bge .Lfinif / / .Lfinif:
c. cmp r0, #0 / ble .Lfinif / / .Lfinif:
d. cmp r0, #0 / bne .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
b. mov r0, #0 / .Lwhile: / cmp r0, #10 / blo .Lfinwhile / / b .Lwhile / .Lfinwhile:
c. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhi .Lfinwhile / / b .Lwhile / .Lfinwhile:
d. mov r0, #0 / .Lwhile: / cmp r0, #10 / bls .Lfinwhile / / b .Lwhile /
.Lfinwhile: Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a*a + b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. add r2, r1, r0, lsl #2
b. mul r0, r0, r0 / add r2, r0, r1
c. mul r2, r0, r0 / add r2, r1
d. mul r3, r0, r0 / add r1, r2, r3
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < *b) c = a; si suponemos que los parmetros se pasan por los registros r0 y r1, mientras que el resultado se devuelve por el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la llamada swap(&vector[i], &vector[lon-1 i]); si suponemos que la direccin base de vector est en r3, el valor de lon -1 est en r4, los parmetros de swap se pasan por los r0 y r1, mientras que la variable local i se implementa en el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin int temp = v[n-1] si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
b. ldr r2, =temp / sub r1, #1 / ldr r3, [r0, r1, lsl #2] / str r3, [r2]
c. sub r1, #1 / ldr r3, [r0, r1, lsl #2] @; r3 es temp
d. sub r2, r1, #1 / ldr r3, [r0, r2, lsl #2] @; r3 es temp
Incorrecta Punts d'aquesta tramesa: 0/1. Suponiendo que el contenido inicial de la pila y de algunos registros sea el siguiente: 0x07E8 0x00000000 r0 0x0000 0x07EC 0x0800CACB r1 0x0001 0x07F0 0xC37D12FD 0x07F4 0x509AE246 r4 0x00FE37A1 0x07F8 0xF0B57D8B r5 0xFFFFFFFE 0x07FC 0x35CD0523 0x0800 0x000127AC r13 0x000007F4 Cal ser el contenido de las posiciones de memoria 0x07FC y 0X0800 despus de ejecutar una instruccin push {r0, r4, r1, r5}? Trieu una resposta.
a. M[0x07FC] = 0x00FE37A1; M[0X0800] = 0x00000000
b. M[0x07FC] = 0x00000001; M[0X0800] = 0xFFFFFFFE
c. M[0x07FC] = 0x00FE37A1; M[0X0800] = 0xFFFFFFFE
d. M[0x07FC] = 0x35CD0523; M[0X0800] = 0x000127AC
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de la instruccin tst r1, r0? Trieu una resposta.
a. Flag Z = 0
b. r1 = 2
c. Flag Z = 1
d. r0 = 2
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 De los elementos que componen un procesador, cul de ellos maneja el bus de control? Trieu una resposta.
a. unidad aritmtico-lgica
b. unidad de clculo de direcciones
c. unidad de control
d. registros
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Suponiendo que el contenido de algunos registros sea el siguiente: r0 0x0000 r1 0x0001 r4 0x00FE37A1 r5 0xFFFFFFFE Cul ser el contenido de los registros r0 y r1 despus de ejecutar las instrucciones push {r0, r1} y pop {r4, r5}? Trieu una resposta.
a. r0 = 0x00FE37A1; r1 = 0xFFFFFFFE
b. r0 = 0xFFFFFFFE; r1 = 0x00000000
c. r0 = 0xFFFFFFFE; r1 = 0x00FE37A1
d. r0 = 0x00000000; r1 = 0x00000001
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Cul es la instruccin para saltar cuando un nmero entero es menor estricto que otro? Trieu una resposta.
a. blt
b. blo
c. bls
d. ble
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 De los elementos que componen un sistema programable, cul de ellos se encarga de almacenar los datos de un programa escrito en lenguaje mquina? Trieu una resposta.
a. buses
b. controladores de entrada/salida
c. memoria
d. procesador
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Cmo se puede alinear la memoria a hword? Trieu una resposta.
a. ..align 4
b. .align 2
c. .align 1
d. .align 3
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Dnde guarda la direccin de retorno una instruccin de llamada a rutina bl? Trieu una resposta.
a. en la pila
b. en el registro 14 (lr)
c. en el registro 13 (sp)
d. en el registro 15 (pc)
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 En lenguaje ensamblador GAS para ARMv4, cules son los tipos de valores que pueden ir como valores inmediatos de las instrucciones de lenguaje mquina, es decir, detrs de un carcter #? Trieu una resposta.
a. valores en base 10 o en base 16 (prefijo 0x)
b. valores en cualquier base
c. valores en base 10 o en base 8 (prefijo 0)
d. slo valores en base 10
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Suponiendo que la variable v1 se encuentra en la posicin de memoria 0x10034, cuando el programa ensamblador traduce una instruccin del tipo ldr r1, =v1, qu tipo de instruccin codifica en lenguaje mquina? Trieu una resposta.
a. ldr r1, 0x10034
b. ldr r1, [pc, #desp] (dnde desp es el desplazamiento hasta un posicin del programa)
c. mov r1, #0x10034
d. ldr r1, [0x10034]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C int c = 0x500;? Trieu una resposta.
a. i: .word 500
b. i: .hword 500
c. i: .word 0x500
d. i: .hword 0x500
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if ((a > 0) && (b < a)) {...}, suponiendo que las variables a y b (de tipo int) estn asignadas a los registros r0 y r1, respectivamente? Trieu una resposta.
a. cmp r0, #0 / bge .Lfinif / cmp r1, r0 / ble .Lfinif / / .Lfinif:
b. cmp r0, #0 / ble .Lfinif / cmp r1, r0 / ble .Lfinif / / .Lfinif:
c. cmp r0, #0 / ble .Lfinif / cmp r1, r0 / bge .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Suponiendo que se han cargado los registro r0, r1, r2, r3 y r4 con la direccin base de una matriz de tipo int (r0), el nmero de columnas (r1), el nmero de filas (r2), el ndice i (r3) y el ndice j (r4), cmo se puede implementar en lenguaje mquina la instruccin k = matriz[i][j];, donde k se tiene que guardar en el registro r6? Trieu una resposta.
a. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #2]
b. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5]
c. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #4]
d. mul r5, r3, r1 / add r5, r4 / ldr r6, [r0, r5, lsl #1]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a < 10) a++; else {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #10 / blo .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
b. cmp r0, #10 / bhi .Lelse / add r0, #1 / b .Lfinif: / .Lelse: / / .Lfinif:
c. cmp r0, #10 / bls .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
d. cmp r0, #10 / bhs .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
d. mov r0, #0 / .Lwhile: / cmp r0, #10 / blo .Lfinwhile / / b .Lwhile / .Lfinwhile: Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la funcin de la figura, implementada en C: Cmo se implementa la instruccin int temp = v[n-1] si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1?
b. sub r1, #1 / ldr r3, [r0, r1, lsl #2] @; r3 es temp
c. ldr r2, =temp / sub r1, #1 / ldr r3, [r0, r1, lsl #2] / str r3, [r2]
d. sub r2, r1, #1 / ldr r3, [r0, r2, lsl #2] @; r3 es temp
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < 10) *c = a; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin matriz[j*num_files + i] = temp; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, temp se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
a. mul r5, r2, r1 / add r5, r3 / ldr r4, [r0, r5, lsl #2]
b. mul r5, r3, r1 / add r5, r2 / ldr r4, [r0, r5, lsl #2]
c. mul r5, r2, r1 / add r5, r3 / str r4, [r0, r5, lsl #2]
d. mul r5, r3, r1 / add r5, r2 / str r4, [r0, r5, lsl #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Punts: 1 En ARMv4, de cantos bits es el valor derivado de un operando inmediato (despus de realizar el desplazamiento pertinente)? Trieu una resposta.
a. 8
b. 32
c. 16
d. 12
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Cmo consigue el procesador efectuar un secuenciamiento explcito? Trieu una resposta.
a. sumando 1 al pc
b. sumando 4 al pc
c. reseteando (poniendo a 0) el pc
d. cargando la direccin del salto en el p
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 De cuntos bits disponen las instruccin de un procesador ARMv4 para codificar el identificador de un registro de lenguaje mquina (en modo ARM)? Trieu una resposta.
a. 4
b. 8
c. 16
d. 3
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Dado el siguiente contenido de memoria y de algunos registros de lenguaje mquina: 0x1003F 0x8B 0x10040 0x7D r2 0x00004 0x10041 0xB5 r3 0x10040 0x10042 0xF0 r4 0x00001 0X10043 0x23 0X10044 0x05 Cul es el resultado de la instruccin ldsh r0, [r3, r2, ror r4]? Trieu una resposta.
a. r0 = 0xFFFF23F0
b. r0 = 0x23F0
c. r0 = 0xFFFFB57D
d. r0 = 0x000023F0
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Suponiendo que r0 = 0x84FA 0123, qu valor contendr r1 despus de ejecutar la instruccin mov r1, r0, ror #4? Trieu una resposta.
a. 0x4FA0 1230
b. 0xF84F A012
c. 0x384F A012
d. 0x084F A012
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Suponiendo que r0 = 6 y r1 = 10, cul es el resultado de la instruccin eor r2, r1, r0? Trieu una resposta.
a. r2 = 15
b. r2 = 14
c. r2 = 2
d. r2 = 12
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Dado el siguiente programa escrito en lenguaje ensamblador: _start: mov r0, #3 mov r1, #1 .Lbucle: add r0, r1 add r1, #1 cmp r0, #12 blo .Lbucle .Lstop: b .Lstop
Si la primera instruccin se ensambla a partir de la posicin 0x8000, Que direccin le corresponde al smbolo .Lbucle? Trieu una resposta.
a. 0x8003
b. 0x8004
c. 0x8008
d. 0x8002
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Qu directiva sirve para definir una variable global inicializada de tipo int? Trieu una resposta.
a. .byte
b. .word
c. .int
d. .hword
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v2: .hword 16
Cmo se puede grabar el contenido del registro r0 en la posicin de memoria de v2? Trieu una resposta.
a. ldr r1, =v1 / str r0, [r1]
b. ldrh r1, =v1 / str r0, [r1]
c. ldr r1, =v1 / strb r0, [r1]
d. ldr r1, =v1 / strh r0, [r1]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Dnde guarda la direccin de retorno una instruccin de llamada a rutina bl? Trieu una resposta.
a. en el registro 13 (sp)
b. en la pila
c. en el registro 14 (lr)
d. en el registro 15 (pc)
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v3: .hword 0x0800 .align 2 Cul ser la siguiente direccin de ensamblado si v3 se almacena en 0x10040? Trieu una resposta.
a. 0x10048
b. 0x10044
c. 0x10042
d. 0x10046
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C a++;, suponiendo que el valor de la variable a (de tipo int) est asignado al registro r0? Trieu una resposta.
a. add r0, 1
b. add 1, r0
c. add r0, #1
d. add #1, r0
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. .Lwhile: / mov r0, #0 / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
b. mov r0, #0 / cmp r0, #10 / .Lwhile: / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
c. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
d. mov r0, #0 / cmp r0, #10 / bhs .Lfinwhile / .Lwhile: / / b .Lwhile / .Lfinwhile: Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C c = a ^ b;, suponiendo que las variables a, b y c (de tipo int) estn asignados a los registros r0, r1 y r2, respectivamente? Trieu una resposta.
a. or r2, r0, r1
b. and r2, r0, r1
c. eor r2, r0, r1
d. orr r2, r0, r1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a != 0) {...}, suponiendo que el valor de la variable a (de tipo int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0 / ble .Lfinif / / .Lfinif:
b. cmp r0, #0 / beq .Lfinif / / .Lfinif:
c. cmp r0, #0 / bne .Lfinif / / .Lfinif:
d. cmp r0, #0 / bge .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < *b) c = a; si suponemos que los parmetros se pasan por los registros r0 y r1, mientras que el resultado se devuelve por el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la llamada swap(&vector[i], &vector[lon-1 i]); si suponemos que la direccin base de vector est en r3, el valor de lon -1 est en r4, los parmetros de swap se pasan por los r0 y r1, mientras que la variable local i se implementa en el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < 10) *c = a; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Suponiendo que el contenido de algunos registros sea el siguiente: r0 0x0000 r1 0x0001 r4 0x00FE37A1 r5 0xFFFFFFFE Cul ser el contenido de los registros r0 y r1 despus de ejecutar las instrucciones push {r0, r1, r4, r5} y pop {r0, r4, r1, r5}? Trieu una resposta.
a. r0 = 0x00FE37A1; r1 = 0x00000001
b. r0 = 0x00000000; r1 = 0x00000001
c. r0 = 0x00000000; r1 = 0x00FE37A1
d. r0 = 0x00FE37A1; r1 = 0xFFFFFFFE
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Cul de los siguientes operadores se emplea para desplazar el contenido de un registro cierto nmero de bits a la izquierda? Trieu una resposta.
a. lsr
b. asr
c. ror
d. lsl
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 De los elementos que componen un procesador, cul de ellos se encarga de calcular las posiciones de memoria donde se encuentran los datos del programa? Trieu una resposta.
a. unidad de clculo de direcciones
b. unidad de control
c. registros
d. unidad aritmtico-lgica
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Suponiendo que el contenido inicial de la pila y de algunos registros sea el siguiente: 0x07E8 0x00000000 r0 0x0000 0x07EC 0x0800CACB r1 0x0001 0x07F0 0xC37D12FD 0x07F4 0x509AE246 r4 0x00FE37A1 0x07F8 0xF0B57D8B r5 0xFFFFFFFE 0x07FC 0x35CD0523 0x0800 0x000127AC r13 0x000007F4 Cal ser el contenido de r4 y r5 despus de ejecutar una instruccin pop {r0, r1, r4- r7}? Trieu una resposta.
a. r4 = 0x35CD0523; r5 = 0x000127AC
b. r4 = 0x00000000; r5 = 0x0800CACB
c. r4 = 0x509AE246; r5 = 0xF0B57D8B
d. r4 = 0x0800CACB; r5 = 0xFFFFFFFE
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Suponiendo que el contenido inicial de la pila y de algunos registros sea el siguiente: 0x07E8 0x00000000 r0 0x0000 0x07EC 0x0800CACB r1 0x0001 0x07F0 0xC37D12FD 0x07F4 0x509AE246 r4 0x00FE37A1 0x07F8 0xF0B57D8B r5 0xFFFFFFFE 0x07FC 0x35CD0523 0x0800 0x000127AC r13 0x000007F4 Cal ser el contenido de r0 y r1 despus de ejecutar una instruccin pop {r1, r0}? Trieu una resposta.
a. r0 = 0xC37D12FD; r1 = 0x509AE246
b. r0 = 0x509AE246; r1 = 0xC37D12FD
c. r0 = 0x509AE246; r1 = 0xF0B57D8B
d. r0 = 0xF0B57D8B; r1 = 0x509AE246
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Cul es el rango mximo de los nmeros enteros que puede manejar intrnsecamente un procesador ARMv4? Trieu una resposta.
a. de -32768 a 32767
b. de -4294967296 a 4294967295
c. de -2147483648 a 2147483647
d. de -65536 a 65535
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Qu registro tiene que recuperar de la pila la direccin de retorno en la ltima instruccin pop de una rutina? Trieu una resposta.
a. el registro 14 (lr)
b. el registro 15 (pc)
c. el registro 0
d. el registro 13 (sp)
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Cmo se define la direccin de inicio de una rutina? Trieu una resposta.
a. con una etiqueta de salto
b. con una directiva .global
c. con una instruccin de llamada a rutina bl
d. con una directiva .routine
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Suponiendo que tenemos la siguiente declaracin en lenguaje C: int matrix[][] = {{2, - 5, 90}, {-12, 82, 0}, {-4, 850, -100}};, y que la variable global matrix se empieza a guardar en la direccin 0x10034, En que direccin se almacenar el valor 0? Trieu una resposta.
a. 0x10040
b. 0x10048
c. 0x10039
d. 0x10054
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 A qu nivel est definido el cdigo hexadecimal de una instruccin de lenguaje mquina como 0x1AFF FFFC? Trieu una resposta.
a. a nivel de cdigo mquina
b. a nivel de lenguaje ensamblador
c. a nivel de lenguaje mquina
d. a alto nivel
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v3: .word 32
Cmo se puede cargar el contenido de memoria de v3 en el registro r0? Trieu una resposta.
a. ldr r0, =v1 / ldr r0, r1
b. ldr r1, =v1 / ldr r0, [r1]
c. mov r0, =v1
d. ldr r0, =v1 / ldr r1, [r0]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[1] = i;, suponiendo el vector v es de tipo short, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. strs r0, [r1, #1]
b. strh r0, [r1, #4]
c. strb r0, [r1, #1]
d. strh r0, [r1, #2]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a & 0x10) {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #0x10 / bne .Lfinif / / .Lfinif:
b. cmp r0, #0x10 / beq .Lfinif / / .Lfinif:
c. tst r0, #0x10 / bne .Lfinif / / .Lfinif:
d. tst r0, #0x10 / beq .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a < 10) a++; else {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #10 / bhs .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
b. cmp r0, #10 / blo .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
c. cmp r0, #10 / bls .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
d. cmp r0, #10 / bhi .Lelse / add r0, #1 / b .Lfinif: / .Lelse: / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C for (i = 0; i < j; i++) {...}, suponiendo que las variables i y j (de tipo int) se asignen a los registros r0 y r1, respectivamente? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin suma += matriz[i][j]; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, suma se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin suma += matriz[j][i]; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, suma se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la llamada swap(&vector[i], &vector[lon-1 i]); si suponemos que la direccin base de vector est en r3, el valor de lon -1 est en r4, los parmetros de swap se pasan por los r0 y r1, mientras que la variable local i se implementa en el registro r2? Trieu una resposta.
a. add r0, r3, r2 / add r1, r0, r4 / sub r1, r2 / bl swap
Incorrecta Punts d'aquesta tramesa: 0/1. Punts: 1 Cmo se modifica el registro sp despus de ejecutar una instruccin pop {r0-r3, lr}? Trieu una resposta.
a. sp = sp + 5
b. sp = sp - 16
c. sp = sp - 24
d. sp = sp + 20
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Cul de las siguientes instrucciones efecta un salto condicional? Trieu una resposta.
a. beq
b. cmp
c. bl
d. b
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Suponiendo que r13 = 0x07DC y r14 = 0x84AC, Cul es el valor del r13 despus de ejecutar la instruccin push {r0-r2, lr}? Trieu una resposta.
a. r13 = 0x84AC
b. r13 = 0x07DC
c. r13 = 0x07CC
d. r13 = 0x07D9
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 De los elementos que componen un sistema programable, cul de ellos se encarga de almacenar los datos de un programa escrito en lenguaje mquina? Trieu una resposta.
a. buses
b. procesador
c. memoria
d. controladores de entrada/salida
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Qu tipo de instrucciones generan siempre un secuenciamiento explcito? Trieu una resposta.
a. de salto condicional
b. de salto condicional o incondicional
c. de salto incondicional
d. de comparacin
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 De los tipos de bus que componen un sistema programable, cul de ellos se encarga de indicar las posiciones de memoria donde se encuentran los datos del programa? Trieu una resposta.
a. bus de direcciones
b. bus de entrada/salida
c. bus de control
d. bus de datos
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Cmo se traduce en lenguaje ensamblador la declaracin en lenguaje C int c = 0x500;? Trieu una resposta.
a. i: .word 500
b. i: .word 0x500
c. i: .hword 500
d. i: .hword 0x500
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Suponiendo que la variable v1 se encuentra en la posicin de memoria 0x10034, cuando el programa ensamblador traduce una instruccin del tipo ldr r1, =v1, qu tipo de instruccin codifica en lenguaje mquina? Trieu una resposta.
a. ldr r1, 0x10034
b. ldr r1, [0x10034]
c. mov r1, #0x10034
d. ldr r1, [pc, #desp] (dnde desp es el desplazamiento hasta un posicin del programa) Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Suponiendo que tenemos las siguientes lneas de lenguaje ensamblador: v6: .byte 1, 2, 3, 4, 5, 6 .align 1 Cul ser la siguiente direccin de ensamblado si v6 se almacena en 0x10060? Trieu una resposta.
a. 0x10068
b. 0x10067
c. 0x10066
d. 0x10070
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Dnde guarda la direccin de retorno una instruccin de llamada a rutina bl? Trieu una resposta.
a. en el registro 15 (pc)
b. en el registro 14 (lr)
c. en la pila
d. en el registro 13 (sp)
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Cuntos bytes puede insertar el programa ensamblador como respuesta a una directiva .align 1? Trieu una resposta.
a. siempre 1
b. 0, 1 o 2
c. siempre 2
d. 0 o 1
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lwhile / .Lfinwhile:
b. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lwhile / / b .Lfinwhile / .Lfinwhile:
c. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lwhile / / b .Lwhile / .Lfinwhile:
d. mov r0, #0 / .Lwhile: / cmp r0, #10 / bhs .Lfinwhile / / b .Lfinwhile / .Lfinwhile: Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a <= 10) {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #10 / bgt .Lfinif / / .Lfinif:
b. cmp r0, #10 / bhi .Lfinif / / .Lfinif:
c. cmp r0, #10 / bge .Lfinif / / .Lfinif:
d. cmp r0, #10 / bhs .Lfinif / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if (a < 10) a++; else {...}, suponiendo que el valor de la variable a (de tipo unsigned int) est asignada al registro r0? Trieu una resposta.
a. cmp r0, #10 / bhs .Lelse / add r0, #1 / b .Lelse / .Lelse: / / .Lfinif:
b. cmp r0, #10 / bhs .Lelse / add r0, #1 / b .Lfinif / .Lelse: / / .Lfinif:
c. cmp r0, #10 / bhs .Lfinif / add r0, #1 / b .Lelse / .Lelse: / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[i] = 1;, suponiendo el vector v es de tipo int, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. mov r2, #1 / str r2, [r1, r0, lsl #2]
b. mov r2, #1 / str r2, [r1, r0]
c. mov r2, #1 / str r2, [r1, r0, lsl #1]
d. mov r2, #1 / str r2, [r1, r0, lsl #4]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin suma += matriz[i][j]; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, suma se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la llamada swap(&vector[i], &vector[lon-1 i]); si suponemos que la direccin base de vector est en r3, el valor de lon -1 est en r4, los parmetros de swap se pasan por los r0 y r1, mientras que la variable local i se implementa en el registro r2? Trieu una resposta.
d. add r0, r3, r2 / add r1, r0, r4 / sub r1, r2 / bl swap
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < *b) c = a; si suponemos que los parmetros se pasan por los registros r0 y r1, mientras que el resultado se devuelve por el registro r2? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Punts: 1 Dado el siguiente programa escrito en lenguaje mquina: 0x8000 mov r0, #3 0x8004 mov r1, #1 0x8008 add r0, r1 0x800C add r1, #1 0x8010 cmp r0, #12 0x8014 blo 0x8008 0x8018 b 0x8018 Cuntas instrucciones se ejecutan desde 0x8000 hasta que se llega a 0x8018? Trieu una resposta.
a. 18
b. 6
c. 38
d. 7
Incorrecta Punts d'aquesta tramesa: 0/1. Question 2 Punts: 1 Suponiendo que r13 = 0x07DC y r14 = 0x84AC, Cul es el valor del r13 despus de ejecutar la instruccin push {r0-r2, lr}? Trieu una resposta.
a. r13 = 0x07CC
b. r13 = 0x84AC
c. r13 = 0x07DC
d. r13 = 0x07D9
Incorrecta Punts d'aquesta tramesa: 0/1. Question 3 Punts: 1 Cul de los siguientes operadores se emplea para desplazar el contenido de un registro cierto nmero de bits a la izquierda? Trieu una resposta.
a. asr
b. ror
c. lsl
d. lsr
Incorrecta Punts d'aquesta tramesa: 0/1. Question 4 Punts: 1 Cul es la instruccin para saltar cuando dos nmeros naturales sn diferentes? Trieu una resposta.
a. beq
b. ble
c. bne
d. bhi
Incorrecta Punts d'aquesta tramesa: 0/1. Question 5 Punts: 1 Cul de las siguientes instrucciones es capaz de dividir el contenido de r0 por 2? Trieu una resposta.
a. sub r0, r0, asr #1
b. sub r0, r0, lsr #1
c. sub r0, r0, lsl #1
d. sub r0, r0, ror #4
Incorrecta Punts d'aquesta tramesa: 0/1. Question 6 Punts: 1 Qu tipo de instrucciones generan siempre un secuenciamiento explcito? Trieu una resposta.
a. de comparacin
b. de salto incondicional
c. de salto condicional o incondicional
d. de salto condicional
Incorrecta Punts d'aquesta tramesa: 0/1. Question 7 Punts: 1 Suponiendo que tenemos la siguiente declaracin de variable en lenguaje ensamblador: v1: .byte 8
Cmo se puede cargar el contenido de memoria de v1 en el registro r0? Trieu una resposta.
a. ldr r1, =v1 / ldrb r0, [r1]
b. ldr r1, =v1 / ldr r0, [r1]
c. ldrb r1, =v1 / ldrb r0, [r1]
d. ldrb r1, =v1 / ldr r0, [r1]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 8 Punts: 1 Qu directiva sirve para definir una variable global inicializada de 32 bits? Trieu una resposta.
a. .byte
b. .word
c. .space 32
d. .hword
Incorrecta Punts d'aquesta tramesa: 0/1. Question 9 Punts: 1 Qu registro tiene que guardarse a la pila en la primera instruccin push de una rutina para permitir el retorno correctamente? Trieu una resposta.
a. el registro 13 (sp)
b. el registro 0
c. el registro 14 (lr)
d. el registro 15 (pc)
Incorrecta Punts d'aquesta tramesa: 0/1. Question 10 Punts: 1 Cul de las siguientes lneas de cdigo no es una directiva de ensamblador? Trieu una resposta.
a. .global _start
b. .arm
c. _start:
d. .align 2
Incorrecta Punts d'aquesta tramesa: 0/1. Question 11 Punts: 1 Cul tiene que ser siempre la ltima instruccin de una rutina? Trieu una resposta.
a. bl
b. pop
c. push
d. func1:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 12 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C if ((a > 0) && (b < a)) {...}, suponiendo que las variables a y b (de tipo int) estn asignadas a los registros r0 y r1, respectivamente? Trieu una resposta.
a. cmp r0, #0 / ble .Lif / cmp r1, r0 / bge .Lif / b .Lfinif / .Lif: / / .Lfinif:
b. cmp r0, #0 / ble .Lfinif / cmp r1, r0 / bge .Lif / b .Lfinif / .Lif: / / .Lfinif:
c. cmp r0, #0 / ble .Lfinif / cmp r1, r0 / bge .Lfinif / / .Lfinif:
d. cmp r0, #0 / ble .Lif / cmp r1, r0 / bge .Lfinif / b .Lfinif / .Lif: / / .Lfinif:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 13 Punts: 1 Cmo se traduce a lenguaje mquina la instruccin en C b += a*2;, suponiendo que las variables a y b (de tipo int) estn asignados a los registros r0 y r1, respectivamente? Trieu una resposta.
a. mov r0, lsl #1 / add r1, r0
b. add r1, r0, lsl #1
c. mov r0, lsl #2 / add r1, r0
d. mov r2, #2 / mul r0, r0, r2 / add r1, r0
Incorrecta Punts d'aquesta tramesa: 0/1. Question 14 Punts: 1 Cmo se traduce a lenguaje mquina la estructura en C i = 0; while (i < 10) {...}, suponiendo que la variable i (de tipo unsigned int) se asigne al registro r0? Trieu una resposta.
a. mov r0, #0 / .Lwhile: / cmp r0, #10 / blo .Lfinwhile / / b .Lwhile / .Lfinwhile:
Incorrecta Punts d'aquesta tramesa: 0/1. Question 15 Punts: 1 Cmo se traduce a lenguaje mquina el acceso en C v[i] = 0;, suponiendo el vector v es de tipo char, que i est cargada en r0 y que la direccin base del vector est cargada en r1? Trieu una resposta.
a. mov r2, #0 / ldr r2, [r1, r0]
b. mov r2, #0 / str r2, [r1, r0]
c. mov r2, #0 / ldrb r2, [r1, r0]
d. mov r2, #0 / strb r2, [r1, r0]
Incorrecta Punts d'aquesta tramesa: 0/1. Question 16 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la lnea if (*a < 10) *c = a; si suponemos que el primer parmetro se pasa por el registro r0 y el segundo parmetro por r1? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 17 Punts: 1 A partir de la siguiente funcin implementada en C:
Cmo se implementa la instruccin suma += matriz[j][i]; si suponemos que los parmetros se pasan por los r0 y r1, mientras que las variables locales i, j, suma se implementan en los registros r2, r3 y r4, respectivamente? Trieu una resposta.
Incorrecta Punts d'aquesta tramesa: 0/1. Question 18 Punts: 1 Cmo se traduce a lenguaje mquina la llamada en C func1(a, &b);, suponiendo que las variables a y b son de tipo int, y que el primer parmetro se pasa por valor y por r0, mientras que el segundo parmetro se pasa por referencia y por r1? Trieu una resposta.