Úlohy – Assembler – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Úlohy – Assembler – Fórum – Programujte.comÚlohy – Assembler – Fórum – Programujte.com

 

ukulele
~ Anonymní uživatel
111 příspěvků
21. 11. 2014   #1
-
0
-

Cavte vedel by mi niekto vysvetlit ako vyriesim tieto ulohy? Dakujem.

1. Aký bude obsah bajtu na offsete 200h v dátovom segmente po vykonaní nasledujúcich inštrukcií?

                mov bx, 200h

                mov ax, 32ABh

                inc ax

                mov [bx], ax

2. V inštrukcii mov al, [.] sa v hranatej zátvorke nemôže vyskytovať register

Vyberte jednu odpoveď:                  • A. SI

                                                        • B. BX

                                                        • C. DX

                                                        • D. DI

3. Je deklarovaná premenná R DB ´abcd´. Čo vypíše nasledujúca postupnosť inštrukcií?

                mov di, 1

                mov dl, [R+di]

                dec di

                inc dl

                mov ah, 2

                int 21h

4. Aké číslo (v desiatkovej sústave) bude v registri AX po vykonaní nasledujúcej postupnosti inštrukcií?

                mov ah, 2

                mov bh, 3

                add ah, bh

                add ah, bh

                mov al, 2

5. Sú deklarované premenné:

                DATA

                Data1 DB 0

                Data2 DB 2

                Data3 DB 4

Čo bude v BX po vykonaní nasledujúcich inštrukcií?

                mov al, 2

                mov bx, offset Data1

                mov [bx], al

6. Predpokladajte, že pamäťové miesta 200h a 201h obsahujú čísla 12h a 34h. (Uvedené adresy chápte

ako offset v dátovom segmente.) Čo bude v registri AH po vykonaní nasledujúcich inštrukcií?

                mov bx, 200h

                mov di, 1

                mov ax, 10Ah

                add ah, [bx+di]

Nahlásit jako SPAM
IP: 178.40.89.–
ukulele
~ Anonymní uživatel
111 příspěvků
22. 11. 2014   #2
-
0
-

Odpovede mam 1. ACh, 2. c, 3. 2050, 4. 0, 5. 35h len neviem postup

Nahlásit jako SPAM
IP: 178.40.12.–
ukulele
~ Anonymní uživatel
111 příspěvků
23. 11. 2014   #3
-
0
-

Tu je moje riesenie tychto uloh co robim pri nich zle?

Co robim v tychto krokoch zle ze mi vychadzaju zle vysledky?
Pri 3. ulohe
mov di, 1; ulozim do registra di 1
mov dl, [R+di]; ulozim do dl b
dec di; znizim di o 1 cize v nom bude 0
inc dl; zvysim dl o 1 potom tam bude c?
mov ah, 2; ulozim do ah 2 naco ho tam ukladam?
int 21h; tento prikaz spravi co? Meni vysledok?

Ma vyjst c

Pri 4. ulohe
mov ah, 2; ulozim do ah 2
mov bh, 3; ulozim do bh 3
add ah, bh; pripocitam k 2 cislo 3 co je 5
add ah, bh; pripocitam k 5 cislo 3 co je 8
mov al, 2; ulozim do al cislo 2
Spocitam ah+al a vyjde 82 a ma vyjst 2050 preco?

Pri 5. ulohe
DATA
Data1 DB 0
Data2 DB 2
Data3 DB 4
Čo bude v BX po vykonaní nasledujúcich inštrukcií?
mov al, 2; ulozim do al 2
mov bx, offset Data1; ulozim do bx 0
mov [bx], al; ulozim do bx 2 a vyjde mi 2 no ma vyjst 0

Pri 6. ulohe
mov bx, 200h; ulozim do bx 200
mov di, 1; ulozim do di 1
mov ax, 10Ah; ulozim do ax 10A to rozdelim na ah=1 a al=0A
add ah, [bx+di]; pripocitam k 1 cislo 201 cize 202 co je zle a ma vyjst 36

Nahlásit jako SPAM
IP: 158.193.102.–
svoby10
Newbie
3. 2. 2015   #4
-
0
-

#3 ukulele
Cus pocitam ze ti uz moje odpoved nepomuze kdyz prisla tak pozde,ale treba bude prinosna pro ostatni.

Za prve nepises pro jaky procesor ty ulohy jsou, takze budu neco jen odhadovat a tak to neber uplne doslova.

Uloha 3. Uvazujes spravne v dl bude c. Instarukce  int 21h ma s vyvolat preruseni A proc je pred tim  mov ah, 2 to presne nevim zalezi na platforme ,pocitam ze to bude nejaky parament pro to preruseni.

Ulouha 4. Mas to dobre az na ten konec . Nemuzes uvazovat ze ah a al jen tak jednoduse sectes. Je to horni a dolni cast 16bit. registru ax takze ah = 08h a al = 02h tzn. ax = 0802h = 2050d (taky ti to mohlo dojit kdyz znas vysedek , stacilo si prevest 2050 do hexa)

Uloha 5. Tady ses nechal nachytat, jde tu o neprime adresovani. tzn pri instrukci mov [bx], al se nemeni bx ale adresa na kterou bx ukazuje, v bx je porad 0

Uloha 6. Tady mi muj vysledek nejak nesedi s tim co pises ze ma vyjit.

mov bx, 200h v bx je 200h

mov di, 1 v di je 1

mov ax, 10Ah v ax je 010Ah

add ah, [bx+di]  ah = 01 , vysledek zavorky je 201 coz je ukazatek na hodnutu  34h tzn. 01+34=35h

tazke v ah podle me bude 35h a ne 36 jak pises ze ma podle vysledku byt.

Nahlásit jako SPAM
IP: 62.240.162.–
KIIV
~ Moderátor
+43
God of flame
3. 2. 2015   #5
-
0
-

#4 svoby1
Podle me je int 21h s AL=2 volani preruseni biosu Display Output - vypise znak v DX

http://www.htl-steyr.ac.at/~morg/pcinfo/hardware/interrupts/inte2k6o.htm

Nahlásit jako SPAM
IP: 94.113.95.–
Program vždy dělá to co naprogramujete, ne to co chcete...
svoby10
Newbie
3. 2. 2015   #6
-
0
-

#5 KIIV
Dik. Jsem zas chytrejsi ;) Muze se hodit

Nahlásit jako SPAM
IP: 62.240.162.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 27 hostů

Podobná vlákna

Náročnost úlohy — založil Figa

Opakované úlohy — založil Anonym

Cauchyho úlohy — založil Mayklink

Úlohy v jazyce C — založil micha407474

Cvičné úlohy v C — založil Noob12

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý