Cześć, treść polecenia:
Wczytywanie z klawiatury dwóch liczby całkowitych z przedzialu [-32768..32767] wprowadzanych w postaci znaków ASCII, konwertowanie ich do 16-bitowej postaci obliczeniowej w kodzie U2, obliczenie ich sumy reprezentowanej w 32-bitowej postaci kodu U2, a nastepnie dokononanie jej konwersji do postaci znakow ASCII i wyswietlenie jej w tej postaci na ekranie.
You should input two numbers from keybord (range: [-32768..32767]) starting from ascii you should obtain a u2 code and do all require calculates (here - addition). Final part: result of addition 32bits u2 code -> ascii and display it on the screen.
Chciałem za pomocą:
mov ax, 01h
int 21h
wczytywać liczby, jednak mam problem jak je później porównać, czy dana liczba jest dodatnia/ujemna i na którym miejscu ten plus lub minus stoi w kolejności.
Próbowałem używać również"
mov dx, OFFSET ilosc
mov ah, 0Ah
gdzie ilosc oznacza ilość mniejsc w buforze, jednak z tego nie umiem skorzystać, a gdyby dało się jakoś efektywnie tego użyć, to istnieje możliwość żeby w pętli sprawdzać kolejne znaki i to wydaje się lepszym rozwiązaniem. Mam pomysły, ale kompletnie nie mam pojęcia jak przełożyć je na ten dziwny język asemblera. Rozwiązania również posiadam, ale są one dla mnie kompletnie niezrozumiałe i staram się to zrobić od podstaw, stąd takie trywialne pytania.
Proszę o jakieś sugestie, pozdrawiam.