Задача собсветно вот в чем..... Преременная имеет расширение unsigned int и хранится в двух регистрах...... Хранится к примеру в регистрах r20 и r21 где r20 старший байт а r21 младший.... К примеру они равны числам r20 =0x11, r21 =0xF0.... Получается число 0x11F0 которое в свою очередь в десятичной системе равно 4592..... Также имеется регистор r23..... Мне теперь нужно извлечь из числа 4592 сначала 2 потом 9 потом 5 потом 4.... и заносить эти чила по очереди в регистор r23.... На C++ задача решается просто:
Допустим регистор r23 это переменная unsigned char REZULTAT = 0 а r20 и r21 это переменная unsigned int HISLO = 4592 имеем следующий код:
REZULTAT = HISLO%10; извлекдли 2 HISLO = HISLO/10; REZULTAT = HISLO%10; извлекдли 9 HISLO = HISLO/10; REZULTAT = HISLO%10; извлекдли 5 HISLO = HISLO/10; REZULTAT = HISLO; извлекдли 4
Как решить эту задачу на асемблере? Заранее спасибо за помощь......
|