logo

Crowdly

Browser

Додати до Chrome

CA & OS (Computer Architecture) - EFREI - Fall 2026

Шукаєте відповіді та рішення тестів для CA & OS (Computer Architecture) - EFREI - Fall 2026? Перегляньте нашу велику колекцію перевірених відповідей для CA & OS (Computer Architecture) - EFREI - Fall 2026 в moodle.lab.ii.agh.edu.pl.

Отримайте миттєвий доступ до точних відповідей та детальних пояснень для питань вашого курсу. Наша платформа, створена спільнотою, допомагає студентам досягати успіху!

Number of clock cycles for div.d instruction (floating point division).

Load and execute in step mode following program:

.data

one: .double 1.0

.text

main: LDC1 f1,one(r0) ; Load value 1.0 to f1 register to avoid FPU exception

nop

nop

div.d f2,f0,f1

syscall 0

Analyze clock cycle diagram of execution of the program and answer the question:

How many clock cycles does the execution of the instruction div.d f2,f0,f1 take ?

✅
❌
❌
❌
Переглянути це питання
Number of clock cycles for mul.d instruction (floating point multiply).

Load and execute in step mode following program:

        .text

main:    mul.d f1,f0,f1

         syscall 0

Analyze clock cycle diagram of execution of the program and answer the question:

How many clock cycles does the execution of the instruction mul.d f1,f0,f1 take ?

❌
✅
❌
❌
Переглянути це питання
Variables de type short int en mémoire

Toujours en mode débogage, vous devriez voir une petite barre en bas de la fenêtre SASM avec la commande GDB. Dans le champ de texte, saisissez la commande  x /32bx suivie de l'adresse contenue dans le registre eax (remplacez _____ par l'adresse) et appuyez sur Entrée.

x /32bx ____

Veuillez ne pas saisir au hasard ce qui suit : cette commande est spécifique à un système d’exploitation. Remplacez plutôt le numéro d’adresse par celui que vous avez lu précédemment dans eax :

Copy & paste the command you typed to the report text box in the correct section, using the provided template.

You will receive the output - the memory dump of the interesting section, for example:

Again, copy&paste the memory dump to the appropriate section in the report as many times as needed and highlight the values according to the instructions in the template.

Переглянути це питання

Préparez une déclaration du contenu mémoire représenté dans un objet .long qui contiendra un texte unique encodé en caractères ASCII, afin que vous puissiez interpréter les données comme une chaîne de caractères contenant votre nom. Ce texte peut être votre nom, votre surnom ou toute autre chaîne de caractères unique, mais veuillez vous assurer que sa longueur est d'au moins 10 caractères .

Pour une chaîne plus courte, par exemple, au lieu de définir le texte Abcdef comme ceci :

.asciz "Abcdef"

nous pouvons écrire :

.long 0x64636241, 0x00006665

Nous pourrons ensuite l'utiliser avec l'instruction printf et il sera imprimé comme s'il s'agissait d'un texte ASCII.

.data

string:

# put here your long number declaration

.long 0x64636241, 0x00006665  # .asciz "Abcdef"

.text

.global _main

_main:

movl %esp, %ebp #for correct debugging

# write your code here

pushl $string

call _printf

addl $4,%esp

xorl %eax, %eax

ret

Переглянути це питання
Variables de type chaîne en mémoire

Modifiez le programme afin de définir la déclaration suivante pour la section .data :

.données

variables :

.mot 0x55aa

.asciz "Texte"

.mot 0xFFFF

.ascii "Nums 0123"

.mot 0xFFFF

La directive `.asciz` permet de déclarer une variable ou une constante de type chaîne de caractères terminée par un caractère nul

. La directive `.ascii` permet de déclarer une variable ou une constante de type chaîne de caractères sans caractère de fin.

De plus, si nécessaire, modifiez le programme afin qu'il se compile correctement et effectuez un vidage mémoire en mode débogage. Vous pourrez ainsi visualiser correctement le contenu de la section de données.

Comme pour l'exercice précédent, copiez-collez les fichiers de vidage mémoire et mettez en gras et soulignez les valeurs conformément aux instructions du modèle . Joignez également le fichier source .asm à titre de référence (cependant, le code source ne sera pas évalué).

