Advertisement
Kocyk

Kartkówka hla (na 4)

Nov 13th, 2019
742
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. program calc;
  2.     #include ("stdlib.hhf");
  3.     static
  4.         znak: char;
  5.         a: int32;
  6.         b:    int32;
  7.     begin calc;
  8.         stdout.put("Wprowadz pierwsza liczbe ");
  9.         stdin.get(a);
  10.         stdout.put("Wprowadz druga    liczbe ");  
  11.         stdin.get(b);
  12.         mov(0,EAX);
  13.         mov(0,EDX);
  14.         ///////////////////////////////////////
  15.         mov(a,EAX);
  16.         add(b,EAX);
  17.         stdout.put("Suma a + b:");
  18.         stdout.puti32(EAX);
  19.        
  20.         ////////////////////////////////
  21.         mov(a,EAX);
  22.         sub(b,EAX);
  23.         stdout.newln();
  24.         stdout.put("Roznica a - b ");
  25.         stdout.puti32(EAX);
  26.         ////////////////////////////////////
  27.         cdq();
  28.         stdout.newln();
  29.         mov(a,EAX);
  30.         imul(b);
  31.         stdout.put("Iloczyn a * b: ");
  32.         stdout.puti64(EDX:EAX);
  33.         //////////////////////////////////////////
  34.         cdq();
  35.         if(b<0)then
  36.        
  37.             not(b);
  38.             add(1,b);
  39.             //stdout.newln();
  40.             //stdout.put(a);
  41.             mov(a,EAX);
  42.             idiv    (b);
  43.             stdout.newln();
  44.             stdout.put("Iloraz a/b: -");
  45.             stdout.puti32(EAX);
  46.             stdout.put(" reszta: ");
  47.             stdout.puti32(EDX);
  48.             mov(0,EDX:EAX);
  49.             sub(1,b);
  50.             not(b);
  51.            
  52.         elseif(b=0) then
  53.             stdout.newln();
  54.             stdout.put("Nie dzieli sie przez 0");
  55.  
  56.             elseif(b>0) then
  57.         stdout.newln();
  58.         mov(a,EAX);
  59.         idiv(b);
  60.         stdout.put("Iloraz a/b: ");
  61.         stdout.puti32(EAX);
  62.         stdout.put(" reszta: ");
  63.         stdout.puti32(EDX);
  64.         endif;
  65.        
  66.         //////////////////////////////////////////////////////
  67.         stdout.newln();  
  68.        
  69.         mov(a,EAX);
  70.         if(b=0) then
  71.             mov(1,EAX);
  72.             stdout.puti32(EAX);
  73.         elseif(b>0) then
  74.        
  75.         while(b>1) do
  76.             imul(a);
  77.             sub(1,b);
  78.             endwhile;  
  79.         stdout.put("a^b : ");
  80.         stdout.puti32(EAX);
  81.         elseif(b<0) then
  82.             not(b);
  83.             add(1,b);
  84.             //stdout.put(b);
  85.             while(b>1) do
  86.             imul(a);
  87.             sub(1,b);
  88.             endwhile;  
  89.         stdout.put("a^b : -1/");
  90.         stdout.puti32(EAX);
  91.         endif;
  92.        
  93.  
  94.        
  95.     end calc;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement