Advertisement
alexx876

Untitled

Dec 19th, 2018
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. #include <iostream>
  2. #include <Windows.h>
  3. #include <locale>
  4.  
  5. using namespace std;
  6.  
  7. inline int y2(int a, int x) {
  8. int c;
  9.  
  10. __asm { //ассемблерная функция
  11. mov edx, a // помещение в регистр еdх значения переменной a
  12. cmp edx, 3 // если a > 3
  13.  
  14. jnbe m2
  15.  
  16.  
  17. mov c, 11
  18.  
  19. jmp EndOfIf1 //Переходим в конец
  20.  
  21. m2:
  22. mov edx, a
  23. imul edx, 3
  24. mov c, edx
  25.  
  26. EndOfIf1:
  27. }
  28.  
  29. return c;
  30. }
  31.  
  32. inline int y1(int a, int x) {
  33. int c;
  34.  
  35. __asm { //ассемблерная функция
  36. mov edx, x // помещение в регистр еdх значения переменной x
  37. cmp edx, a // если x > a
  38.  
  39. JG m1
  40.  
  41. mov eax, a
  42. sub eax, 7
  43. mov c, eax
  44.  
  45. jmp EndOfIf //Переходим в конец
  46.  
  47. m1 :
  48. mov edx, x
  49. INVERT: NEG edx
  50. JS INVERT
  51.  
  52. add edx, a
  53. mov c, edx
  54. EndOfIf :
  55. }
  56.  
  57. return c;
  58. }
  59.  
  60. int main() {
  61. setlocale(LC_ALL, "ru");
  62. int x, a;
  63.  
  64. do {
  65. cout << "Введите x: ";
  66. cin >> x;
  67. } while (!x);
  68.  
  69. do {
  70. cout << "Введите a: ";
  71. cin >> a;
  72. } while (!a);
  73.  
  74. cout << y1(a, x) - y2(a, x) << endl;
  75.  
  76. system("pause");
  77.  
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement