www.ti.com
5.5.5RegisterConventions
TMS320C55xRulesandGuidelines
IfthealgorithmdoesnotuseB-bus,thenthefirstcolumnmustbezero.Ifthereismorethanoneblock
thatisaccessedbytheB-bus,thenalltheblocknumbersmustbespecifiedinthesecondcolumnas
shownintheaboveexample.
Example2:
Anystatic-datathatisaccessedbytheB-busmustbedocumentedaspertheRule37asfollows:
Datasectionnamesthatareaccessedbythe
B-bus
.data
.coefwords
Thisway,theclientwillknowwhichofthememoryblocksanddata-sectionsmustbeplacedinon-chip
memoryforthecorrectexecutionofthealgorithm.
ThissectiondescribestherulesandguidelinesthatapplytotheuseoftheTMS320C55xon-chip
registers.Notethatanalgorithmmustnotaccessanyregisterthatisnotdescribedhere.
Thetablebelowdescribesalloftheregistersthatmaybeaccessedbyanalgorithm.Pleasereferto
TMS320C55xOptimizingC/C++CompilerUser'sGuide(SPRU281),RuntimeEnvironmentchapter,for
moredetailsabouttheruntimeconventionsfollowedbythecompiler.
RegisterUseType
(X)AR0,(X)AR1,(X)AR2,(X)AR3,(X)AR4Functionarguments:datapointers(16-or23-bit)orScratch(local)
datavalues(16-bit)
(X)AR5,(X)AR6,(X)AR7CcompilerregistervariablesPreserve(local)
AC0,AC1,AC2,AC316-bit,32-bitand40-bitdataor24-bitcodepointersScratch(local)
T0,T1Functionarguments:16-bitdatavaluesScratch(local)
T2,T3CcompilerexpressionregistersPreserve(local)
SSPSystemStackPointerPreserve(local)
SPStackPointerPreserve(local)
ST0,ST1,ST2,ST3StatusregistersPreserve(local)
IFR0,IMR0,IFR1,IMR1InterruptflagandmaskregisterRead-only(global)
TRN0,TRN1TransitionregistersScratch(local)
BK03,BK47,BKCCircularBufferOffsetregistersScratch(local)
BRC0,BRC1BlockRepeatCounterregistersScratch(local)
RSA0,REA0,RSA1,REA1BlockrepeatstartandendaddressregistersScratch(local)
CDPCoefficientDataPointerScratch(local)
XDPExtendedDatapagepointerScratch(local)
DPMemorydatapagestartaddressScratch(local)
PDPPeripheralDatapagestartaddressScratch(local)
BOF01,BOF23,BOF45,BOF67,BOFCCircularbufferoffsetregistersScratch(local)
BIOSDatapagepointerstorageRead-only(global)
BRS0,BRS1BlockrepeatsaveregistersScratch(local)
CSRComputedSingleRepeatScratch(local)
RPTCRepeatSingleCounterScratch(local)
XSPExtendeddataStackpointerPreserve(local)
XCDPExtendedcoeffpagepointerScratch(local)
IVPDInterruptvectorpointerDSPRead-only(global)
IVPHInterruptvectorpointerhostRead-only(global)
DSP-SpecificGuidelines 54SPRU352G–June2005–RevisedFebruary2007
SubmitDocumentationFeedback