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.

assembler - wyświetlanie pamięci RAM (w kb )

szopen131313 10 Sty 2014 17:24 717 3
  • #1 10 Sty 2014 17:24
    szopen131313
    Poziom 2  

    Witam. Jestem początkujący w posługiwaniu się assemblerem i napotkałem na następujący problem. Mam stworzony program, który przekształca kod binarny 16-bitowy, tzn odczytuje z niego kolejne bity i efektem całego programu jest wyświetlenie urządzeń w komputerze ( jest lub nie ma) Problem dotyczy wyświetlenia pamięci RAM. Wyswietla mi sie tylko, że jest a potrzebuję aby wyświetliło mi ilość pamięci RAM (w kb i nie musi ona byc całkowita ponieważ informacja jest zapisana na dwóch bitach ) nie wiem czy zrozumiale napisale. Wysyłam program i proszę o pomoc.






    Kod: asm
    Zaloguj się, aby zobaczyć kod

    0 3
  • #2 10 Sty 2014 18:09
    Grzegorz77
    Poziom 25  

    na 2 bitach to można policzyć od zera do trzech ;)
    INT 12h zwraca w AX ilość RAM w kB dla kb musisz przemnożyć wynik przez 8192

    0
  • #3 10 Sty 2014 18:26
    szopen131313
    Poziom 2  

    Rozumiem, ale jest to wykonalne w przypadku mojego programu? Mógłbyś rozwinąć to co napisałeś wcześniej? Bo nigdzie nie mogę znaleźć jak dokładnie zastosować ten int 12h. Byłbym bardzo wdzięczny.

    0
  • #4 10 Sty 2014 19:08
    Grzegorz77
    Poziom 25  

    w swoim programie używasz np int 21h z parametrami w AX lub ah
    Tu masz wywołać funkcje z dowolnym parametrem , czyli w swoim programie wstawiasz :
    INT 12h
    a w rejestrze AX dostajesz ilość RAM w kB , oczywiście jak wszystko w
    16 bitowym DOS maksymalnie będzie to 640 kB
    http://www.ctyme.com/intr/rb-0598.htm

    0