| | |
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Autor | Správa |
---|
Registrovaný: 26.06.05 Prihlásený: 11.03.11 Príspevky: 5 Témy: 1 |
Dobry den chcem sa spytat ci je tu niekto kto by mi vedel pomoct s assemblerom...
assembler ako taky chapem,len neviem sa dostat cez jeden problem a ten je nasledovny
Nech má počítač nasledovné inštrukcie:
MOV <zdroj>, <destinacia>
SUB r1,r2
ADD r1,r2
JZ <adresa>
STOP
Napiste program v assembleri, ktory scita tri cisla na adresach a1 az a3 a odcita od nich sumu cisel na adresach a4 a a5. Porovna vysledok s cislom na adrese a5. a v pripade ak tento vysledok je rovny nule ulozi na adresu a6 obsah registra r1 ak nie tak obsah registra a2. po vykonani tychto instrukcii sa program zastavi...
no a problem nastava tu,presuny,scitanie,a odcitanie spravit viem ale neviem ako mam spravit to podovnanie a zistit ci je to nula,alebo nie... je tu niekto kto by mi to vedel vysvetlit ?
Dakujem za kazdu odpoved...
|
|
Registrovaný: 11.01.09 Prihlásený: 18.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 11.03.2011 13:05 | |
|
Na porovnavanie sa pouziva isntrukcia CMP ( ak sa bavime o 8086 platforme ):
Citácia: CMP <A1>, <A2> Od A1 sa odcita A2 a nastavia sa registre priznakov ( vysledok sa ale nikde neulozi! ). Cize ak je vysledok nula ( vysledok odciatnia jedneho cisla od takeho isteho cisla je nula ), register ZF ( zero flag ) sa nastavi na nulu. A tento stav sa zistuje pomocou instrukcie JZ. Ak je ZF rovny nule, skoc na navestie urcene v instrukcii JZ: Citácia: JZ <navestie>
Ak ale nemas k dispozicii tuto instrukciu, musis pouzit instrukciu SUB, ale pri tejto sa prepise premenna A1, takze si musis vytvorit kopiu tejto premennej a tu podat instrukcii SUB.
|
|
Registrovaný: 26.06.05 Prihlásený: 11.03.11 Príspevky: 5 Témy: 1 | Napísal autor témy majosisk: 11.03.2011 13:17 | |
|
dakujem, takze ked to spravne chapem moze to byt neako takto?
ADD a1,a2,a3
SUB a4,a5
JZ AX
STOP
v zadani som mal este pri instrukcii JZ napisane: ak je vysledok preschadzajucej operacie rovny nule,skok na adresu AX
takze mi to vychadza ze by to malo byt dobre
|
|
Registrovaný: 11.01.09 Prihlásený: 18.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 11.03.2011 13:36 | |
|
majosisk píše: ADD a1,a2,a3
Takto nie. Instrukcia ADD moze mat maximalne dva parametre. Ak chces spocitat tri cisla, tak takto:
Kód: ADD a1, a2 ; vysledok je ulozeny v a1 ADD a1, a3 ; celkovy vysledok je opat ulozeny v a1
|
|
Registrovaný: 26.06.05 Prihlásený: 11.03.11 Príspevky: 5 Témy: 1 | Napísal autor témy majosisk: 11.03.2011 14:09 | |
|
aha dakujem, takze po spravnosti...
ADD a1,a2
ADD a1,a3
SUB a4,a5
JZ ax
STOP
?
dakujem pekne ...
|
|
Registrovaný: 11.01.09 Prihlásený: 18.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 11.03.2011 14:28 | |
|
Aha, ty to uz chces cele skontrolovat. Tak potom to je este stale zle
Kód: ; scitanie a1 az a3 ADD a1, a2 ADD a1, a3
; suma cisel a4 a a5 ADD a4, a5
; odcitanie sumy od suctu SUB a1, a4
; porovnanie vysledku ( ulozenom v a1 ) s hodnotou a5 SUB a1, a5
; ak je vysledok nula, cisla sa zhoduju, pokracuj na navestie DALEJ. Ak sa nezhoduju STOP jz DALEJ MOV a6, a2 STOP
DALEJ: MOV a6, r1 STOP
|
|
Registrovaný: 26.06.05 Prihlásený: 11.03.11 Príspevky: 5 Témy: 1 | Napísal autor témy majosisk: 11.03.2011 14:29 | |
|
dakujem ti, mas u mna pivecko! no dufam ze to pochopim
|
|
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| pomoc s assemblerom v Assembler, C, C++, Pascal, Java | 0 | 347 | 14.06.2010 11:35 Majkl81 | | prepojenie c s assemblerom v Assembler, C, C++, Pascal, Java | 1 | 856 | 22.12.2006 18:24 Alyx_Vance | | Pomozete mi prosim s assemblerom? v Assembler, C, C++, Pascal, Java | 2 | 639 | 15.01.2008 18:04 programator | | pomoc pomoc prosim nefunguje internet v Ovládače | 7 | 1129 | 09.09.2017 20:37 Smith Wesson | | Pomoc pri pomoc pri skladaní PC - od 1 500 do 1 800 Eur (rozlíšenie 1440p) v PC zostavy | 13 | 795 | 28.09.2023 20:23 johny314 | | Pomoc v ATI/AMD grafické karty | 3 | 863 | 02.01.2008 7:51 Daron | | pomoc v nVidia grafické karty | 1 | 1032 | 02.02.2007 10:51 Harlequin | | pomoc v JavaScript, VBScript, Ajax | 2 | 876 | 15.05.2009 20:15 firewall | | pomoc v ATI/AMD grafické karty | 3 | 699 | 04.03.2008 15:00 Mir | | Pomoc v Počítačové hry | 2 | 588 | 13.06.2012 18:02 PepeTheDragon | | POMOC [ Choď na stránku: 1, 2 ] v Ostatné | 30 | 2267 | 27.09.2009 20:01 workoholik16 | | pomoc v ATI/AMD grafické karty | 10 | 1059 | 10.01.2008 8:48 kasom | | pomoc v PHP, ASP | 2 | 786 | 02.02.2008 17:17 Punker661 | | pomoc v Ostatné | 13 | 951 | 08.08.2009 22:16 malcolm | | pomoc v PHP, ASP | 6 | 709 | 01.08.2008 16:27 Darkeye18 | | pomoc v Monitory, televízory a projektory | 2 | 874 | 19.02.2008 13:40 patqo_he |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|