YauhenMardan

UP_asm_2.1

May 20th, 2018
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. short int a, b, answ;
  8. cout << "Type a" << endl;
  9. cin >> a;
  10. cout << "Type b" << endl;
  11. cin >> b;
  12. _asm {
  13. mov ax,a
  14. mov bx,b
  15. cmp ax,bx
  16. je EQL
  17. //{
  18. jl LESS
  19. ///{
  20. mov cx,ax
  21. imul cx
  22. imul cx
  23. sub ax,5
  24. cdq
  25. idiv bx
  26. mov answ,ax
  27. jmp SKIP
  28. ///}
  29. LESS:
  30. ///{
  31. add ax, 1
  32. mov cx, ax
  33. mov ax, bx
  34. cdq
  35. idiv cx
  36. mov answ, ax
  37. jmp SKIP
  38. ///}
  39. //}
  40. EQL:
  41. //{
  42. mov ax, 4
  43. mov answ, ax
  44. //}
  45. SKIP:
  46. }
  47. cout << "Answer: " << answ << endl;
  48. system("pause");
  49. return 0;
  50. }
  51.  
  52. ////
  53.  
  54. #include <iostream>
  55.  
  56. using namespace std;
  57.  
  58. int main()
  59. {
  60. int a, b, answ;
  61. cout << "Type a" << endl;
  62. cin >> a;
  63. cout << "Type b" << endl;
  64. cin >> b;
  65. _asm {
  66. mov eax, a
  67. mov ebx, b
  68. cmp eax, ebx
  69. je EQL
  70. //{
  71. jl LESS
  72. ///{
  73. mov ecx, eax
  74. imul ecx
  75. imul ecx
  76. sub eax, 5
  77. cdq
  78. idiv ebx
  79. mov answ, eax
  80. jmp SKIP
  81. ///}
  82. LESS :
  83. ///{
  84. add eax, 1
  85. mov ecx, eax
  86. mov eax, ebx
  87. cdq
  88. idiv cx
  89. mov answ, eax
  90. jmp SKIP
  91. ///}
  92. //}
  93. EQL :
  94. //{
  95. mov eax, 4
  96. mov answ, eax
  97. //}
  98. SKIP :
  99. }
  100. cout << "Answer: " << answ << endl;
  101. system("pause");
  102. return 0;
  103. }
Advertisement
Add Comment
Please, Sign In to add comment