Ошибка сборки "unresolved external symbol" при использовании ассемблерной вставки - Assembler

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста исправить 2 ошибки. Очень долго мучаюсь Error LNK2019 unresolved external symbol _calc referenced in function _main Error LNK1120 1 unresolved externals Задание в вложениях
Листинг программы
  1. #define N 4
  2. #define _CRT_SECURE_NO_WARNINGS
  3. #include <conio.h>
  4. #include <stdio.h>
  5. extern "C" double calc(double, float, float);
  6. void main()
  7. {
  8. double A[N];
  9. float C, D;
  10. printf("Please enter %d elements of array\n", N);
  11. for (unsigned int i = 0; i < N; ++i) {
  12. printf("A[%d] = ", i);
  13. scanf("%lf", &A[i]);
  14. }
  15. printf("C = ");
  16. scanf("%f", &C);
  17. printf("D = ");
  18. scanf("%f", &D);
  19. for (unsigned int i = 0; i < N; ++i) {
  20. printf("result: ", calc(A[i], C, D));
  21. printf("\n");
  22. }
  23. _getch();
  24. }
Листинг программы
  1. .586
  2. .model flat, c
  3. .data
  4. temp1 dd 0
  5. temp2 dd 0
  6. temp3 dd 0
  7. temp4 dd 0
  8. const1 dd 2.0
  9. const2 dd 41.0
  10. const3 dd 1.0
  11. const4 dd 4.0
  12. .code
  13. _calc PROC
  14. ;a[+12] c[+16] d[+20]
  15. push ebp
  16. mov ebp, esp
  17. finit
  18. fld dword ptr [ebp+16] ;c
  19. fcom dword ptr [ebp+20] ;d
  20. fstsw ax
  21. sahf
  22. ja bigger
  23. ;>
  24. fld word ptr [ebp+20] ;d
  25. fdiv word ptr [ebp+16] ;d/c
  26. fsubr const2 ;41-d/c
  27. fadd const3 ;41-d/c+1
  28. fstp temp1
  29. fld dword ptr [ebp+12] ;a
  30. fmul dword ptr [ebp+20] ;a*d
  31. fadd const1 ;a*d+2
  32. fldln2 ;ln(a*d+2)
  33. fstp temp2
  34. fmul dword ptr [ebp+16] ;ln(a*d+2) * c
  35. fdiv temp1
  36. jmp next
  37. ;<=
  38. bigger:
  39. fld word ptr [ebp+16] ;c
  40. fdiv word ptr [ebp+20] ;c/d
  41. fsub const3 ;c/d-1
  42. fstp temp3
  43. fld dword ptr [ebp+20] ;d
  44. fmul const4 ;4*d
  45. fsub word ptr [ebp+16] ;4*d-c
  46. fldlg2 ;lg(4*d-c)
  47. fstp temp4
  48. fmul word ptr [ebp+12] ;lg(4*d-c)*a
  49. fdiv temp3
  50. next:
  51. pop ebp
  52. ret
  53. _calc ENDP
  54. END

Решение задачи: «Ошибка сборки "unresolved external symbol" при использовании ассемблерной вставки»

textual
Листинг программы
  1. _calc PROC a_:REAL8, c_:REAL4, d_:REAL4

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы