Страница 1 из 1

Добавлено: 04 май 2004, 09:06
mm
А что вывести то надо?
a?
или что то другое?

Добавлено: 05 май 2004, 13:33
Andy
Алгоритм такой:
  • Ввод чисел a,b,c,d с клавиатуры как строк. Например функцией DOS (int 21h) 0Ah. Здесь и далее - описание функций смотри в документации.
  • Преобразование ASCII строк в десятичные числа. Примерный алгоритм: отнимаешь от каждого ASCII символа 31h (код '0'). При этом получаешь собственно цифру. Далее ее умножаешь на 1 для последней, на 10 для предпоследней, на 100 для предпредпоследней и т.д. и складываешь результат. Это и есть введенное число.
  • Умножаешь/делишь/вычитаешь
  • Преобразовываешь обратно в строку. Тут чуть сложнее, но готовых алгоритмов в Интернете должно быть завались.
  • Выводишь DOS функцией 09h.
Врядли я помог, если ты совсем не знаешь ассемблер, но писать программу целиком мне некогда :)

Добавлено: 10 май 2004, 15:02
Romeo
Есть два различных понятия: "напишите вместо меня" и "объясните". Если ты по поводу первого, то, похоже, вопрос не к нам: все люди занятые. Если же нужно ответить на конкретные вопросы, то вперёд - поможем, чем сможем.

Добавлено: 10 май 2004, 19:40
Andy
мне нужно что бы результат оставался на экране пока не нажмешь любую клавишу
mov ah,8
int 21h

Добавлено: 11 май 2004, 14:50
Romeo
Или, что более предпочительно:

Код: Выделить всё

xor   ax, ax
int    16h