
TM1300 Data Book
Philips Semiconductors
A-166
PRODUCT SPECIFICATION
8-bit store with displacement
pseudo-op for h_st8d
SYNTAX
[ IF rguard ] st8d(d) rsrc1 rsrc2
FUNCTION
if
rguard
then
mem[rsrc1+ d
←
rsrc2<7:0>
ATTRIBUTES
Function unit
Operation code
Number of operands
Modifier
Modifier range
Latency
Issue slots
dmem
29
2
7 bits
–64..63
n/a
4, 5
DESCRIPTION
The
st8d
operation is a pseudo operation transformed by the scheduler into an
h_st8d
with the same arguments.
(Note: pseudo operations cannot be used in assembly files.)
The
st8d
operation stores the least-significant 8-bit byte of rsrc2into the memory location pointed to by the address
formed from the sum rsrc1 + d The value of the opcode modifier d must be in the range -64 and 63 inclusive. This
operation does not depend on the bytesex bit in the PCSW since only a single byte is stored.
The result of an access by
st8d
to the MMIO address aperture is undefined; access to the MMIO aperture is
defined only for 32-bit loads and stores.
The
st8d
operation optionally takes a guard, specified in rguard If a guard is present, its LSB controls the
modification of the addressed memory location (and the modification of cache if the location is cacheable). If the LSB
of rguard is 1, the store takes effect. If the LSB of rguard is 0, st8d has no side effects whatever; in particular, the LRU
and other status bits in the data cache are not affected.
EXAMPLES
Initial Values
Operation
Result
r10 = 0xd00, r80 = 0x44332211
r50 = 0, r20 = 0xd01,
r70 = 0xaabbccdd
r60 = 1, r30 = 0xd02,
r70 = 0xaabbccdd
st8d(3) r10 r80
IF r50 st8d(-4) r20 r70
[0xd03]
←
0x11
no change, since guard is false
IF r60 st8d(-4) r30 r70
[0xcfe]
←
0xdd
SEE ALSO
h_st8d st8 st16 st16d st32
st32d
st8d