[ Príspevkov: 2 ] 
AutorSpráva
Offline

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

Registrovaný: 29.04.09
Prihlásený: 10.07.21
Príspevky: 38
Témy: 12 | 12
NapísalOffline : 13.05.2009 22:06 | POMOC S PROGRAMOM V asm 86

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


Offline

Skúsený užívateľ
Skúsený užívateľ
POMOC S PROGRAMOM V asm 86

Registrovaný: 11.01.09
Prihlásený: 28.04.26
Príspevky: 1399
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOffline : 14.05.2009 8:37 | POMOC S PROGRAMOM V asm 86

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.


 [ Príspevkov: 2 ] 


POMOC S PROGRAMOM V asm 86



Podobné témy

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

ASEMBLER:Určte počet slov obsahujúcich reťazec ASM alebo asm

v Backend

7

1534

25.03.2011 10:07

dury26

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

Pomoc s ASM

v Backend

1

691

04.05.2008 11:47

snapshot

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

preklad z .ASM do .C pomoc

v Backend

1

521

16.04.2011 10:33

Fico

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

pomoc s programom

v Backend

2

612

16.11.2009 21:30

kubo88

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

pomoc s programom

v Backend

6

633

14.04.2018 15:15

Vetrolam

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

Pomoc s programom

v Backend

3

607

26.07.2013 9:36

Roj-i

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

Pomoc s programom MAYA

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Grafické programy

48

2230

06.06.2011 18:27

Daron

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

C++ pomoc s programom

v Backend

8

1953

07.12.2009 10:46

drummer87

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

pomoc s malym programom

v Ostatné

10

651

18.02.2012 21:51

coldak

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

C++ pomoc s programom

v Backend

9

712

09.05.2011 22:30

johny3212

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

Pomoc so C# programom

v Backend

5

562

11.03.2013 23:27

shaggy

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

pomoc s programom v pascale

v Backend

10

718

06.04.2010 18:15

Logik

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

pomoc s programom v PASCALE

v Backend

2

790

18.04.2007 9:56

gorky22

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

Pomoc HD 7750 nereaguje s programom

v AMD grafické karty

8

388

26.03.2013 15:30

jaro114

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

Prosim o pomoc s programom v pascale...:(

v Ostatné

12

1348

03.06.2007 22:35

juho

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

Prosim o pomoc s programom v C++

v Backend

0

707

21.10.2008 18:30

aphexxx



© 2005 - 2026 PCforum, edited by JanoF