Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.08.07
Prihlásený: 07.10.12
Príspevky: 84
Témy: 32
Bydlisko: Presov
Príspevok NapísalOffline : 01.04.2010 18:11

Cute skole sme dostalo zadanie napisat program assembleru 8080 kde si to mame sami nastudovat mam stym problem lebo dokumentacia k 8080 nie je skoro ziadna.Potreboval by som vysvetlit ako funguje Zero a Carry.Ako sa to pocita ci Zero=1 alebo Carry=1


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 02.04.2010 0:17

Dokumentácie k procesorom 8080 je na internete kopec.
Nijako sa to nepočíta, použiješ len nejakú inštrukciu, ktorá s tou hodnotou pracuje (a v obyčajnom 8080 sú to asi len inštrukcie pre skok).


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.08.07
Prihlásený: 07.10.12
Príspevky: 84
Témy: 32
Bydlisko: Presov
Príspevok Napísal autor témyOffline : 02.04.2010 11:04

no na assembler 8080 som toho vela nenasiel.No len kedy ten skok nastane napr. Cpi 10 JZ Cpi 13 JZ do akumalatoru budeme mat cislo 12 tak sa mi nerovna ani z jednim cislom tak skok nenastane?


Offline

Skúsený užívateľ
Skúsený užívateľ
Assembler 8080

Registrovaný: 11.01.09
Prihlásený: 25.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 02.04.2010 11:29

Tu je inštrukčná sada

Zero flag sa nastaví na nulu, ak je výsledok poslednej operácie nula. Napr:
Kód:
mvi a, 10   ; do registra a vloz 10
cpi 10    ; porovnaj register a s desiatkou: a-10

Po tejto operácii 10 - 10 je výsledok nula, teda zero flag sa nastaví na true [vloží sa tam jednotka]. Ak by výsledok nebol nulový, tak zero flag sa nastaví na nulu [false]. Treba si uvedomiť, že po každej inštrukcii sa nastavujú príznakové registre - teda aj zero flag aj cary flag, no nie všetky inštrukcie menia príznakové registre, napríklad push, pop, atď...
S príznakom zero flag súvisia inštrukcie skoku jz [skoč, ak je zero flag jedna] a jnz [skoč, ak zero flag nie je jedna].

Cary flag sa nastaví na true, ak sa výsledok poslednej operácie nezmestí do registra. Pre prácu v 8080 assembleri máme k dispozícii osembitové registre, čiže maximálne číslo, ktoré do nich môžme uložiť, je v rozsahu 0-255. Ak je výsledok poslednej operácie menšie alebo väčšie, cary flag sa nasstaví na true, ak je v tomto rozsahu, tak sa cary flag nastaví na false. Napr:
Kód:
; ...
; v registri a je ASCII hodnota nejakeho znaku
znova:

cpi '0'
jc dalej

cpi '9'+1

jc znova
; ak sa dostaneme sem, v registri a je ASCII hodnota čísla, čiže 0-9

dalej:
;....

S príznakom cary flag súvisia inštrukcie skoku jc [skoč, ak je cary flag jedna - ak bol prenos] a jnz [skoč, ak zero flag nie je jedna - ak nebol prenos].


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.08.07
Prihlásený: 07.10.12
Príspevky: 84
Témy: 32
Bydlisko: Presov
Príspevok Napísal autor témyOffline : 02.04.2010 18:48

Diky za vysvetlene.Ten prikaz cpi `9`+1 porovnava reg A z tesne za znakom 9... tesne za znakom 9 sa mysli cisla od 0 do 9?


Offline

Skúsený užívateľ
Skúsený užívateľ
Assembler 8080

Registrovaný: 11.01.09
Prihlásený: 25.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 02.04.2010 20:44

Ak je znak v registri A menší ako znak '0' a keďže cpi urobí (a-'0'), tak menšie číslo mínus väčšie číslo je záporné číslo, teda prenos. Takže ak má byť číslo nad nejakou hranicou, nesmie nastať prenos (aj keď sa čísla rovnajú, tak dané číslo patrí do tohoto intervalu).
Ak ale potrebujeme porovnanie hornej hranice intervalu, vtedy využívame prenos: Ak je znak v registri A väčší ako znak '9'+1 (to je konkrétne znak ':') a keďže cpi urobí (a- ('9'+1) ), tak väčšie mínus menšie číslo je vždy kladné; prípadne ak sa rovnajú, tak nula; no každopádne prenos nenastal. Takže ak má byť číslo pod nejakou hranicou, musí nastať prenos (maximálne číslo v intervale + 1).
Snáď som to podal dostatočne výstižne.


Odpovedať na tému [ Príspevkov: 6 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. ASM 8080

v Assembler, C, C++, Pascal, Java

0

405

25.02.2017 14:50

kemperik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. 8080 spracovanie retazca

v Assembler, C, C++, Pascal, Java

1

654

07.01.2009 14:52

stopa27 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Oneskorenie 1s pre 8080

v Assembler, C, C++, Pascal, Java

3

843

25.04.2007 17:30

yossarian Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. MHB 8080 / PMD 85-2

v Ostatné procesory

6

5876

02.08.2006 8:19

Carlos Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zdravím, potreboval by som pomocť so zadaním z ASM 8080

v Assembler, C, C++, Pascal, Java

2

369

06.03.2017 17:48

Miso122 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ASSEMBLER

v Assembler, C, C++, Pascal, Java

8

1723

13.03.2007 20:39

My-reC Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Assembler

v Assembler, C, C++, Pascal, Java

0

791

31.03.2009 20:10

bbeni Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. assembler

v Assembler, C, C++, Pascal, Java

1

1493

10.11.2006 18:14

Marco Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Assembler

v Assembler, C, C++, Pascal, Java

0

708

01.04.2009 21:02

bbeni Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. aky assembler?

v Assembler, C, C++, Pascal, Java

4

760

21.11.2007 9:49

euthanan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Assembler 8086

v Assembler, C, C++, Pascal, Java

2

610

27.03.2009 20:33

Ivan11114 Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. assembler zadanie

v Assembler, C, C++, Pascal, Java

1

1011

09.03.2010 20:27

ac.milan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Assembler binary

v Assembler, C, C++, Pascal, Java

23

1205

18.04.2012 7:17

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Assembler úloha

v Assembler, C, C++, Pascal, Java

0

792

02.02.2008 7:37

HT Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Assembler 8086

v Assembler, C, C++, Pascal, Java

11

1288

19.05.2010 22:38

JR55 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. assembler zaciatky

v Assembler, C, C++, Pascal, Java

5

952

03.09.2010 15:14

Fico Zobrazenie posledných príspevkov


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

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra