При изучении языка Ассемблера у многих студентов возникают сложности с вводом/выводом чисел (особенно, если оно многозначное...а с учетом отрицательных чисел - вообще смерть). А именно: преобразованием последовательности кодов ASCII в число и наоборот. С операциями посимвольного ввода/вывода все справляются замечательно. Проблемы начинаются при осваивании буферизованного ввода для многозначных чисел.
На самом деле, в конвертации лежит очень простая идея. При преобразовании последовательности кодов в число необходимо всего лишь вычитать из кода 30h(48) и умножать полученную цифру на соответствующий ей порядок (1, 10, 100, и т.д.). А при представлении числа последовательностью ASCII-кодов нужно только делить число на порядок и прибавлять к результату 30h для получения кода полученной цифры.
Пришла в голову мысль написать подпрограммы для этих операций и оформить их в виде подключаемого модуля. Вполне вероятно, что это мне пригодится в дальнейшем. А если данный модуль послужит на благо кого-либо, кроме меня (например, будущим поколениям студентов) - это вдвойне замечательно.
(быть может, в будущем доработаю его для поддержки преобразования еще каких-либо типов данных)
(быть может, в будущем доработаю его для поддержки преобразования еще каких-либо типов данных)
Итак, перехожу к сути...