Re: ponudjena resenja zadataka koji su bili nejasni
--- On Tue, 8/31/10, nikola ajdukovic <nikolaajdukovic@yahoo.com> wrote:
From: nikola ajdukovic <nikolaajdukovic@yahoo.com>
Subject: [ir3sp] ponudjena resenja zadataka koji su bili nejasni
To: ir3sp@rti.etf.rs
Date: Tuesday, August 31, 2010, 12:04 AM
Ovde sam postavio nekoliko zadataka
za koje ja i kolege sa kojima saradjujem nismo
sigurni sta bi bio odgovor sa
tacnoscu 100%. Da li mozete postaviti odgovore na ta pitanja?
Januar
2009 zad 4
4.[10] Дефинисати сегмент стека у нотацији x86 асемблерa.
stek
SEGMENT STACK 'STACK'
DW
1000 DUP (?) ;rezervisanje
1000 rijeci za potrebe steka
stek
ENDSok
Septembar
2009 zad 2
2.15 Задат је асемблерски програм за хипо машину. Симбол А је
дефинисан у другом модулу као апсолутни симбол са вредношћу 5. Инструкције LDA
и ADD кодирају се свака са две речи, од којих друга реч представља адресно поље
инструкције. Асемблер је проширен литералним константама (синтакса је =konst).
За сваку од следећих величина навести најранији тренутак када је могла бити
израчуната њена финална вредност (први пролаз асемблера, други пролаз,
повезивање или пуњење) и колико износи та вредност.
ORG 100
USE A
B: LDA =A
ADD =B
END
а) адреса друге речи LDA инструкције //pri povezivanju
б) садржај друге речи LDA инструкције //pri
punjenju
ц) садржај друге речи ADD инструкције //u prvom prolazu
д) почетна адреса зоне литерала // nemamo ideju
е) садржај друге
локације зоне литерала// nemamo ideju
Ako uzmemo da ce ovaj kod biti ucitan pocev od adrese 100 zbog ORG 100, da ce bazen literala biti alociran nezavisno od navedenog koda (u toku asembliranja ce biti generisan zaseban segment koji ce predstavljati bazen literala), i da se simbolicki literali dodaju nakon prvog prolaza, onda su odgovori sledeci:a) prvi prolaz
b) punjenje (isto kao pod d jer je to adresa u zoni literala)
c) punjenje (isto kao pod d jer je to adresa u zoni literala)
d) punjenje (ovaj odgovor je mogao biti i kraj prvog prolaza ako bi se pretpostavilo da se bazen literala nadovezuje iza prethodnog koda)
e) (vrijednost simbola B) kraj prvog prolaza.
Februar
2008 zad 3
3. а)[6] За све сегменте датих модула навести почетне адресе
после повезивања и пуњења у меморију.
0:common levog dela
5:common desnog dela
7:txt levog dela
8:txt desnog dela
9:dat desnog dela
10:bss levog dela
I zavrsava se na adresi 14.
COMMON iz oba modula pocinje na istoj adresi, a veliki je koliko najveci. Nakon toga redjate ostale segmente. Imate slican primjer dat na vjezbama i prikazan slikom.
б)[6] Навести адресе и садржаје
релевантног дела меморије после повезивања и пуњења датих модула.
Sta ovde treba ici? Da li kod DC M je vrednost Ma nula a L
je sest?Imate primjer na vjezbama, tamo gdje se trazi izgled masinskog koda. Vrijednost za M je 0, A za L cete izracunati kada ponovo rijesite prethodnu tacku.
BEG
COMMON
M(5)
TXT
DC M
BSS
L:
DS 4
END
BEG
COMMON K(2)
TXT
DC 3
DAT
DC K
END
Februar
2008 zad 4 4.[6] Алгоритам емулатора хипотетичке машине.
Da
li se ovo odnosi na fajl hipotetickog racunara ? Tamo su opisane samo structure
ali
gde se nalazi sam opis algoritma?Ove godine je to zamijenjeno za mini86 emulatorom.
Februar
2009 zad 1
1. [10] Написати у x86 асемблеру потпрограм MNOZI који прима 16-битне целобројне параметре М и N преко стека, а рачуна њихов производ који враћа у
регистру AX.
Напомена: дозвољено је користити x86 инструкцију MUL src, са значењем: (DX:AX) ¬ AX * src као и друге инструкције x86 процесора обрађене на вежбама. Претпоставити да је
резултат множења увек такав да комплетан стаје само у регистар AX.
mul PROC
push
EBP
mov
EBP,ESP
mov
AX,[EBP + 6]
mul
[EBP + 8]
pop
EBP
ret
mul
ENDP
Pogledajte u materijalima kako se prenose parametri. Sada govorimo o 386 asembleru, a ne 8086. Prvi parametar je na pomjeraju +8, drugi na +12 itd. Ovo vazi cak i kada su operandi manji, s tim da je u duploj rijeci iskoriscen samo dio.
Februar
2009 zad 2
2. [10] Навести све измене у структурама података и
основном алгоритму емулатора уколико се на улазу уместо апсолутизованог
машинског програма налази извршни програм у школском формату код кога су
секције симбола и релокација празне. Емулатор треба да пријави грешку уколико
програм не поштује дефинисана права приступа појединим сегментима.
Ovo je pitanje na koje sami treba da odgovorite. Jedino sto vam nedostaje je osnovni algoritam emulacije za hypo masinu. Za vjezbu mozete prvo osmisliti osnovni algoritam, pa cete vidjeti na sta se odnosilo ovo pitanje.
Pozdrav,Sasa
Nemamo pojma gde u predavanjima naci odgovor. Posto se mesa
emulator sa predmetnim programom.
-----Inline Attachment Follows-----
-----------------------------------------------------------------
unsubscribe:
minimalist@rti.etf.rs?subject=unsubscribe%20ir3sp
-----------------------------------------------------------------
- References:
- ponudjena resenja zadataka koji su bili nejasni
- From: nikola ajdukovic <nikolaajdukovic@yahoo.com>
- ponudjena resenja zadataka koji su bili nejasni
Previous by date: ponudjena resenja zadataka koji su bili nejasni
Next by date: Raspored za odbranu
Previous by thread: ponudjena resenja zadataka koji su bili nejasni Next by thread: Raspored za odbranu
Previous by thread: ponudjena resenja zadataka koji su bili nejasni Next by thread: Raspored za odbranu