Переглянути це питання
Type de données à virgule flottante en mémoire

Modifiez le programme afin de définir la déclaration suivante pour la section .data :

.données

variables :

.tfloat 23.7

La directive `.tfloat` permet de déclarer une variable de type nombre à virgule flottante à précision étendue ( 80 bits, soit 10 octets ). Ce type de données est spécifique à l'architecture x86-32.

De plus, si nécessaire, modifiez le programme afin qu'il se compile correctement et effectuez un vidage mémoire en mode débogage. Vous pourrez ainsi visualiser correctement le contenu de la section de données.

Comme pour l'exercice précédent, copiez-collez les fichiers de vidage mémoire et mettez en gras et soulignez les valeurs conformément aux instructions du modèle . Joignez également le fichier source .asm à titre de référence (cependant, le code source ne sera pas évalué).

Переглянути це питання
Alignement des données

Copiez, collez et modifiez le programme ci-dessous :

.données

variables :

.mot 0x55AA

.align 8

.quad 0xDEADCAFE87654321

.quad 0

de sorte que l'alignement du 

0xDEADCAFE87654321

est : 4 octets, 2 octets et 0 octet.

Si nécessaire, modifiez le programme pour qu'il se compile correctement et effectuez un vidage mémoire en mode débogage. Vous pourrez ainsi visualiser correctement le contenu de la section de données.

Comme pour l'exercice précédent, copiez-collez les vidages mémoire et mettez en surbrillance les valeurs en suivant les instructions du modèle . Joignez également le fichier .asm modifié (alignement au choix)  à titre de référence (cependant, le code source ne sera pas évalué).

Переглянути це питання
Variables de type short int en mémoire

Toujours en mode débogage, vous devriez voir une petite barre en bas de la fenêtre SASM avec la commande GDB. Dans le champ de texte, saisissez la commande  x /32bx suivie de l'adresse contenue dans le registre eax (remplacez _____ par l'adresse) et appuyez sur Entrée.

x /32bx ____

Veuillez ne pas saisir au hasard ce qui suit : cette commande est spécifique à un système d’exploitation. Remplacez plutôt le numéro d’adresse par celui que vous avez lu précédemment dans eax :

Copiez et collez la commande que vous avez saisie dans la zone de texte du rapport, dans la section appropriée, en utilisant le modèle fourni.

Vous recevrez le résultat – le vidage mémoire de la section intéressante, par exemple :

Copiez et collez à nouveau le vidage mémoire dans la section appropriée du rapport autant de fois que nécessaire et mettez en surbrillance les valeurs conformément aux instructions du modèle.

Переглянути це питання

Now start the debugger with the "Debug" button.

In the Debug menu please make sure that the box Show registers is checked:

Now, using Step over, move to the next instruction, and the to the ret instruction.

movl $variables, %eax

ret

Now you should see something similar to this:

In the Registers section, you can see what's in the internal registers of the CPU. The highlighted instruction moved the address under the variables label to the eax register. So please read that value in hexadecimal and write that value to the answer box using the provided template. Also note that value because we'll use it later.

If you use Windows it probably will be something like 0x402000, and if you use Linux then rather something like 0x804c020.

Do not exit the debug session yet ;)

Переглянути це питання
short int type variables in memory

Now, still in the debug session, you should see a small strip at the bottom of the SASM window with GDB command. In the text box there, enter the command x /32bx and the address you have in the eax register (replace _____ with the address) and press enter.

x /32bx ____

Please, do not type mindlessly what you see below - the command is specific to one of the operating systems. Instead, replace the address number with what you had read from eax before:

Copy & paste the command you typed to the report text box in the correct section, using the provided template.

You will receive the output - the memory dump of the interesting section, for example:

Again, copy&paste the memory dump to the appropriate section in the report as many times as needed and highlight the values according to the instructions in the template.

Переглянути це питання

Хочете миттєвий доступ до всіх перевірених відповідей на moodle.lab.ii.agh.edu.pl?

Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!

Browser

Додати до Chrome