Advertisement
Guest User

Untitled

a guest
May 15th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <ctime>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     //lista 2
  9.     // zad1
  10.     /*
  11.     int a = 2;
  12.     int b = 5;
  13.     int wynik;
  14.  
  15.     __asm
  16.     {
  17.         mov eax, a
  18.         add eax, b
  19.         mov wynik, eax
  20.     }
  21.     cout << wynik;
  22.     */
  23.    
  24.     //zad 2 max
  25.     /*
  26.     int a = 5;
  27.     int b = 4;
  28.     int wynik;
  29.  
  30.     __asm
  31.     {
  32.         mov eax, a
  33.         cmp eax, b
  34.         jg koniec
  35.         mov eax, b
  36.         koniec:
  37.         mov wynik, eax
  38.     }
  39.     cout << wynik;
  40.     */
  41.        
  42.     // zad 2 min
  43.     /*
  44.     int a = 5;
  45.     int b = 4;
  46.     int wynik;
  47.    
  48.     __asm
  49.     {
  50.         mov eax, a
  51.         cmp eax, b
  52.         jng koniec
  53.         mov eax, b
  54.         koniec:
  55.         mov wynik, eax
  56.  
  57.     }
  58.     cout << wynik;
  59.     */
  60.  
  61.     // lista 3
  62.     //zad przykład 1
  63.     /*
  64.     // if a<b to odejmowanie
  65.     // b - a
  66.  
  67.     int a = 4;
  68.     int b = 5;
  69.     int x = 0;
  70.     int wynik;
  71.  
  72.     __asm
  73.     {
  74.         mov eax, a
  75.         mov ebx, b
  76.         cmp eax, ebx
  77.         jnl malo
  78.         sub ebx, eax
  79.         mov x, ebx
  80.         malo:
  81.        
  82.     }
  83.     cout << x;
  84.  
  85.     */
  86.  
  87.     //zad 1
  88.  
  89.     // a>b
  90.     // x= b*b* -a
  91.     /*
  92.     int a = 5;
  93.     int b = 4;
  94.     int x = 0;
  95.     int wynik;
  96.  
  97.  
  98.     __asm
  99.     {
  100.         mov eax, b
  101.         cmp a, eax
  102.         JLE malo
  103.         mul eax
  104.         sub eax, a
  105.         mov wynik, eax
  106.         malo:
  107.  
  108.     }
  109.     cout << wynik;
  110.     */
  111.  
  112.  
  113.     //zad 2
  114.     // a>=b
  115.     //x = a*a +b
  116.     //else
  117.     // x = a*a -b
  118.     /*
  119.     int a = 1;
  120.     int b = 2;
  121.     int x = 0;
  122.     int wynik;
  123.    
  124.     __asm
  125.     {
  126.         mov eax, a
  127.         cmp eax, b
  128.         jbe elsee
  129.         mul eax
  130.         add eax, b
  131.         jmp koniec
  132.         elsee:
  133.         mul eax
  134.         sub eax, b
  135.         mov wynik, eax
  136.             koniec:
  137.         mov wynik, eax
  138.     }
  139.     cout << wynik;
  140.     */
  141.  
  142.     //zad 3
  143.     // case
  144.     /*
  145.     int op;
  146.     int x = 6;
  147.  
  148.     cout << "Podaj nr casa: " << endl;
  149.     cin >> op;
  150.     int wynik;
  151.     __asm
  152.     {
  153.         mov ecx, op
  154.         mov eax, x
  155.         cmp ecx, 0
  156.         je case0
  157.         cmp ecx, 1
  158.         je case1
  159.         cmp ecx, 2
  160.         je case2
  161.         jmp zle
  162.     case0:
  163.         mul eax
  164.         jmp stop
  165.     case1:
  166.         mov ebx, x
  167.         sub ebx, 3
  168.         imul eax, ebx
  169.         jmp stop
  170.     case2:
  171.         mov ebx, x
  172.         sub ebx, 5
  173.         imul eax, ebx
  174.         jmp stop
  175.     zle:
  176.         mov eax, 0
  177.     stop:
  178.         mov wynik, eax
  179.     }
  180.     cout << wynik;
  181.     */
  182.    
  183.     //zad4
  184.     /*
  185.     int n = 5   ;
  186.     int silnia = 1;
  187.     __asm
  188.     {
  189.         xor eax, eax
  190.         mov ecx, n
  191.         dec ecx
  192.         petla:
  193.         add eax, ecx
  194.         dec ecx
  195.         jnz petla
  196.  
  197.         mov silnia, eax
  198.     }
  199.     cout << silnia;
  200.     */
  201.    
  202.     /*
  203.     int n = 5;
  204.     int silnia = 1;
  205.  
  206.     __asm
  207.     {
  208.         xor eax, eax
  209.         mov ecx, n
  210.         dec ecx
  211.         petla:
  212.         add eax, ecx
  213.         loop petla
  214.         mov silnia, eax
  215.     }
  216.    
  217.     cout << silnia;
  218.     */
  219.  
  220.     //lista 4
  221.  
  222.     //zad1
  223.     /*
  224.     int n = 4;
  225.     int suma = 0;
  226.     int *tab = new int[n];
  227.     srand(time(0));
  228.     for (int i = 0; i < n; i++)
  229.     {
  230.         tab[i] = rand() % 100;
  231.         cout << tab[i] << "  ";
  232.  
  233.     }
  234.     __asm
  235.     {
  236.         xor eax, eax
  237.         mov ecx, n
  238.         mov esi, tab
  239.         petla:
  240.         add eax, [esi +4*ecx-4]
  241.         loop petla
  242.         mov suma, eax
  243.  
  244.     }
  245.     cout << suma;
  246.     */
  247.    
  248.     //zad2
  249.     /*
  250.     int n = 4;
  251.     int suma = 0;
  252.     int *tab = new int[n];
  253.     srand(time(0));
  254.     for (int i = 0; i < n; i++)
  255.     {
  256.         tab[i] = rand() % 100;
  257.         cout << tab[i] << "  ";
  258.  
  259.     }
  260.     __asm
  261.     {
  262.         xor eax, eax
  263.         mov esi, tab
  264.         mov ecx, n
  265.         petla:
  266.         add eax, [esi+4*ecx-4]
  267.         dec ecx
  268.         jnz petla
  269.         mov suma, eax
  270.     }
  271.     cout << suma;
  272.     */
  273.    
  274.  
  275.     //zad3
  276.     /*
  277.     int n = 4;
  278.     int suma = 0;
  279.     int *tab = new int[n];
  280.     srand(time(0));
  281.     for (int i = 0; i < n; i++)
  282.     {
  283.         tab[i] = rand() % 100;
  284.         cout << tab[i] << "  ";
  285.  
  286.     }
  287.     __asm
  288.     {
  289.         mov esi, tab
  290.         mov ecx, n
  291.         xor eax, eax
  292.         petla:
  293.         mov [esi+4*ecx-4], eax
  294.         loop petla
  295.         mov suma, eax
  296.     }
  297.     cout << suma;
  298.     */
  299.    
  300.     //zad4
  301.     /*
  302.     int n = 4;
  303.     int suma = 0;
  304.     int max = 0;
  305.     int *tab = new int[n];
  306.     srand(time(0));
  307.     for (int i = 0; i < n; i++)
  308.     {
  309.         tab[i] = rand() % 100;
  310.         cout << tab[i] << "  ";
  311.     }
  312.     __asm
  313.     {
  314.         mov esi, tab
  315.         mov ecx, n
  316.         xor eax, eax
  317.         mov eax, [esi+4*ecx-4]
  318.         dec ecx
  319.         petla:
  320.         cmp eax, [esi+4*ecx-4]
  321.         jnc pomin
  322.         mov eax, [esi+4*ecx-4]
  323.             pomin:
  324.         mov max, eax
  325.     }
  326.     cout << max;
  327.     */
  328.     //zad5
  329.     /*
  330.     int n = 4;
  331.     int suma = 0;
  332.     int min = 0;
  333.     int *tab = new int[n];
  334.     srand(time(0));
  335.     for (int i = 0; i < n; i++)
  336.     {
  337.         tab[i] = rand() % 100;
  338.         cout << tab[i] << "  ";
  339.     }
  340.     __asm
  341.     {
  342.         mov esi, tab
  343.         mov ecx, n
  344.         mov eax, [esi + 4 * ecx - 4]
  345.         dec ecx
  346.         petla:
  347.         cmp eax, [esi+4*ecx-4]
  348.         jc pomin
  349.         mov eax, [esi +4*ecx-4]
  350.             pomin:
  351.         mov min, eax
  352.  
  353.     }
  354.     cout << min;
  355.     */
  356.  
  357.     //zad6
  358.     int m = 2
  359.     int n = 2;
  360.     int suma = 0;
  361.     int *tab = new int[n];
  362.     srand(time(0));
  363.     for (int i = 0; i < n; i++)
  364.     {
  365.         tab[i] = rand() % 100;
  366.         cout << tab[i] << "  ";
  367.        
  368.     }
  369.     cout << "\n";
  370.     int *w = new int[n];
  371.     srand(time(0));
  372.     for (int i = 0; i < n; i++)
  373.     {
  374.         w[i] = rand() % 100;
  375.         cout << w[i] << "  ";
  376.        
  377.     }
  378.         __asm
  379.     {
  380.         xor eax, eax
  381.         mov edi, w
  382.         mov esi, tab
  383.         xor ebx, ebx
  384.         mov ecx, n
  385.         petla:
  386.         mov eax, [esi + 4 * ecx -4]
  387.         imul eax, [edi + 4 * edx -4]
  388.         add ebx, eax
  389.         loop petla
  390.         mov suma, ebx
  391.  
  392.  
  393.  
  394.  
  395.  
  396.     }
  397.     cout << suma;
  398.  
  399.     system("pause");
  400.     return 0;
  401. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement