Preskoči na glavno vsebino
Učilnica FRI 23/24
  • Domov
  • Več
Zapri
Preklopi iskalni vnos
Slovenščina ‎(sl)‎
English ‎(en)‎ Slovenščina ‎(sl)‎ Македонски ‎(mk)‎ Русский ‎(ru)‎ 한국어 ‎(ko)‎
Trenutno uporabljate gostujoči dostop
Prijavite se
Domov
Course Activities
Forumi Kvizi Naloge Viri
Nedavno dostopani predmeti
You are not enrolled in any courses
  1. ra
  2. Neobvezne dodatne naloge za utrjevanje

Neobvezne dodatne naloge za utrjevanje

Zahteve zaključka
Rok za oddajo: sreda, 3. januar 2024, 23.56
1. Podana je tabela, v kateri je 14 8-bitnih vrednosti:

    TABELA: .byte 1,100,255,24,88,31,56,192,155,224, 0, 101, 199, 47

    a) Napišite program, ki v zanki vse elemente tabele, ki so pozitivni, postavi na -1.
    b) Napišite program, ki v zanki vse elemente tabele, ki so pozitivni, negira (npr. iz 10 spremeni na -10).
    c) Napišite program, ki v zanki vse elemente tabele, ki so vecji ali enaki -48 in manjši od 48 (predznačeno!) postavi na 0.

2. Z uporabo pogojnih skokov napišite programa, ki ustreza naslednjemu navodilu:
IF A<10 THEN B=B-1
IF A=10 THEN B=B+1
IF A>10 THEN B=B+2
A in B sta 16-bitni predznačeni spremenljivki.


3. Z uporabo pogojnih skokov napišite program, ki ustreza naslednjemu navodilu:
IF A=10 THEN
B=B+1
ELSE B=B+2
A in B sta 16-bitni predznačeni spremenljivki.

4. Nalogi 2. in 3. rešite s pogojnim izvajanjem ukazov.


5. Z uporabo pogojnega izvajanja ukazov napišite program za iskanje največjega skupnega delitelja (Evklidov algoritem) na
naslednji način (podoben potek algoritma smo obravnavali na vajah) :
ZANKA: PRIMERJAJ r1 in r2
IF r1 > r2 THEN R1=R1-R2 ELSE
    IF r1 < r2 THEN R2=R2-R1

IF r1 != r2 THEN GOTO ZANKA


6. Rezervirajte prostor za tabelo 15 32-bitnih elementov. Nato v programski zanki elemente izmenično postavljajte na 1, 0 in -1 (prvi element na 1, drugi na 0, tretji na -1, četrti spet na 1, ...). Program naredite tako, da v register pred zanko naložite konstanto 1 in ga po vsakem vpisu v tabelo zmanjšate za 1. Ko vpišete vrednost -1, register spet postavite na 1 itn.


----------------------------------------------------
----------------------------------------------------

1. The following table is given, containing 14 8-bit long values:

    TABLE: .byte 1,100,255,24,88,31,56,192,155,224, 0, 101, 199, 47

    a) Write a program in ARM assembly in which, inside a loop, all positive elements of the table are set to -1.
    b) Write a program in ARM assembly in which, inside a loop, all positive elements of the table are negated (i.e. 10 -> -10).
    c) Write a program in ARM assembly in which, inside a loop, all elements that are contained in the interval [-48,48[ are set to 0..


2. Implement the following IF-THEN expression using conditional branches:
    a)  IF A<10 THEN B=B-1
    b)  IF A=10 THEN B=B+1
    c)  IF A>10 THEN B=B+2

    A and B are 16-bits signed variables.


3. Using conditional branches, implement the following code in ARM assembly:
  IF A=10 THEN
      B=B+1
  ELSE
      B=B+2

  A and B are 16-bits signed variables..

 
4. Solve the 2nd and 3rd problem with the aid of conditional instruction execution.


5. Using conditional instruction execution write a program for finding the great common divisor (GCD) of two unsigned numbers according to the Euclide algorithm:

LOOP: @ compare r1 and r2
    IF r1 > r2 THEN
  R1=R1-R2
ELSE
      IF r1 < r2 THEN
          R2=R2-R1

    IF r1 != r2 THEN
      GOTO LOOP


6. Reserve the memory space for a table containing 15 32-bits elements. Within a program loop set sequentially the elements to the values 1, 0 and -1 respectively (eg. the first element of the table is set to 1, the second to 0, the third to -1, the fourth to 1, etc.). Write the program in the way so that by writting in a register, before entering the loop, the value 1, at each loop cycle, this value would be decreased by one. When the value -1 is reached, the same register should be reset to the value 1, and so on...


◄ Sprotne naloge 10
Praktična naloga: utripanje LED diode na sistemu ARM FRI-SMS (kopiraj) ►
Trenutno uporabljate gostujoči dostop (Prijavite se)
Pridobi mobilno aplikacijo Obvestilo o avtorskih pravicah
Stran poganja Moodle