[Assembler] Śmieci podczas czytania z pliku

Witam, mam problem. Rozpocząłem zabawę z plikami w assemblerze, chciałem sobie wczytać do bufora jeden wiersz z pliku, jednak pojawiły mi się jakieś śmieci, nie wiem czym, są one spowodowane. 

 

2zfir90.jpg
 

Wczytałem sobie jeden wiersz z mojego pliku tekst.txt

 

 

 

Cały bufor jest wyświetlany, ale pojawiły się właśnie te “śmieci”.

 

Oto mój kod:

 

Progr           segment
                assume  cs:Progr, ds:dane, ss:stosik
start:


    mov ax,dane
    mov     ds,ax
    mov ax,seg Plik
    mov ds,ax
    mov dx,offset Plik    ;adres DS:DX zawiera nazwę pliku
    mov cx,0
    mov ax,stosik
    mov ss,ax
    mov sp,offset szczyt
        
    mov ah,3Dh            ;funkcja otwórz plik
    mov al,2              ;Tryb otwarcia: prawo do odczytu i zapisu
    int 21h




    mov bx,ax             ;uchwyt idzie do BX
    lea dx, nuty    
    mov cx,57            ;ile bajtów odczytac
    mov ah,3fh             ;funkcja odczyt do dojścia
    int 21h               ;wywołaj funkcje DOS


lea dx,nuty
mov ah,09h  
int 21h




    mov ah,3eh            ;zamknij plik w BX-uchwyt
    int 21h               ;




ZakonczProgram:
    mov ax,4C01h
    int 21h


Progr           ends


dane            segment
    Plik db 'tekst.txt',0


nuty db 0
oktawy db 0
czasy db 0


dane            ends




stosik          segment
                dw    100h dup(0)
szczyt          Label word
stosik          ends




end start

 

Proszę również o podpowiedź/pomoc w odczytaniu 2 wiersza do oktawy, a trzeciego do czasy.

Witaj, popraw proszę tytuł tematu tak aby wstępnie informował o problemie, użyj przycisku EDYTUJ , który znajdziesz w prawym dolnym rogu Swojego posta-> następnie skorzystaj z opcji Użyj pełnego edytora. Dziękuję za uwagę.

Tip: Unikaj słów: “problem”, “help”, “pomocy” i.t.p. Tego typu słowa nie spowodują szybszej reakcji a mogą odnieść odwrotny skutek od oczekiwanego, tytuł tematu ma być skróconym opisem Twojego posta- powodzenia.