Как разделить два числа в Assembler при помощи цикла?
Необходимо, допустим, разделить число 154 на 3. Как это сделать при помощи цикла? Идею понял: надо вычитать из числа по 3 до тех пор, пока не достигнем нулевой отметки и, соответственно, остаток в одну переменную записать, количество итераций таких вычитаний -- в другую. Но как это сделать без помощи операций div и/или idiv? Компилятор AVR Studio почему-то их не распознает.
Хотелось бы уточнить.
1. Размеры делимого и делителя.
2. Знаковые или беззнаковые?
3. Нужен ли остаток?
4. Делим на константу или на что-то заранее неизвестное?
Вам не жалко процессорных циклов для такого алгоритма деления ?
Количество итераций не должно превышать разрядность делимого - это в самом плохом случае (деление на 2).