logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Assembler - Kalkulator: Jak dokończyć kod do podstawowych operacji arytmetycznych?

everus 29 Gru 2014 20:36 4143 5
REKLAMA
  • #1 14269190
    everus
    Poziom 2  
    Posty: 3
    Witajcie.
    Postanowiłem napisać ten temat z jednego powodu:
    Siedzę już dłuższy czas na próbie programowania w Assemblerze i wciąż nie mogę dojść do tego co mam zamierzone...
    Chcę zrobić prosty kalkulator do obliczania podstawowych obliczeń (dodawanie, odejmowanie, mnożenie i dzielenie).
    Do tej pory mam coś takiego jak zamieściłem poniżej.

    I teraz pytanie do Was:
    Jak dokończyć ten kod żeby był dobry? W programie chodzi mi o to by program pytal o dwie liczby które użytkownik by musiał podać i żeby nastepnie obliczyło z tych liczb te 4 podstawowe operacje arytmetyczne jak wyżej w nawiasie..

    W kodzie brakuje dużo i chciałbym byście mi troche z tym pomogli (jestem nowicjuszem wręcz amatorem). miałem zamiar jeszcze do tego kodu wprowadzić pare etykiet żeby w nich były wykonywane te obliczenia. A i chciałbym aby mi wyświetliło wyniki po zakończeniu. Proszę o pomoc..

    Z góry dzięki.

    PS> mam nadzieje że coś wymyślimy...


    Kod: text
    Zaloguj się, aby zobaczyć kod

    <kod niekompletny, można otrzymać resztę po napisaniu do mnie..>
  • REKLAMA
  • #2 14269249
    witoldwitoldowicz
    Poziom 28  
    Posty: 698
    Pomógł: 163
    Ocena: 60
    Jeżeli zaczynasz programować to zacznij od jakiegoś bardziej przydatnego języka niż assembler.
    Po co uczyć się DOS'owych wywołań, to w praktyce jest bardzo mało potrzebne.
    Chyba że to jakieś zadanie szkolne.
  • REKLAMA
  • #3 14271764
    everus
    Poziom 2  
    Posty: 3
    To mam zrobić na zaliczenie . Studiuje informatykę.. Myślałem że sobie poradzę ale niestety.. Dlatego tu jestem.. Podpowiedzcie coś proszę albo jeśli będziecie tak dobrzy to poprawcie ten kod. Z góry wielkie dzięki.
  • REKLAMA
  • #4 14271846
    witoldwitoldowicz
    Poziom 28  
    Posty: 698
    Pomógł: 163
    Ocena: 60
    1) Jesteś pewien że int 21 i 16 nie zmienia bl i cl,
    2) np. mov klawisz, '3' cmp klawisz, al zamień na cmp al,'3' jne nastepneSprawdzenie
    3)
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #5 14274976
    kinggustav
    Poziom 27  
    Posty: 797
    Pomógł: 93
    Ocena: 93
    Nie pamiętam jak działa int 16h, ale o ile pamiętam do wczytywania łańcucha znaków jest chyba lepsza któraś z funkcji int 21h, poszukaj. Tak czy inaczej musisz zrobić konwersję liczby na tekst i tekstu na liczbę. Pewnie nie będzie trudno znaleźć jakieś gotowe procedury. Żeby wyprowadzić wynik to możesz użyć int 21h/9, ale musisz składać teksty, podobnie jak w innych językach się robi. Ona przesuwa kursor, więc możesz wołać kilka razy pod rząd. Nie musisz mieć całego komunikatu w pamięci. Sorry, że tak mało konkretnie odpowiadam, ale robiłem to wiele lat temu. Mam przykłady na jakichś starych dyskietkach, ale nie mam już napędu do ich odczytania. :-)
  • #6 14280984
    everus
    Poziom 2  
    Posty: 3
    Dzięki za rady. będe jeszcze coś próbował z tym zrobić.. Odezwę się jak coś mi się uda.. (chociaż nie wiem czy tak się stanie :P )
REKLAMA