Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Asembler - Czytanie i wypisywanie wektora

CrQ 29 Lis 2013 20:59 987 4
  • #1 29 Lis 2013 20:59
    CrQ
    Poziom 11  

    Witam.
    Usiłuję od dłuższego czasu napisać fragment kodu pracujący pod DOSem (DOSBox) który ma za zadanie czytać znaki z klawiatury do wektora. Wektor ten ma być później wypisany na konsoli.
    Poniżej kod - jest jakiś błąd, albo ja nie rozumiem czegoś do końca...

    Kod: asm
    Zaloguj się, aby zobaczyć kod


    Ogólnie kod się kompiluje i odpala... niestety nie działa poprawnie - wyświetla jakieś krzaki.
    Ps dopisałem komentarze do kodu :) może łatwiej będzie zrozumieć moje błędy w interpretacji tego co piszę :)

    0 4
  • Pomocny post
    #2 29 Lis 2013 21:10
    Dżyszla
    Poziom 42  

    Adres określa para ds:dx. A więc Oba rejestry powinny być ustawione prawidłowo.

    A zatem

    Kod: asm
    Zaloguj się, aby zobaczyć kod
    Tak na marginesie ładniej byłoby trzymać zmienne w segmencie danych (.data)

    0
  • #3 29 Lis 2013 21:31
    CrQ
    Poziom 11  

    Ok, rozumiem że mov ax,@code zwraca do ax segment w którym przechowuje swoje dane .code ?

    Kod: asm
    Zaloguj się, aby zobaczyć kod


    Zmieniłem, wydaje się teraz wszystko ok... jednak dalej krzaki.
    Jeszcze pytanie czy funkcja 0ah przerwania 21h wstawia $ z automatu na końcu tego wektora ?

    0
  • #5 29 Lis 2013 21:54
    CrQ
    Poziom 11  

    Ok, chyba zrozumiałem :) i działa.

    Kod: asm
    Zaloguj się, aby zobaczyć kod

    0