OUT *(PA),loc16
6-265
OUT *(PA),loc16
Output Data to Port
SYNTAX OPTIONS
OPCODE
OBJMODE
RPT
CYC
OUT *(PA),loc16
1011 1100 LLLL LLLL
CCCC CCCC CCCC CCCC
1
−
4
Operands
*(PA)
Immediate I/O space memory address
loc16
Addressing mode (see Chapter 5)
Description
Store the 16-bit value from the location pointed to by the “loc16” addressing
mode into the I/O space location pointed to by the *(PA) operand):
IOspace[0x0000PA] = [loc16];
I/O Space is limited to 64K range (0x0000 to 0xFFFF). On the external
interface (XINTF), if available on a particular device, the I/O strobe signal
(XISn) is toggled during the operation. The I/O address appears on the lower
16 XINTF address lines (XA(15:0)) and the upper address lines are zeroed.
The data appears on the lower 16 data lines (XD(15:0).
Note:
The UOUT operation is not pipeline protected. Hence, if an IN instruction immediately
follows a UOUT instruction, the IN will occur before the UOUT. To be certain of the
sequence of operation, use the OUT instruction, which is pipeline protected.
Note:
The UOUT operation is not pipeline protected. Therefore, if an IN instruction
immediately follows a UOUT instruction, the IN will occur before the UOUT. To be
certain of the sequence of operation, use the OUT instruction, which is pipeline
protected.
I/O space may not be implemented on all C28x devices. See the data sheet for your
particular device for details.
Flags and
Modes
None
Repeat
This instruction is not repeatable. If this instruction follows the RPT
instruction, it resets the repeat counter (RPTC) and executes only once.
Example
; IORegA address = 0x0300;
; IOREgB address = 0x0301;
; IOREgC address = 0x0302;
; IORegA = 0x0000;
; IORegB = 0x0400;
; IORegC = VarA;
; if( IORegC = 0x2000 )
; IORegC = 0x0000;
IORegA .set 0x0300
; Define IORegA address
IORegB .set 0x0301
; Define IORegB address
IORegC .set 0x0302
; Define IORegC address
MOV @AL,#0
; AL = 0
UOUT *(IORegA),@AL
; IOspace[IORegA] = AL
MOV @AL,#0x0400
; AL = 0x0400
UOUT *(IORegB),@AL
; IOspace[IORegB] = AL
OUT *(IORegC),@VarA
; IOspace[IORegC] = VarA
Содержание TMS320C28x
Страница 30: ...1 12...
Страница 80: ...This page intentionally left blank 2 50 This page intentionally left blank...
Страница 269: ...IN loc16 PA 6 112 MOV AL 0 AL 0 UOUT IORegC AL IOspace IORegC AL 10...
Страница 308: ...MAXCUL P loc32 6 151 Saturate MOVL Var64 2 ACC Store result into Var64 MOVL Var64 P...
Страница 509: ...SUBL ACC P PM 6 352 SUBL ACC P PM ACC S B 11 M X 4 MOVH Y ACC 5 Store Q15 result into Y...
Страница 585: ...This page intentionally left blank 7 32 This page intentionally left blank...