реклама на сайте
подробности

 
 
> Как работать с переменными int в асемблере?, Работаю в компиляторе AVRStudio4....
Professor
сообщение May 21 2006, 09:32
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 35
Регистрация: 12-05-06
Из: Украина Харьков
Пользователь №: 17 045



Задача собсветно вот в чем.....
Преременная имеет расширение 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

Как решить эту задачу на асемблере? Заранее спасибо за помощь......
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Professor   Как работать с переменными int в асемблере?   May 21 2006, 09:32
- - _artem_   У атмела в аппликейшн нот уже есть готовая програм...   May 21 2006, 09:52
|- - Professor   Цитата(_artem_ @ May 21 2006, 12:52) У ат...   May 21 2006, 09:59
|- - prottoss   Цитата(Professor @ May 21 2006, 17:59) Ци...   May 21 2006, 10:58
|- - Professor   [/quote] http://atmel.ru/Articles/Atmel13.htm - эт...   May 21 2006, 11:29
- - GetSmart   А оно вам надо? У АВРов нет команды деления, поэто...   May 21 2006, 11:06
- - _artem_   Professor, я специально ссылку вам не дал, чтобы в...   May 21 2006, 11:31
- - GetSmart   Так ведь можно прекрасно писать на си с асмовыми в...   May 21 2006, 12:15
|- - Professor   Цитата(GetSmart @ May 21 2006, 15:15) Так...   May 21 2006, 12:41
- - defunct   Деление 16-ти разрязного числа на 10 можно заменит...   May 21 2006, 15:11
|- - Professor   [/quote] Sha © (17.05.05 12:42) [20] Для реализ...   May 21 2006, 17:41
|- - defunct   Цитата(Professor @ May 21 2006, 20:41) Ци...   May 21 2006, 19:38
|- - Professor   [/quote] Как мед так и ложка побольше? Скажите сп...   May 21 2006, 19:43
- - GetSmart   Professor, Вы можете скомпилить вот это и посмотре...   May 21 2006, 18:24
|- - Professor   Цитата(GetSmart @ May 21 2006, 21:24) Это...   May 21 2006, 19:04
- - GetSmart   Универсальная MOD / DIV функция. Регистры можно по...   May 21 2006, 20:27


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 22:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01363 секунд с 7
ELECTRONIX ©2004-2016