obsługa flagi CF

0

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.

1

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ć.

0

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.

0

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.

0

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

0

Ech, serio?
http://unixwiz.net/techtips/x86-jumps.html
interesuje cię carry i overflow

1 użytkowników online, w tym zalogowanych: 0, gości: 1