[an error occurred while processing this directive]
Вопрос по Keil
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
|
Отправлено
Алекс VM 12 сентября 2002 г. 14:33
|
|
|
|
define.h
....
data byte page_FLASH;
....
основная прога
....
d1=(page_FLASH*25)/4;
....
Компилер выдает следующий код:
0003 E500 R MOV A,page_FLASH
0005 75F019 MOV B,#019H
0008 A4 MUL AB
0009 AEF0 MOV R6,B
000B 7802 MOV R0,#02H
Когда page_FLASH меньше десяти - все хорошо,
но когда больше - аккумулятор переполняется. Как обойти эту фигню?
Составить ответ
|||
Конференция
|||
Архив
Ответы
- объяви data int page_FLASH; затем возьми 0x00FF & page_FLASH — Пешкокосилка (12.09.2002 15:36, пустое)
- Тогда надо так: d1=((int)page_FLASH * 25)/4; — Kuka (12.09.2002 15:34, пустое)
- Ответ: — Пешкокосилка (12.09.2002 15:30, 91 байт)
- Как объявлено "d1" ? — Kuka (12.09.2002 15:24, пустое)
- Элементарно, Ватсон. — AlexD (12.09.2002 15:08, 26 байт)
- Ответ: — Алекс VM (12.09.2002 15:13, 93 байт)
- Как Вы узнали, что он переполняется ? — Kuka (12.09.2002 14:36, пустое)
- Ответ: — Алекс VM (12.09.2002 14:37, 28 байт)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru