Advertisement
YauhenMardan

Untitled

May 9th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main() {
  6. int a, i = 0; //a - num, i - order
  7. cout << "Type a: ";
  8. cin >> a;
  9. _asm {//count order
  10. mov eax, a
  11. beg_ord:
  12. cmp eax, 0
  13. jle end_ord
  14. mov ebx, 10
  15. xor edx, edx
  16. cdq
  17. idiv ebx
  18. //i++
  19. mov ebx, i
  20. add ebx, 1
  21. mov i, ebx
  22. jmp beg_ord
  23. end_ord :
  24. }
  25. int l, r;// left and right temp vars
  26. _asm{
  27. mov eax, i //--divide i by 2
  28. mov ebx, 2 //
  29. xor edx, edx //
  30. cdq //
  31. idiv ebx //
  32. mov i, eax //--
  33. mov ecx,i
  34. mov esi, a
  35. beg_div :
  36. mov eax, esi
  37. mov ebx, 10
  38. xor edx, edx
  39. cdq
  40. idiv ebx
  41. mov r,edx //save right dog
  42. mov esi,eax //move left side of num
  43. //10^ecx
  44. mov edi,ecx //save external loop counter
  45. mov eax,1
  46. mov ebx,10
  47. beg_pow:
  48. imul ebx
  49. loop beg_pow
  50. mov ebx,eax
  51. mov eax,esi
  52. xor edx, edx
  53. cdq
  54. idiv ebx
  55. mov l,eax //save left dig
  56. mov esi,edx
  57.  
  58. mov eax,l
  59. mov ebx,r
  60. cmp eax,ebx
  61. jne end_div
  62.  
  63. mov ecx,edi //set external loop counter
  64. loop beg_div
  65. jmp success_div
  66. }
  67. success_div:
  68. cout << "Num " << a << " Order " << i << " " << l << " " << r << endl;
  69. system("pause");
  70. return 0;
  71. end_div:
  72. cout << "No " << endl;
  73. system("pause");
  74. return 0;
  75. }
  76.  
  77. //mov ebx, ecx //save external while counter
  78.  
  79. ////10^ecx-1
  80. //mov eax, 1
  81. //mov esi, 10
  82. //beg_pow_l :
  83. //imul esi
  84. //loop beg_pow_l
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement