BG Development


  Reply to this topicStart new topicStart Poll

> Задача на асемблер с масиви и думи, ARM процесор, задачи с два реда условие
RedAnfield
Публикувано на: 23-04-2019, 16:08
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 7
Регистриран на: 23.04.19



Здравейте, ако случайно има някой тук, който разбира от писане на асемблер за АРМ, би ли бил така добър да разясни някоя от следните задачи, тъй като утре имаме контролно, а този език ни го обясняват много куцо в университета:

-Да се напише подпрограма, която да връща в регистър R0 броя на байтовете в масив с начален адрес и брой байтове съответно в регистри R0 и R1 със стойност, равна на байта регистър R2.
-Да се напише подпрограма, която да връща в регистър R0 разликата между броя на неотрицателните и отрицателните елементи на масив от дума с начален адрес и брой думи съответно в регистри R1 и R0.
-Да се напише подпрограма, която да връща в регистър R0 броя на байтовете в масив с начален адрес и брой байтове съответно в регистри R0 и R1, които имат най-старши бит единица.
-Да се напише подпрограма, която да връща в регистър R0 броя на нечетните елементи във втората част на масива(от средата до края) на масив от четен брой думи с начален адрес и брой елементи съответно е регистри R0 и R1.

Ако някой може да обясни една от тези(по възможност с код), да схвана начина, ще е супер. Благодаря предварително.
PMEmail Poster
Top
SuN
Публикувано на: 23-04-2019, 20:24
Quote Post


Group Icon
Име:
Група: Администратор
Ранг: Почетен член

Мнения: 8597
Регистриран на: 27.01.05



За ден не става тая работа. То ако ставаше досега всичкото българи да са станали ИТ да взимат по 10 бона. Факт е, обаче, че не са.
PMEmail Poster
Top
RedAnfield
Публикувано на: 23-04-2019, 22:37
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 7
Регистриран на: 23.04.19



То за ден не става, пък представи си за 45 минути icon_lol.gif Аз нямам и претенции да ставам ИТ на асемблер, просто да ми се маха от главата, хаха. Пък друг е въпросът как се преподава и обяснява, щом търся отговори по форуми.
PMEmail Poster
Top
dvader
Публикувано на: 23-04-2019, 22:41
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 4452
Регистриран на: 12.07.05



QUOTE (RedAnfield @ 23-04-2019, 22:37)
друг е въпросът как се преподава и обяснява

Ами бягай от там, що си губиш времето...


--------------------
I find your lack of faith disturbing
PM
Top
RedAnfield
Публикувано на: 23-04-2019, 22:48
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 7
Регистриран на: 23.04.19



QUOTE (dvader @ 23-04-2019, 22:41)
QUOTE (RedAnfield @ 23-04-2019, 22:37)
друг е въпросът как се преподава и обяснява

Ами бягай от там, що си губиш времето...

Ами говоря специално за този предмет. Иначе почти 3 курс съм вече, за кога да бягам icon_lol.gif Към другите езици нямам кой знае какви забележки при преподаването, ама този по асемблер мисля, че вече е за пенсия, от целия поток сигурно няма един дето да разбира как се решават, това имах предвид. По принцип мразя да ми се дава наготово, аз затова и казах, ако може някой да ми обясни, а не да ми я реши, сигурно хората тук обясняват в пъти по-добре от асистента ни.
PMEmail Poster
Top
AK-85
Публикувано на: 24-04-2019, 00:21
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 787
Регистриран на: 06.07.06



RedAnfield, първата и третата задача вече ги обсъждахме в тази тема. В нея даже можеш да намериш готов шаблон за кода - само трябва да попълниш 5 инструкции (за първата задача). Другите задачи са доста подобни, така че ако се справиш с първата, не би трябвало да са особена трудност.
PM
Top
RedAnfield
Публикувано на: 24-04-2019, 00:30
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 7
Регистриран на: 23.04.19



QUOTE (AK-85 @ 24-04-2019, 00:21)
RedAnfield, първата и третата задача вече ги обсъждахме в тази тема. В нея даже можеш да намериш готов шаблон за кода - само трябва да попълниш 5 инструкции (за първата задача). Другите задачи са доста подобни, така че ако се справиш с първата, не би трябвало да са особена трудност.

Благодаря, разгледах темата, но ние изобщо не сме се занимавали с вектори и тем подобни, така че това решение не ми помага особено, първо защото не мога да го приложа, тъй като не е изучено и второ, не го разбирам.
PMEmail Poster
Top
AK-85
Публикувано на: 24-04-2019, 00:46
Quote Post



Име:
Група: Потребител
Ранг: Старо куче

Мнения: 787
Регистриран на: 06.07.06



Обърни внимание, че векторното решение съдържа и скаларното (т.е. решението без вектори) - причината е, че размерът на масива може да не е кратен на размера на вектора. Но хубаво, ето ти шаблона за скаларно решение:
CODE
     .text
     .align  2
     .global count
     .type   count, %function
count:
     mov     r12, r0
     mov     r0, #0
     cmp     r1, #0
     bxeq    lr

.Lloop:
     # Fill in 5 instructions.

     bx       lr
     .size    count, .-count

В темата буквално са написани конкретните инструкции, които трябва да използваш, като трябва да добавиш още 3 за зареждане от паметта и контрол на цикъла.
PM
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0