Advertisement
Guest User

Ormatura

a guest
Feb 21st, 2020
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.23 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include "iostream"
  3. #include "cstdlib"
  4. #include "conio.h"
  5. #include "bitset"
  6.  
  7. using namespace std;
  8.  
  9. int menu_item()
  10. {
  11. int variant;
  12. cout << "**************************************************************************************************************************************************************************************************************************************" << endl;
  13. cout << "**** **** ******* ***** ****** *** **** ** ******* ** **** *** ************* **** ** **** **** ********************** ***** *** ***" << endl;
  14. cout << "** ********** ** ****** * ***** ****** ***** ***** ** ******* *** ********** ******* ** *** ** ***** ********** ***** *** ******* ** *** *** ****** ******************* ** *** ** ** ***** **" << endl;
  15. cout << "* *************** ***** ** ***** ****** ***** ******* ** ******** ** ********** ******* ** ** *** ******* ********* ******* ** ******* ** ** **** ******* ****************** **** ** **** *** ***** **" << endl;
  16. cout << "* *************** **** *** ***** ****** ***** ******* ** ******* ** ********** ******* ** * **** ******* **************** *** ******* ** * ***** ************* *********** ******** *** ***" << endl;
  17. cout << "* *************** *** **** ***** ****** ***** ******* ** **** ** ** ***** ******* *************** ***** ******* ** ****** ************* *********** ******** ** ***** **" << endl;
  18. cout << "* *************** ** ***** ***** ****** ***** ******* ** ************ ********** ******* ** * **** ******* ************* ******* ******* ** * ***** ********************************* ******** ** ******* **" << endl;
  19. cout << "* *********** ** * ****** ** ** ***** ** ************ ********** ******* ** ** *** ***** *********** ********* ******* ** ** **** ****** ************************ ******** ** ***** **" << endl;
  20. cout << "*** **** ******* ** ************ *** *** ************ ** ******* ** *** *** *********** ** ******* ** *** **** ************************* ******** *** ***" << endl;
  21. cout << "*************************************************************************************************************************************************************************************************************************************" << endl;
  22.  
  23.  
  24. cout << " Меню \n";
  25. cout << "1. Калькулятор с ассемблерной вставкой\n";
  26. cout << "2. Пусть а и b – однобайтные беззнаковые числа.\nЗагрузить их в регистры АX и BX соответственно.\nПроизвести логическое сложение содержимого регистра АХ и BX.\nВывести полученное число на экран.\n";
  27. cout << "3. ---------------пусто---------------\n";
  28. cout << "4. Выход" << endl;
  29. cout << ">>>";
  30. cin >> variant;
  31. return variant;
  32. }
  33.  
  34. int _tmain(int argc, _TCHAR* argv[])
  35. {
  36. int a, b, rez, actions;
  37.  
  38.  
  39.  
  40. setlocale(LC_ALL, "RUS");
  41.  
  42. int variant = menu_item();
  43.  
  44. switch (variant)
  45. {
  46. case 1:///
  47. cout << "Введите первое число" << endl;
  48. cin >> a;
  49. cout << "Введите второе число" << endl;
  50. cin >> b;
  51. cout << "Выберете операцию" << endl;
  52. cout << "1. Операция сложения\n";
  53. cout << "2. Операция вычитания\n";
  54. cout << "3. Операция умножения\n";
  55. cout << "4. Операция деления\n";
  56. cout << "5. Операция умножение больших чисел\n";
  57.  
  58. cin >> actions;
  59. system("cls");
  60.  
  61. switch (actions)
  62. {
  63. case 1:
  64. // +
  65. _asm
  66. {
  67. mov eax, a
  68. mov ebx, b
  69. add ebx, eax
  70. mov rez, ebx
  71. }
  72. cout << "Результат: ";
  73. cout << rez << endl;
  74. break;
  75. case 2:
  76. // -
  77. _asm
  78. {
  79. mov eax, a
  80. mov ebx, b
  81. sub ebx, eax
  82. neg ebx
  83. mov rez, ebx
  84. }
  85. cout << "Результат: ";
  86. cout << rez << endl;
  87. break;
  88. case 3:
  89. // *
  90. _asm
  91. {
  92. mov eax, a
  93. mov ebx, b
  94. mul ebx
  95. mov rez, eax
  96. }
  97. cout << "Результат: ";
  98. cout << rez << endl;
  99. break;
  100. case 4:
  101. // :
  102. _asm
  103. {
  104. mov edx, 0
  105. mov eax, a
  106. div b
  107. mov rez, eax
  108. }
  109. cout << "Результат: ";
  110. cout << (float)rez << endl;
  111. break;
  112. case 5:
  113. // * больших чисел
  114.  
  115. _asm
  116. {
  117. mov eax, a
  118. mov ebx, b
  119. mul ebx
  120. mov rez, eax
  121. }
  122. cout << "Результат: ";
  123. cout << rez << endl;
  124. default:
  125. cout << "Бан!" << endl;
  126. exit(EXIT_FAILURE);
  127. break;
  128. }
  129. break;
  130. case 2:
  131. cout << "Задание 2\n";
  132.  
  133. break;
  134. case 3:
  135. cout << "Задание 3\n";
  136. break;
  137. case 4:
  138. cout << "Выход\n";
  139. exit(EXIT_SUCCESS);
  140. break;
  141. default:
  142. break;
  143. }
  144.  
  145. _getch();
  146. system("pause");
  147.  
  148. return 0;
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement