Witam, piszę program na zaliczenie w Asemlerze i mam problem z wprowadzaniem liczb do rejestru. Chciałbym aby w sytuacji kiedy użytkownik wprowadzi za dużą liczbę, pokazywał się komunikat. Wiem że jest mi do tego potrzebna flaga CF ale nie mam pojęcia jak jej użyć. Z góry dziękuję za każdą pomoc.
Wiem że jest mi do tego potrzebna flaga CF
To akurat bzdura. CF ustawia sie kiedy ALU/CPU wykona operacje przekraczającą rozmiar docelowego rejestru.
Napisz konkretnie to chcesz zrobić.
Mój program to kalkulator matematyczny z kilkoma funkcjami. Chciałbym żeby podczas podawania liczby przez użytkownika: 11111111111111111111111 wyświetlił komunikat że liczba jest za duża i proszę o ponowne podanie. I chciałbym też aby podobny komunikat pojawiał się po przekroczeniu zakresu rejestru w podczas obliczeń matematycznych: add, mul.
Biorąc pod uwagę, że wczytywanie liczby od usera i tak musisz zrobic znak po znaku, wyliczając "wartość" wyrażenia, to możesz faktycznie patrzeć sobie czy CF się nie ustawiło.
Wiem o tym, tylko nie wiem jak mój pomysł wprowadzić w życie. Nie wiem jak sprawdzać flagę CF?
Chyba że wystarczy takie coś:
cmp CF,0
;instrukcja skoku
Ech, serio?
http://unixwiz.net/techtips/x86-jumps.html
interesuje cię carry i overflow