EasyManuals Logo

Infineon TriCore TC1.6P User Manual

Infineon TriCore TC1.6P
484 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #42 background imageLoading...
Page #42 background image
TriCore
®
TC1.6P & TC1.6E
32-bit Unified Processor Core
Instruction Set Overview
V1.0 2013-07
User Manual (Volume 2) 2-20
Figure 2-17 Load/Store Basic Data Type
2.10.2 Load Bit
The approaches for loading individual bits depend on whether the bit within the word (or byte) is given statically or
dynamically.
Loading a single bit with a fixed bit offset from a byte pointer is accomplished with an ordinary load instruction. It
is then possible to extract, logically operate on, or jump to any bit in a register.
Loading a single bit with a variable bit offset from a word-aligned byte pointer, is performed with a special scaled
offset instruction. This offset instruction shifts the bit offset to the right by three positions (producing a byte offset),
adds this result to the byte pointer above, and finally zeros out the two lower bits, so aligning the access on a word
boundary.
A word load can then access the word that contains the bit, which can be extracted with an extract instruction that
only uses the lower five bits of the bit pointer; i.e. the bits that were either shifted out or masked out above. For
example:
ADDSC.AT A8, A9, D8; // A9 = byte pointer. D8 = bit offset
LD.W D9, [A8]
EXTR.U D10, D9, D8, 1; // D10[0] = loaded bit
2.10.3 Store Bit and Bit Field
The ST.T (Store Bit) instruction can clear or set single memory or peripheral bits, resulting in reduced code size.
ST.T specifies a byte address and a bit number within that byte, and indicates whether the bit should be set or
cleared. The addressable range for ST.T is the first 16-KBytes of each of the 16 memory segments.
TC1060B
m1
015
m1
07
m1
015
m1
07
s
m1
07
m1
015
m1
015
s
m1
015
m1
031
m1
063
Memory Data
LD.W / LD.A
m1
031
ST.W / ST.A
LD.D / LD.DA
ST.D / ST.DA
M1[63:32]
031
M1[31:0]
031
D[n+1] / A[n+1] D[n] / A[n]
D[n]
0
31
m1
01516
zero fill
LD.HU
s
31 16
sign fill
LD.H
m1
015
s
D[n]
ST.H
D[n]
x
31
m1
01516
0
31
zero fill
0
D[n]
m1
87
LD.BU
s
31
sign fill
0
D[n]
m1
87
LD.B
x
31 0
D[n]
m1
87
ST.B
LD.Q
D[n]
0
31
m1
01516
zero fill
ST.Q
D[n]
x
31
m1
01516
Registers
D[n] / A[n]

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Infineon TriCore TC1.6P and is the answer not in the manual?

Infineon TriCore TC1.6P Specifications

General IconGeneral
BrandInfineon
ModelTriCore TC1.6P
CategoryMicrocontrollers
LanguageEnglish

Related product manuals