logo

Crowdly

Browser

Add to Chrome

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

Looking for CA & OS (Computer Architecture) - EFREI - Fall 2026 test answers and solutions? Browse our comprehensive collection of verified answers for CA & OS (Computer Architecture) - EFREI - Fall 2026 at moodle.lab.ii.agh.edu.pl.

Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!

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 ?

✅
❌
❌
❌
View this question
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 ?

❌
✅
❌
❌
View this question
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.

View this question

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

View this question
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é).

View this question
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é).

View this question
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é).

View this question
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.

View this question

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 ;)

View this question
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.

View this question

Want instant access to all verified answers on moodle.lab.ii.agh.edu.pl?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!

Browser

Add to Chrome