| | |
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Autor | Správa |
---|
Registrovaný: 23.03.10 Prihlásený: 23.03.10 Príspevky: 2 Témy: 1 | Napísal crazy: 23.03.2010 10:17 | |
|
Dobrý den mám problém z nasledujúcov úlohov: Určte počet slov obsahujúcich len číslice. Najprv som si nakreslil vývoják, potom naprogramoval, skompiloval, spustil ale nerobí to to čo má, vôbec mi nechce zobrať enter, resp zoberie ho len sa nevypíše počet slov. Nikto mi nevedel pomôcť preto sa obraciam na Vás. Za rady vopred Ďakujem.
Kód: org 1000 dcx sp
lxi h,text1 call putstr
lxi d,vlozeny call getline
lxi b,vlozeny mvi d,0
char_begin: mvi c,0
char_loop:
ldax b inx b cpi 10 jz koniec cpi 13 jz koniec cpi 32 jz char_space cpi '9'+1 jc char_loop inr c
char_space: mov a,c cpi 0 jz char_loop inr d jmp char_begin
koniec:
lxi h,text2 call putstr mov a,d adi '0' call putchar
hlt
include 'examples\8080\include\getline.inc' include 'examples\8080\include\putstr.inc' include 'examples\8080\include\putchar.inc' include 'examples\8080\include\getchar.inc' include 'examples\8080\include\newline.inc'
text1: db 'Pocet cislic vo vstupe (getchar) ...',10,13,'Vloz text: ',0 text2: db 10,13,'Cislic: ',0 vlozeny: ds 30;
|
|
Registrovaný: 11.01.09 Prihlásený: 26.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 23.03.2010 14:23 | |
|
1.) Nemáš ošetrenie spodnej hranice ASCII pre číslo (máš iba, či je mnšie ako 9, ale nie, či je väčšie, ako 0)
2.) Na konci char_loop ideš rovno do návestia char_space, kde sa má vojsť až pri medzere. Tzn zabudol si tam jmp
3.) Informácia, ktorú vkladáš do registra c neurčuje, či sú v slove iba čísla, ale počet čísel, koľko obsahuje. Takže ju potrebuješ porovnať s počtom čísel
4.) Hlavná chyba - prepisuješ register c, pričom offset reťazca, ktorý prehľadávaš, je uložený v páre bc
Kód: org 1000 dcx sp
lxi h, text1 call putstr
lxi d, vlozeny call getline
lxi b, vlozeny mvi e, 0
char_begin: mvi l, 0 mvi d, 0
char_loop:
ldax b inx b cpi 10 jz char_space cpi 13 jz koniec cpi 32 jz char_space inr d ; pocet pismen cpi '0' jc char_loop ; menej ako '0'? cpi '9'+1 jnc char_loop ; viac ako '9'+1? inr l jmp char_loop
char_space: mov a, l cmp d jnz char_begin inr e jmp char_begin
koniec:
lxi h, text2 call putstr mov a, e adi '0' call putchar
hlt
include 'examples\8080\include\getline.inc' include 'examples\8080\include\putstr.inc' include 'examples\8080\include\putchar.inc' include 'examples\8080\include\getchar.inc' include 'examples\8080\include\newline.inc'
text1: db 'Pocet cislic vo vstupe (getchar) ...',10,13,'Vloz text: ',0 text2: db 10,13,'Cislic: ',0 vlozeny: ds 30
|
|
Registrovaný: 23.03.10 Prihlásený: 23.03.10 Príspevky: 2 Témy: 1 | Napísal autor témy crazy: 23.03.2010 15:55 | |
|
Ďakujem.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| ASM: pocet slov reprezentujucich zapis osmickoveho cisla v Assembler, C, C++, Pascal, Java | 1 | 807 | 18.03.2010 20:28 Fico | | ASEMBLER:Určte počet slov obsahujúcich reťazec ASM alebo asm v Assembler, C, C++, Pascal, Java | 7 | 1421 | 25.03.2011 10:07 dury26 | | Asm i8080: vypisat pocet slov s dlzkou 2 az 5 znakov v Assembler, C, C++, Pascal, Java | 26 | 3984 | 15.03.2011 13:47 katiMIR | | Prepísanie buniek, ktoré už obsahujú dáta - výstraha v Ostatné programy | 4 | 457 | 02.06.2021 18:40 tatko Tom | | Regex - iba cisla a desatinna bodka v JavaScript, VBScript, Ajax | 9 | 851 | 24.04.2019 10:28 neopagan | | regexp - iba cisla a line break v JavaScript, VBScript, Ajax | 2 | 291 | 22.04.2012 10:43 neopagan | | Nejaku stranku na tag-y ktore iba skopirujem do HTML v HTML, XHTML, XML, CSS | 2 | 1166 | 08.01.2006 18:12 jaji | | Ktoré ovládače sú užitočné a ktoré nie v Ovládače | 0 | 829 | 16.04.2011 16:29 medici | | Počítače ešte stále obsahujú nebezpečné chemikálie! v Novinky | 1 | 427 | 26.10.2007 17:11 mimkork | | CPU Intel Skylake / Kabylake s HT obsahujú chybu v Intel - Integrated Electronics | 0 | 405 | 28.06.2017 9:31 hanesovic | | Spocitanie php+mysql v Databázy | 3 | 695 | 23.03.2009 13:01 GoodWill | | spocitanie obrazkov a foto... v Ostatné programy | 2 | 331 | 21.01.2012 16:57 ROCK-express | | Spocitanie casov z databazy v PHP, ASP | 4 | 2509 | 31.05.2019 16:56 ux | | Spočítanie tabsheetov v pagecontroli v Delphi, Visual Basic | 4 | 985 | 15.12.2007 19:53 martin90 | | Spočítanie hodín a minút v PHP, ASP | 8 | 1001 | 05.08.2018 23:24 SP!DER | | Spočítanie hodnôt v databáze v Databázy | 15 | 3192 | 25.08.2009 14:40 bmatias |
| 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
|
|