3.1.2汇编语言指令举例:LD命令 Example 1 LD *AR1,A Before Instruction After Instruction A 0000000000 A 000000FEDC SXM SXM AR1 0200 AR1 0200 Data Memory 0200h FEDC 0200h FEDC Example 2 LD *AR1,A Before Instruction After Instruction A 0000000000 A FF FFFF FEDC SXM 1 SXM 1 AR1 0200 AR1 0200 Data Memory 0200h FEDC 0200h FEDC
3.1.2 汇编语言指令举例: LD命令 22
3.1.2汇编语言指令举例:LD命令 Example 5 LD #248,B Before Instruction After Instruction B 0000000000 B 00000000F8 SXM SXM Example 6 LD A,8,B Before Instruction After Instruction A 007FFD0040 A 007FF①0040 B 000000FFFF B 7FFD004000 OVB 0 OVB SXM 1 SXM 1 Data Memory 0200h FEDC 0200h E婴C
3.1.2 汇编语言指令举例: LD命令 D 23
3.2寻址方式 3.2寻址方式 C54x的寻址方式共有下列7种: > (1)立即寻址 > (2)绝对寻址 > (3)累加器寻址 > (4)直接寻址 > (5)间接寻址 > (6)存储器映像寄存器寻址 > (7)堆栈寻址 24
3.2 寻址方式 C54x的寻址方式共有下列7种: ➢ (1)立即寻址 ➢ (2)绝对寻址 ➢ (3)累加器寻址 ➢ (4)直接寻址 ➢ (5)间接寻址 ➢ (6)存储器映像寄存器寻址 ➢ (7)堆栈寻址 3.2 寻址方式 24
3.2.1立即寻址:指令中的操作数是一个立即数,用#表示。 短立即数一3位(k3)、5位(k5)、≤8位(K)或9位(k9) 长立即数一16k)位 LD#k3,ARP;0≤K3≤7 NTRK;0≤K≤31 LD#k5,AS;-16≤K5≤15 TRAP K;0≤K≤31 LD#k9,DP;0≤K≤511 DLEK;1≤K≤3 LD#IK[,SHFT刀,dst; LD #K,dst;0≤K≤255 LD #IK,16,dst; RPT#K;0≤K≤255 32768≤IK≤32767 FRAME K;-128≤K≤127 使用短(长)立即数的指令代码通常为一(两)个字长 例3-2LD#4,DP;4→DP, 指令代码:EA04H LD #7850H,A;7850H→A;指令代码:F020H7850H LD#78H,A;78H→A;指令代码:E850H 25
3.2.1 立即寻址: 指令中的操作数是一个立即数, 用#表示。 l 短立即数—3位(k3)、5位(k5)、≤8位(K)或9位(k9) l 长立即数—16(lk)位 25 INTR K; 0 ≤K ≤31 TRAP K; 0 ≤K ≤31 IDLE K; 1 ≤K ≤3 LD #K, dst; 0 ≤K ≤255 RPT #K; 0 ≤K ≤255 FRAME K; –128 ≤K ≤127 使用短(长)立即数的指令代码通常为一(两)个字长 例3-2 LD #4, DP ; 4→DP , 指令代码:EA04H LD #7850H,A;7850H→A; 指令代码:F020H 7850H LD #78H,A;78H→A; 指令代码:E850H LD #k3, ARP; 0 ≤K3 ≤7 LD #k5, ASM; -16 ≤K5 ≤15 LD #k9, DP; 0≤K ≤511 LD #lK [,SHFT], dst; LD #lK,16, dst; –32768≤lK≤32 767
3.2.1立即寻址 可使用立即寻址的指令及立即数的位数如下表所示: 3位或5位 ≤8位 9位 16位 立即数 立即数 立即数 立即数 FRAME ADD ADDM S SUB MAC D LD #k3,ARP AND ANDM OR ORM LD #k5,ASM RPT K LD #k9,DP XOR XORM BITF CMPM IDLE K LD ST STM INTR K RPT RPTZ TRAP K FRAME:Stack Pointer Immediate Offset:FRAME K;(SP)+K-SP 1514 13 12 11 10 9 8 7 6 5 4 3 2 LD #K,dst 1 1 1 0 1 0 0 K K K 个 K K K K INTRK 15 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 LD #k9,DP 1 1 0 1 0 1 K K K K K K K K K
26 可使用立即寻址的指令及立即数的位数如下表所示: 3位或5位 立即数 LD LD #k3,ARP LD #k5,ASM FRAME: Stack Pointer Immediate Offset; FRAME K 3.2.1 立即寻址 ; (SP)+K→SP 16位 立即数 ADD ADDM SUB MAC AND ANDM OR ORM XOR XORM BITF CMPM LD ST STM RPT RPTZ 9位 立即数 LD LD #k9,DP ≤8位 立即数 FRAME LD RPT K IDLE K INTR K TRAP K LD #K,dst INTR K LD #k9,DP