21.01.2014 Views

3.22EjemploDRM007 Co..

3.22EjemploDRM007 Co..

3.22EjemploDRM007 Co..

SHOW MORE
SHOW LESS

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 />

ZeroOut: ;<br />

LDA _startupData.nofZeroOuts:1 ; nofZeroOuts<br />

INCA<br />

STA i:1 ; i is counter for number of zero outs<br />

LDA _startupData.nofZeroOuts:0 ; nofZeroOuts<br />

INCA<br />

STA i:0<br />

LDHX _startupData.pZeroOut ; *pZeroOut<br />

BRA Zero_5<br />

Zero_3: ;<br />

; CLR i:1 is already 0<br />

Zero_4: ;<br />

; { HX == _pZeroOut }<br />

PSHX<br />

PSHH<br />

; { nof bytes in (int)2,X }<br />

; { address in (int)0,X }<br />

LDA 0,X<br />

PSHA<br />

LDA 2,X<br />

INCA<br />

STA p ; p:0 is used for high byte of byte counter<br />

LDA 3,X<br />

LDX 1,X<br />

PULH<br />

INCA<br />

BRA<br />

Zero_0<br />

Zero_1: ;<br />

; CLRA A is already 0, so we don't have to clear it<br />

Zero_2: ;<br />

CLR 0,X<br />

AIX #1<br />

Zero_0: ;<br />

DBNZA Zero_2<br />

Zero_6:<br />

DBNZ p, Zero_1<br />

PULH<br />

PULX<br />

; restore *pZeroOut<br />

AIX #4 ; advance *pZeroOut<br />

Zero_5: ;<br />

DBNZ i:1, Zero_4<br />

DBNZ i:0, Zero_3<br />

;<br />

<strong>Co</strong>pyDown: ;<br />

}<br />

#endif<br />

/* copy down */<br />

DRM007<br />

BLDC Motor <strong>Co</strong>ntrol Board for Industrial and Appliance Applications<br />

118 Source <strong>Co</strong>de MOTOROLA

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!