Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <ctime>
- using namespace std;
- int main()
- {
- //lista 2
- // zad1
- /*
- int a = 2;
- int b = 5;
- int wynik;
- __asm
- {
- mov eax, a
- add eax, b
- mov wynik, eax
- }
- cout << wynik;
- */
- //zad 2 max
- /*
- int a = 5;
- int b = 4;
- int wynik;
- __asm
- {
- mov eax, a
- cmp eax, b
- jg koniec
- mov eax, b
- koniec:
- mov wynik, eax
- }
- cout << wynik;
- */
- // zad 2 min
- /*
- int a = 5;
- int b = 4;
- int wynik;
- __asm
- {
- mov eax, a
- cmp eax, b
- jng koniec
- mov eax, b
- koniec:
- mov wynik, eax
- }
- cout << wynik;
- */
- // lista 3
- //zad przykład 1
- /*
- // if a<b to odejmowanie
- // b - a
- int a = 4;
- int b = 5;
- int x = 0;
- int wynik;
- __asm
- {
- mov eax, a
- mov ebx, b
- cmp eax, ebx
- jnl malo
- sub ebx, eax
- mov x, ebx
- malo:
- }
- cout << x;
- */
- //zad 1
- // a>b
- // x= b*b* -a
- /*
- int a = 5;
- int b = 4;
- int x = 0;
- int wynik;
- __asm
- {
- mov eax, b
- cmp a, eax
- JLE malo
- mul eax
- sub eax, a
- mov wynik, eax
- malo:
- }
- cout << wynik;
- */
- //zad 2
- // a>=b
- //x = a*a +b
- //else
- // x = a*a -b
- /*
- int a = 1;
- int b = 2;
- int x = 0;
- int wynik;
- __asm
- {
- mov eax, a
- cmp eax, b
- jbe elsee
- mul eax
- add eax, b
- jmp koniec
- elsee:
- mul eax
- sub eax, b
- mov wynik, eax
- koniec:
- mov wynik, eax
- }
- cout << wynik;
- */
- //zad 3
- // case
- /*
- int op;
- int x = 6;
- cout << "Podaj nr casa: " << endl;
- cin >> op;
- int wynik;
- __asm
- {
- mov ecx, op
- mov eax, x
- cmp ecx, 0
- je case0
- cmp ecx, 1
- je case1
- cmp ecx, 2
- je case2
- jmp zle
- case0:
- mul eax
- jmp stop
- case1:
- mov ebx, x
- sub ebx, 3
- imul eax, ebx
- jmp stop
- case2:
- mov ebx, x
- sub ebx, 5
- imul eax, ebx
- jmp stop
- zle:
- mov eax, 0
- stop:
- mov wynik, eax
- }
- cout << wynik;
- */
- //zad4
- /*
- int n = 5 ;
- int silnia = 1;
- __asm
- {
- xor eax, eax
- mov ecx, n
- dec ecx
- petla:
- add eax, ecx
- dec ecx
- jnz petla
- mov silnia, eax
- }
- cout << silnia;
- */
- /*
- int n = 5;
- int silnia = 1;
- __asm
- {
- xor eax, eax
- mov ecx, n
- dec ecx
- petla:
- add eax, ecx
- loop petla
- mov silnia, eax
- }
- cout << silnia;
- */
- //lista 4
- //zad1
- /*
- int n = 4;
- int suma = 0;
- int *tab = new int[n];
- srand(time(0));
- for (int i = 0; i < n; i++)
- {
- tab[i] = rand() % 100;
- cout << tab[i] << " ";
- }
- __asm
- {
- xor eax, eax
- mov ecx, n
- mov esi, tab
- petla:
- add eax, [esi +4*ecx-4]
- loop petla
- mov suma, eax
- }
- cout << suma;
- */
- //zad2
- /*
- int n = 4;
- int suma = 0;
- int *tab = new int[n];
- srand(time(0));
- for (int i = 0; i < n; i++)
- {
- tab[i] = rand() % 100;
- cout << tab[i] << " ";
- }
- __asm
- {
- xor eax, eax
- mov esi, tab
- mov ecx, n
- petla:
- add eax, [esi+4*ecx-4]
- dec ecx
- jnz petla
- mov suma, eax
- }
- cout << suma;
- */
- //zad3
- /*
- int n = 4;
- int suma = 0;
- int *tab = new int[n];
- srand(time(0));
- for (int i = 0; i < n; i++)
- {
- tab[i] = rand() % 100;
- cout << tab[i] << " ";
- }
- __asm
- {
- mov esi, tab
- mov ecx, n
- xor eax, eax
- petla:
- mov [esi+4*ecx-4], eax
- loop petla
- mov suma, eax
- }
- cout << suma;
- */
- //zad4
- /*
- int n = 4;
- int suma = 0;
- int max = 0;
- int *tab = new int[n];
- srand(time(0));
- for (int i = 0; i < n; i++)
- {
- tab[i] = rand() % 100;
- cout << tab[i] << " ";
- }
- __asm
- {
- mov esi, tab
- mov ecx, n
- xor eax, eax
- mov eax, [esi+4*ecx-4]
- dec ecx
- petla:
- cmp eax, [esi+4*ecx-4]
- jnc pomin
- mov eax, [esi+4*ecx-4]
- pomin:
- mov max, eax
- }
- cout << max;
- */
- //zad5
- /*
- int n = 4;
- int suma = 0;
- int min = 0;
- int *tab = new int[n];
- srand(time(0));
- for (int i = 0; i < n; i++)
- {
- tab[i] = rand() % 100;
- cout << tab[i] << " ";
- }
- __asm
- {
- mov esi, tab
- mov ecx, n
- mov eax, [esi + 4 * ecx - 4]
- dec ecx
- petla:
- cmp eax, [esi+4*ecx-4]
- jc pomin
- mov eax, [esi +4*ecx-4]
- pomin:
- mov min, eax
- }
- cout << min;
- */
- //zad6
- int m = 2
- int n = 2;
- int suma = 0;
- int *tab = new int[n];
- srand(time(0));
- for (int i = 0; i < n; i++)
- {
- tab[i] = rand() % 100;
- cout << tab[i] << " ";
- }
- cout << "\n";
- int *w = new int[n];
- srand(time(0));
- for (int i = 0; i < n; i++)
- {
- w[i] = rand() % 100;
- cout << w[i] << " ";
- }
- __asm
- {
- xor eax, eax
- mov edi, w
- mov esi, tab
- xor ebx, ebx
- mov ecx, n
- petla:
- mov eax, [esi + 4 * ecx -4]
- imul eax, [edi + 4 * edx -4]
- add ebx, eax
- loop petla
- mov suma, ebx
- }
- cout << suma;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement