In this exercise we have to use the knowledge of computational language in C code to write a code that Translate the following C program to Pep/9 assembly language.
<h3>Writting the code:</h3>
<em>#include <stdio.h></em>
<em>int myAge;</em>
<em>void </em><em>putNext</em><em>(int age) {</em>
<em>int nextYr;</em>
<em>nextYr = age + 1;</em>
<em>printf("Age: %d\n", age);</em>
<em>printf("Age next year: %d\n", nextYr);</em>
<em>}</em>
<em>int </em><em>main </em><em>() {</em>
<em>scanf("%d", &myAge);</em>
<em>putNext(myAge);</em>
<em>putNext(64);</em>
<em>return 0;</em>
<em>}</em>
<em>myAge:</em>
<em>.zero 4</em>
<em>.LC0:</em>
<em>.</em><em>string </em><em>"Age: %d\n"</em>
<em>.LC1:</em>
<em>.string "Age </em><em>next </em><em>year: %d\n"</em>
<em>_Z7putNexti:</em>
<em>pushq %rbp</em>
<em>movq %rsp, %rbp</em>
<em>subq $32, %rsp</em>
<em>movl %edi, -20(%rbp)</em>
<em>movl -20(%rbp), %eax</em>
<em>addl $1, %eax</em>
<em>movl %eax, -4(%rbp)</em>
<em>movl -20(%rbp), %eax</em>
<em>movl %eax, %esi</em>
<em>movl $.LC0, %edi</em>
<em>movl $0, %eax</em>
<em>call printf</em>
<em>movl -4(%rbp), %eax</em>
<em>movl %eax, %esi</em>
<em>movl $.LC1, %edi</em>
<em>movl $0, %eax</em>
<em>call printf</em>
<em>nop</em>
<em>leave</em>
<em>ret</em>
<em>.LC2:</em>
<em>.</em><em>string </em><em>"%d"</em>
<em>main:</em>
<em>pushq %rbp</em>
<em>movq %rsp, %rbp</em>
<em>movl $myAge, %esi</em>
<em>movl $.LC2, %edi</em>
<em>movl $0, %eax</em>
<em>call scanf</em>
<em>movl myAge(%rip), %eax</em>
<em>movl %eax, %edi</em>
<em>call _Z7putNexti</em>
<em>movl $64, %edi</em>
<em>call _Z7putNexti</em>
<em>movl $0, %eax</em>
<em>popq %rbp</em>
<em>ret</em>
See more about C code at brainly.com/question/18502436
#SPJ1