1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Anuta_ua [19.1K]
3 years ago
10

Write a C function which mimics the behavior of the assembly language function below. Note that this time, the assembly language

code is recursive (despite –O2 compilation), and your C code should likewise be recursive.
f:
cmpl $1, %edi
je .L3
xorl %eax, %eax
testl %edi, %edi
jle .L7
subq $8, %rsp
subl $1, %edi
call f
testl %eax, %eax
sete %al
addq $8, %rsp
movzbl %al, %eax
.L7:
ret
.L3:
movl $1, %eax
ret
Computers and Technology
1 answer:
Digiron [165]3 years ago
6 0

Answer:

#include <stdio.h>

int f(int edi) {

 

  if (edi == 1) {

      return 1;  

  }

  if (edi <= 0) {

      return 0;

  }

 

  edi--;

  int eax = f(edi);

 

  if(eax == 0) {

      return 1;

  } else {

      return 0;

  }

}

int main(void) {

  int edi = 9;

  int ret;

  ret = f(edi);

  printf("%d", ret);

  return 0;

}

Explanation:

  • Inside the function f, check if edi is 1 or less than 1 and then return a number accordingly.
  • Decrement the edi variable, call the f function and assign its value to eax.
  • Check if eax is equal to 0 then return 1 else return 0.
  • Inside the main function, call the f function by passing the edi value and finally display the value of ret.
You might be interested in
Write code statements to create a DecimalFormat object that will round a formatted value to four decimal places. Then write a st
KonstantinChe [14]

Answer:

Following is the code in Java Language :

DecimalFormat form1= new DecimalFormat ("0.####");  // create an instance of                                                                                            .                                                                                            //DecimalFormat

System.out.println (form1.format(res)); // display the value in proper format

Explanation:

Following are the description of the program

  • Firstly we create the instance of DecimalFormat i.e  "form1"  that will round a formatted value to four decimal places. To create an instance or object of the class we can use a new keyword.
  • Finally, we print the format by using the format method.In the format method, we pass the variable "res".The System.out.println() is used to display the value of the format.
3 0
4 years ago
A sequence of one or more characters is called
irina [24]
A sequence of one or more characters is called STRING.
5 0
3 years ago
Hey should I get a r()blox gift card if so what amount 5 dollars 10 or 100
IRINA_888 [86]

Answer:

yes you should get a 10 bc it not to much and u can still get something cool

6 0
3 years ago
In which format is information stored on a hard drive?
Natalija [7]
The answer is binary
6 0
3 years ago
When the "swen" virus infected someone's system, it made significant changes to the registry that caused it to be extremely diff
Effectus [21]
<span>In certain cases, when the Swen executable is removed or renamed by an anti virus program without stopping to fix the registry, it then will become impossible to run any executable files on the machine. This happens because windows will be unable to find the file that is associated with any executables on it's hard drive.</span>
7 0
3 years ago
Other questions:
  • You can toggle between different types of references by pressing the ____ key on your keyboard.
    15·1 answer
  • HELP ILL MARK BRAINLIETS!! What kind of statement is used to determine which path a program will take? priority statement
    8·2 answers
  • In the Advent of computer technologies and it's applications, to what extent these technologies have influenced the world.
    11·1 answer
  • Write two cin statements to get input values into birthMonth and birthYear. Then write a statement to output the month, a dash,
    7·1 answer
  • Which programming language was released first
    7·1 answer
  • Write a brief, two-page paper describing how your lifestyle and values impact your use of the Web for e-commerce. How is your on
    15·1 answer
  • Clarissa is a computer programming consultant. When a client states that they have an extremely complex programming task, which
    10·2 answers
  • Use Spreadsheet Functions and Formulas
    6·1 answer
  • Que es el sistema persona producto?​
    8·1 answer
  • Suppose your team is finishing a project and the supervisor stresses ensuring the material cannot be erased. To what memory leve
    14·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!