Advertisement
Guest User

Untitled

a guest
Apr 25th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. // ConsoleApplication7.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
  2. //
  3.  
  4.  
  5. #include "pch.h"
  6. #include <iostream>
  7. #include <conio.h>
  8. using namespace std;
  9.  
  10. void main()
  11. {
  12. setlocale(LC_ALL, "rus");
  13. int a, b, b2, c, D, p, x1, x2, x,D1;
  14. printf("Введите a ");
  15. scanf_s("%i", &a);
  16. printf("Введите b ");
  17. scanf_s("%i", &b);
  18. printf("Введите c ");
  19. scanf_s("%i", &c);
  20. _asm {
  21.  
  22. mov eax, b //Возведение в b^2
  23. mov ebx, eax
  24. mov ecx, 1
  25. m1:
  26. mul ebx
  27. inc ecx
  28. cmp ecx, 2
  29. jb m1
  30. mov b2, eax //b2 это b^2
  31. mov ecx, a// вычисление 4*a*c
  32. mov edx, c
  33. imul ecx, edx
  34. imul ecx, 4
  35. mov p, ecx //p это 4*a*c
  36. sub eax, ecx //вычисление дискриминанта
  37. mov D, eax
  38. cmp D, 0
  39. je nol
  40. jg nenol
  41. nol :
  42. mov eax, b
  43. mov ebx, a
  44. imul eax, -1
  45. imul ebx, 2
  46. cdq
  47. idiv ebx
  48. mov x, eax
  49. nenol :
  50. finit //Вычисление корня
  51. fild D
  52. fsqrt
  53. fistp D1//
  54. mov eax, b //Вычисление x1
  55. mov ebx, a
  56. imul eax, -1
  57. imul ebx, 2
  58. add eax,D1
  59. cdq
  60. idiv ebx
  61. mov x1,eax //
  62. mov eax, b //Вычисление x2
  63. mov ebx, a
  64. imul eax, -1
  65. imul ebx, 2
  66. sub eax, D1
  67. cdq
  68. idiv ebx
  69. mov x2,eax //
  70.  
  71. }
  72. printf("Дискриминант: %i\n", D);
  73. if (D == 0) {
  74. printf("x = %i", x);
  75. }
  76. if (D>0) {
  77. printf("x1 = %i\n", x1);
  78. printf("x2 = %i\n", x2);
  79. }
  80. if (D < 0) {
  81. printf("Дискриминант меньше нуля");
  82. }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement