[an error occurred while processing this directive]
Вопрос по Keil
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено 04051971 29 августа 2002 г. 11:39

Может ли кто-нибудь объяснить следующий эффект:

define.h

idata char buf[5];

xdata char connekt[10];

1.с

for(x=0;x<10;x++) connekt[x]=2;

компилятор выдает следующий код:

276: for (x=0;x<10;x++) connekt[x]=2;
277:
C:0x26B3 E4 CLR A
C:0x26B4 F574 MOV x(0x74),A
C:0x26B6 74F6 MOV A,#0xF6
C:0x26B8 2574 ADD A,x(0x74)
C:0x26BA F582 MOV Buf(0x82),A
C:0x26BC E4 CLR A
C:0x26BD 343F ADDC A,#sdm(0x3F)
C:0x26BF F583 MOV DPH(0x83),A
C:0x26C1 7402 MOV A,#0x02
C:0x26C3 F0 MOVX @DPTR,A
C:0x26C4 0574 INC x(0x74)
C:0x26C6 E574 MOV A,x(0x74)
C:0x26C8 B40AEB CJNE A,#0x0A,C:26B6

Естественно, прога на процессоре не работает (в массиве connekt всякия мусор), хотя на отладчике показывается изменение именно connekt, а не Buf. Версия Keil - 7.01

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru