Professional Documents
Culture Documents
TASK NO 1:
CPP CODE:
#include <stdio.h>
int ThreeProd(int* arr) {
int n1 = arr[0];
int n2 = arr[1];
int n3 = arr[2];
int ans;
_asm {
mov eax, n1;
mov edx, 0;
mul n2;
mul n3;
mov ans, eax;
}
return ans;
}
int main()
{
//define variables
int arr[3];
for (int i = 0; i < 3; i++) {
printf("Enter number %d: ", i + 1);
scanf_s("%d", &arr[i]);
}// in scanf_s it is necessary to
//specifiy length
int result = ThreeProd(arr);
printf("The product of the numbers = %d", result);
return 0;
}
ASM CODE:
.686 ;Target processor. Use instructions for Pentium class machines
.MODEL FLAT, C ;Use the flat memory model. Use C calling conventions
.STACK 2048 ;Define a stack segment of 1KB (Not required for this example)
.DATA ;Create a near data segment. Local variables are declared after
ASM CODE:
.686 ;Target processor. Use instructions for Pentium class machines
.MODEL FLAT, C ;Use the flat memory model. Use C calling conventions
.STACK 2048 ;Define a stack segment of 1KB (Not required for this example)
.DATA ;Create a near data segment. Local variables are declared after