Advertisement
Paszta

Niskopoziomowe lab5 tablica

Nov 5th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. 1.
  2. program tablica;
  3. #include("stdlib.hhf");
  4.  
  5. static
  6. tablica1: int32[10]:=[0,1,2,3,4,5,6,7,8,9]; // liczby sa 1-bitowe wiec trzeba
  7. tablica2: int8[10]:=[0,1,2,3,4,5,6,7,8,9]; // je domnozyc zeby byly 4bitowe (jak 32)
  8. wybor: int32; // lub 2bitowe (jak 16)
  9. begin tablica;
  10. stdout.put("Podaj indeks elementu ktory chcesz wyswietlic", nl);
  11. stdin.get(wybor);
  12. mov(wybor,eax); // zawsze rejestr rozszerzony
  13. stdout.put("Wartosc z 1 tablicy: ", tablica1[eax*4], nl);
  14. stdout.put("Wartosc z 2 tablicy: ", tablica2[eax], nl);
  15. end tablica;
  16.  
  17. 2. ale dziala na dobre slowo
  18. program mnozenie;
  19. #include("stdlib.hhf");
  20. static
  21. a: int8:= 8;
  22. begin mnozenie;
  23. mov(a,al);
  24. shl(4,al); //przemnaza 8 razy 2 do potegi podanej na pierwszym miejscu shl
  25. mov(al,a);
  26. stdout.put(a, nl);
  27. mov(a,al);
  28. shr(1,al);
  29. mov(al,a);
  30. stdout.put(a, nl);
  31.  
  32. end mnozenie;
  33.  
  34. 3. Tablica dwuwymiarowa
  35.  
  36. program dwutablica;
  37. #include("stdlib.hhf");
  38.  
  39. static
  40. tablica1: int32[1,4,8]:=[1,2,3,4,5,6,7,8,
  41. 9,10,11,12,13,14,15,16,
  42. 17,18,19,20,21,22,23,24,
  43. 25,26,27,28,29,30,31,32];
  44. kolumna: int32;
  45. wiersz: int32;
  46. c: int32;
  47. begin dwutablica;
  48. stdout.put("Podaj kolumne ktora chcesz wyswietlic", nl);
  49. stdin.get(kolumna);
  50. dec(kolumna);
  51. stdout.put("Podaj wiersz ktory chcesz wyswietlic", nl);
  52. stdin.get(wiersz);
  53. dec(wiersz);
  54. mov(wiersz, eax);
  55. intmul(8, eax);
  56. add(kolumna, eax);
  57.  
  58. stdout.put(" Wybrany element ma wartosc: ", tablica1[eax*4], nl);
  59.  
  60. end dwutablica;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement