Другие языки программирования и технологии

Вопрос по ассемблеру!

Пишу в TASM. Моя задача состоит в том, чтобы с консоли ввести два числа, сложить их и вывести в консоли.
К примеру: я ввожу 1 и 2, в регистре это обозначится как 0031 и 0032, при сложении в регистре будет 0063, на выводе будут буквы. В данном моменте еще можно найти решение путем вычитания из регистра 30h, после чего вывод будет верным, но это все работает, когда сумма не превышает 9, в дальнейшем возникают проблемы. Можете подсказать какой-то алгоритм или просто совет. Спасибо.
0001+0010=0011
DS
Dauren Sultanov
59 172
Лучший ответ
Тебе нужно перевести численное значение в строку, имеющую вид десятичного числа.

Например, есть у тебя число AX=345.
Делишь его на 10 с остатком. (Запишу это как 345 / 10)
Частное 34 сохраняешь в AX.
Остаток 5 пишешь в стек. (Вычисление остатка запишу как 345 % 10)

Дальше:
34 / 10 = 3
34 % 10 = 4
AX = 3
4 идет в стек.

3 / 10 = 0
3 % 10 = 3
AX = 0
3 идет в стек

Затем по очереди вынимаешь из стека столько цифр, сколько ты положил.
3, 4, 5
К каждому числу из стека прибавляешь 30h и выводишь.
Amjad Ali Shah
Amjad Ali Shah
69 574
Тебе нужно перевести численное значение в строку, имеющую вид десятичного числа.

Например, есть у тебя число AX=345.
Делишь его на 10 с остатком. (Запишу это как 345 / 10)
Частное 34 сохраняешь в AX.
Остаток 5 пишешь в стек. (Вычисление остатка запишу как 345 % 10)

Дальше:
34 / 10 = 3
34 % 10 = 4
AX = 3
4 идет в стек.

3 / 10 = 0
3 % 10 = 3
AX = 0
3 идет в стек

Затем по очереди вынимаешь из стека столько цифр, сколько ты положил.
3, 4, 5
К каждому числу из стека прибавляешь 30h и выводишь.