Stránka: 1 z 1
| [ Príspevkov: 2 ] | |
Autor | Správa |
---|
Registrovaný: 29.04.09 Prihlásený: 10.07.21 Príspevky: 38 Témy: 12 | 12 |
caute neviete preco mi to nevypise spravny vystup ? pocet operatorov ma byt 2x vacsi ako poct malych pismen
dopredu dik
Kód: .MODEL small .STACK 100h .DATA oz DB "Zadaj retazec:",10,13,"$" retazec DB "Zadaj retazec : $" male_znaky DB 0 operatory DB 0 vyhovujuce_slova DB 0 text DB 10,13,"Pocet slov : $" .CODE
start: mov ax, @data mov ds, ax mov dx,OFFSET oz int 21h lea dx, retazec ; nacitanie retazca mov ah, 0Ah int 21h
lea bx, retazec xor cx, cx mov cl, [bx+1] mov si, bx add si, 2 main_loop:
cmp WORD PTR [si], 20h ; medzera = nove slovo je kontrola cmp WORD PTR [si], 61h ; kontrola, ci sa jedna o male pismeno jl operator cmp WORD PTR [si], 7Ah jg operator inc male_znaky jmp dalsi_znak operator:
cmp WORD PTR [si], 2Ah ; kontrola, ci sa jedna o operator jl dalsi_znak cmp WORD PTR [si], 2Fh jg dalsi_znak inc operatory jmp dalsi_znak kontrola: ; vyhovuje podmienka (operatory = 2 * male_znaky) ? call skontroluj dalsi_znak:
inc si loop main_loop call skontroluj koniec:
mov ah,09h mov dx,offset text int 21h mov ah,vyhovujuce_slova mov ax, 4C00h int 21h
skontroluj PROC mov al, male_znaky mov ah, 2 mul ah cmp al, operatory jne zmaz inc vyhovujuce_slova
zmaz:
mov male_znaky, 0 mov operatory, 0 ret 0 skontroluj ENDP
END start
|
|
Registrovaný: 11.01.09 Prihlásený: 28.12.24 Príspevky: 1395 Témy: 10 | 10 Bydlisko: Hrinova |
Máš tam viac chýb, ale hlavné chyby sú tieto:
1.) Kód: retazec DB "Zadaj retazec : $" Do tejto premennej načítavaš reťazec, no pri službe 0Ah musí mať reťazec takýto tvar. 2.) Kód: cmp WORD PTR [si], 20h pričom to má byť: Kód: cmp BYTE PTR [bx+si], 20h
lebo nemáš začiatok reťazca, ktorý je v BX (či je tam WORD alebo BYTE, je v podstate jedno, lebo ti to fungovať bude, ale mal by tam byť BYTE. Tiež som v tom spravil chybu v inom príspevku).
No a máš tam ešte nejaké chyby. Vidieť, že to máš z tohto príspevku, tak sa mrkni ešte raz a všimni si deklarácie premenných a porovnávanie znakov no a podľa toho by si to mal opraviť správne.
|
|
Stránka: 1 z 1
| [ Príspevkov: 2 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Assembler, C, C++, Pascal, Java | 7 | 1465 | 25.03.2011 10:07 dury26 | | v Assembler, C, C++, Pascal, Java | 1 | 644 | 04.05.2008 11:47 snapshot | | v Assembler, C, C++, Pascal, Java | 1 | 484 | 16.04.2011 10:33 Fico | | v Assembler, C, C++, Pascal, Java | 2 | 565 | 16.11.2009 21:30 kubo88 | | v Assembler, C, C++, Pascal, Java | 6 | 564 | 14.04.2018 15:15 Vetrolam | | v Assembler, C, C++, Pascal, Java | 3 | 537 | 26.07.2013 9:36 Roj-i | | [ Choď na stránku: 1, 2 ] v Grafické programy | 48 | 2127 | 06.06.2011 18:27 Daron | | v Assembler, C, C++, Pascal, Java | 8 | 1880 | 07.12.2009 10:46 drummer87 | | v Delphi, Visual Basic | 10 | 595 | 18.02.2012 21:51 coldak | | v Technológia .NET | 5 | 511 | 11.03.2013 23:27 shaggy | | v Assembler, C, C++, Pascal, Java | 9 | 652 | 09.05.2011 22:30 johny3212 | | v Assembler, C, C++, Pascal, Java | 10 | 648 | 06.04.2010 18:15 Logik | | v Assembler, C, C++, Pascal, Java | 2 | 742 | 18.04.2007 9:56 gorky22 | | v ATI/AMD grafické karty | 8 | 342 | 26.03.2013 15:30 jaro114 | | v Assembler, C, C++, Pascal, Java | 0 | 657 | 21.10.2008 18:30 aphexxx | | v Assembler, C, C++, Pascal, Java | 12 | 1288 | 03.06.2007 22:35 juho |
|