3.22EjemploDRM007 Co..
3.22EjemploDRM007 Co..
3.22EjemploDRM007 Co..
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Source <strong>Co</strong>de<br />
Source <strong>Co</strong>de Files<br />
/* _startupData.to<strong>Co</strong>pyDownBeg ---> {nof(16) dstAddr(16) {bytes(8)}^nof} Zero(16)<br />
*/<br />
#if USE_C_IMPL /* (optimized) C implementation of COPY DOWN */<br />
p = (int*)_startupData.to<strong>Co</strong>pyDownBeg;<br />
for (;;) {<br />
i = *p; /* nof */<br />
if (i == 0) {<br />
break;<br />
}<br />
dst = (char*)p[1]; /* dstAddr */<br />
p+=2;<br />
do {<br />
/* p points now into 'bytes' */<br />
*dst = *((char*)p); /* copy byte-wise */<br />
((char*)p)++;<br />
dst++;<br />
i--;<br />
} while (i!= 0);<br />
}<br />
#elif defined(__OPTIMIZE_FOR_SIZE__)<br />
{<br />
asm {<br />
Loop0:<br />
notfinished:<br />
Loop3:<br />
Loop2:<br />
LDA<br />
PSHA<br />
LDA<br />
PSHA<br />
_startupData.to<strong>Co</strong>pyDownBeg:(1+to<strong>Co</strong>pyDownBegOffs)<br />
_startupData.to<strong>Co</strong>pyDownBeg:(0+to<strong>Co</strong>pyDownBegOffs)<br />
JSR loadByte ; load high byte counter<br />
TAX<br />
; save for compare<br />
INCA<br />
STA i<br />
JSR loadByte ; load low byte counter<br />
INCA<br />
STA i:1<br />
DECA<br />
BNE notfinished<br />
CBEQX #0, finished<br />
JSR<br />
PSHA<br />
PULH<br />
JSR<br />
TAX<br />
BRA<br />
loadByte ; load high byte ptr<br />
loadByte ; load high byte ptr<br />
; HX is now destination pointer<br />
Loop1<br />
JSR loadByte ; load data byte<br />
STA 0,X<br />
AIX #1<br />
BLDC Motor <strong>Co</strong>ntrol Board for Industrial and Appliance Applications<br />
DRM007<br />
MOTOROLA Source <strong>Co</strong>de 119