Assembler i8080 program

Programovacie jazyky, rady, poradňa...
dEVIANT
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 47
Registrovaný: 02 apr 2009, 20:18

Assembler i8080 program

Príspevok od používateľa dEVIANT »

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 : )
Napísať odpoveď