Пишу в TASM. Моя задача состоит в том, чтобы с консоли ввести два числа, сложить их и вывести в консоли.
К примеру: я ввожу 1 и 2, в регистре это обозначится как 0031 и 0032, при сложении в регистре будет 0063, на выводе будут буквы. В данном моменте еще можно найти решение путем вычитания из регистра 30h, после чего вывод будет верным, но это все работает, когда сумма не превышает 9, в дальнейшем возникают проблемы. Можете подсказать какой-то алгоритм или просто совет. Спасибо.
Другие языки программирования и технологии
Вопрос по ассемблеру!
0001+0010=0011
Тебе нужно перевести численное значение в строку, имеющую вид десятичного числа.
Например, есть у тебя число 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 и выводишь.
Например, есть у тебя число 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 и выводишь.
Тебе нужно перевести численное значение в строку, имеющую вид десятичного числа.
Например, есть у тебя число 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 и выводишь.
Например, есть у тебя число 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 и выводишь.
Похожие вопросы
- Вопрос по ассемблеру
- вопрос по ассемблеру
- Вопрос по Ассемблеру - Ввести с клавы 3 слова и вывести их на экран лесенкой Tasm
- Вопрос по ассемблеру
- вопрос по Ассемблеру
- Вопрос про Ассемблер
- Вопрос по изучению языка Ассемблера под MS DOS. (Нужны советы по программному обеспечению/программированию)
- Что может ассемблер?
- Почему многие программисты ненавидят ассемблер?Ведь у него куча плюсов!Он позволяет максимально задействовать
- С помощью команд fpu вычислить площадь круга, исходя из введѐнного диаметра. Ассемблер...