Zdravicko...potrebujem sure help s Assemblerom...vytvaram program
ktory urci počet slov obsahujúcich viac písmen malej abecedy ako číslic.
Nie som tupy do programovania ale nejako proste nedokazem pochopit ten
assembler i8080 /emustudio/ a setky tie veci kolo toho...nieco som vypotil
org 1000
dcx sp ; inicializacia zasobnika (0FFFFh)
lxi h,text1
call putstr ; vypis text1
lxi d,vlozeny ; adresa pre vstup retazca
call getline ; nacitaj z klavesnice
lxi b,vlozeny
mvi d,0 ; pocitadlo cislic
lxi b,vlozeny
mvi e,0 ;pocitadlo pismen
lxi b,vlozeny
mvi f,0 ;pocitadlo slov
char_loop:
ldax b
inx b
cpi 10 ; koniec vstupu?
jz char_end
cpi 13
jz char_end
cpi 32
jp char_space
inr f
cpi /male pismena v ASCII/
jc char_loop
inr e ; pismeno??
cpi '9'+1
jnc char_loop ; viac ako '9'+1?
inr d ; cislica
jmp char_loop
char_end:
lxi h,text2 ; vypis text2
call putstr
mov a,d
adi '0' ; hodnota a jej ASCII tvar ...
call putchar
call newline
hlt
include 'examples\8080\include\getchar.inc'
include 'examples\8080\include\getline.inc'
include 'examples\8080\include\putstr.inc'
include 'examples\8080\include\putchar.inc'
include 'examples\8080\include\newline.inc'
text1: db 'Pocer slov obsahujucich viac pismen malej abecedy ako
cislis',10,13,'Vloz retazec: ',0
text2: db 10,13,'Pocet vyhovujucich slov: ',0
vlozeny: ds 30
------------------------
Ale myslim ze je to zle a vobec sa neviem pohnut dalej...Predstavoval
by som si to takto...
Nacital by sa znak a porovnal ci je to cislo alebo pismeno...ak cislo
inkrementovalo by sa pocitadlo pre cislo...ak pismeno tak pocitadlo pre
pismeno...ak by nacitalo medzeru znamenalo by to koniec slova...cize by
porovnalo pocitadla a ak by pocitadlo pismen bolo vacsie ako pocitadlo
cisel tak by inkrementovalo pocitadlo tych slov vyhovujucich podmienke
v zadani...a potom by resetovalo pocitadlo pismen a cislic...a tak by
to slo az kym by tam trebars neboli dve medzeri alebo neviem
co...neviem ako sa riesi koniec retazca...tie dve medzeri medzi slovami
mi napr netreba osetrit pretoze to vyriesim v uzivatelskom manuali!
Najde sa niekto ochotny?vopred dakujem : )