Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main() {
- int a, i = 0; //a - num, i - order
- cout << "Type a: ";
- cin >> a;
- _asm {//count order
- mov eax, a
- beg_ord:
- cmp eax, 0
- jle end_ord
- mov ebx, 10
- xor edx, edx
- cdq
- idiv ebx
- //i++
- mov ebx, i
- add ebx, 1
- mov i, ebx
- jmp beg_ord
- end_ord :
- }
- int l, r;// left and right temp vars
- _asm{
- mov eax, i //--divide i by 2
- mov ebx, 2 //
- xor edx, edx //
- cdq //
- idiv ebx //
- mov i, eax //--
- mov ecx,i
- mov esi, a
- beg_div :
- mov eax, esi
- mov ebx, 10
- xor edx, edx
- cdq
- idiv ebx
- mov r,edx //save right dog
- mov esi,eax //move left side of num
- //10^ecx
- mov edi,ecx //save external loop counter
- mov eax,1
- mov ebx,10
- beg_pow:
- imul ebx
- loop beg_pow
- mov ebx,eax
- mov eax,esi
- xor edx, edx
- cdq
- idiv ebx
- mov l,eax //save left dig
- mov esi,edx
- mov eax,l
- mov ebx,r
- cmp eax,ebx
- jne end_div
- mov ecx,edi //set external loop counter
- loop beg_div
- jmp success_div
- }
- success_div:
- cout << "Num " << a << " Order " << i << " " << l << " " << r << endl;
- system("pause");
- return 0;
- end_div:
- cout << "No " << endl;
- system("pause");
- return 0;
- }
- //mov ebx, ecx //save external while counter
- ////10^ecx-1
- //mov eax, 1
- //mov esi, 10
- //beg_pow_l :
- //imul esi
- //loop beg_pow_l
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement