ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
22 ноября
186719 Топик полностью
alex_m (24.03.2010 17:04, просмотров: 271) ответил AVF на документ MPLAB® C COMPILER FOR PIC24 MCUs AND dsPIC® DSCs USER’S GUIDE
Вообщем по дисассемблеру вот так: 

171:               register int result asm("A");
172:               int *xmemory;
173:               int *ymemory;
174:               int xVal= 0x8000, yVal= 0x7FFF;
  03F8  280000     mov.w #0x8000,0x0000
  03FA  980750     mov.w 0x0000,[0x001c+10]
  03FC  27FFF0     mov.w #0x7fff,0x0000
  03FE  980760     mov.w 0x0000,[0x001c+12]
175:               result = __builtin_mpy(xVal, yVal, &xmemory, &xVal, 2, &ymemory, &yVal, 2); 
  0400  9001EE     mov.w [0x001c+12],0x0006
  0402  9002DE     mov.w [0x001c+10],0x000a
  0404  470266     add.w 0x001c,#6,0x0008
  0406  47006A     add.w 0x001c,#10,0x0000
  0408  980770     mov.w 0x0000,[0x001c+14]
  040A  780094     mov.w [0x0008],0x0002
  040C  470168     add.w 0x001c,#8,0x0004
  040E  4703EC     add.w 0x001c,#12,0x000e
  0410  780012     mov.w [0x0004],0x0000
  0412  780401     mov.w 0x0002,0x0010
  0414  780500     mov.w 0x0000,0x0014
  0416  780303     mov.w 0x0006,0x000c
  0418  C42447     mpy 0x000a*0x000c,a,[0x0010]+=2,0x000c,[0x0014]+=2,0x000a
  041A  78000A     mov.w 0x0014,0x0000
  041C  780088     mov.w 0x0010,0x0002
  041E  780186     mov.w 0x000c,0x0006
  0420  780A01     mov.w 0x0002,[0x0008]
  0422  780900     mov.w 0x0000,[0x0004]
  0424  90047E     mov.w [0x001c+14],0x0010
  0426  780C03     mov.w 0x0006,[0x0010]
  0428  780B85     mov.w 0x000a,[0x000e]

На 0418 строчке симулятор выдает:
CORE-E0006: Trap due to memory access outside Y data space, occurred from instruction at 0x000418
CORE-W0008: Software Reset Instruction called at PC=0x000a50
Сильно не пинайте, я в ассемблере ноль)