第4章TMS320C55x的指令系统 4.1寻址方式 4.1.1绝对寻址方式 4.1.2直接寻址方式 4.1.3间接寻址方式 4.1.4数据存储器的寻址 4.1.5存储器映射寄存器(MMR)的寻址 4.1.6寄存器位的寻址 4.1.7I/0空间的寻址 4.1.8循环寻址 4.2TMS320C55x的指令系统 4.2.1算术运算指令 4.2.2位操作指令 4.2.3扩展辅助寄存器操作指令 4.2.4逻辑运算指令 4.2.5移动指令 4.2.6程序控制指令 3
第 4 章 TMS320C55x的指令系统 4.1 寻址方式 4.1.1 绝对寻址方式 4.1.2 直接寻址方式 4.1.3 间接寻址方式 4.1.4 数据存储器的寻址 4.1.5 存储器映射寄存器(MMR)的寻址 4.1.6 寄存器位的寻址 4.1.7 I/O空间的寻址 4.1.8 循环寻址 4.2 TMS320C55x的指令系统 4.2.1 算术运算指令 4.2.2 位操作指令 4.2.3 扩展辅助寄存器操作指令 4.2.4 逻辑运算指令 4.2.5 移动指令 4.2.6 程序控制指令 3
4.1寻址方式 C55x通过以下三种寻址方式访问数据空间、存 储器映射寄存器、寄存器位和工/O空间: 绝对寻址方式 通过在指令中指定一个常数地址完成寻址 。直接寻址方式 使用地址偏移量寻址 。间接寻址方式 使用指针完成寻址 5
4.1 寻址方式 C55x通过以下三种寻址方式访问数据空间、存 储器映射寄存器、寄存器位和I/O空间: ⚫ 绝对寻址方式 通过在指令中指定一个常数地址完成寻址 ⚫ 直接寻址方式 使用地址偏移量寻址 ⚫ 间接寻址方式 使用指针完成寻址 5
表4-1指令中用到的语法元素 语法元素 含义 来自数据空间、/O空间或存储器映射寄存器的1( Smem 位数据 Lmem 来自数据空间或存储器映射寄存器的32位数据 Xmem和 同时来自数据空间的两个16位数据 Ymem Cmem 般来自内部数据空间的16位数据(有特例指令) 累加器AC0~AC3、辅助寄存器AR0~AR7、暂存 Baddr 器T0T3的位域,对位域的置1、清0、测试、求 补等位运算用到该语法元素 6
表4-1 指令中用到的语法元素 6 语法元素 含 义 Smem 来自数据空间、I/O空间或存储器映射寄存器的16 位数据 Lmem 来自数据空间或存储器映射寄存器的32位数据 Xmem和 Ymem 同时来自数据空间的两个16位数据 Cmem 一般来自内部数据空间的16位数据(有特例指令) Baddr 累加器AC0~AC3、辅助寄存器AR0~AR7、暂存 器T0~T3的位域,对位域的置1、清0、测试、求 补等位运算用到该语法元素
第4章TMS320C55x的指令系统 4.1寻址方式 4.1.1绝对寻址方式 4.1.2直接寻址方式 4.1.3间接寻址方式 4.1.4数据存储器的寻址 4.1.5存储器映射寄存器(MMR)的寻址 4.1.6寄存器位的寻址 4.1.7I/0空间的寻址 4.1.8循环寻址 7
第4章 TMS320C55x的指令系统 4.1 寻址方式 4.1.1 绝对寻址方式 4.1.2 直接寻址方式 4.1.3 间接寻址方式 4.1.4 数据存储器的寻址 4.1.5 存储器映射寄存器(MMR)的寻址 4.1.6 寄存器位的寻址 4.1.7 I/O空间的寻址 4.1.8 循环寻址 7
4.1.1绝对寻址方式 表4-2绝对寻址方式 绝对寻址方式 含义 该寻址方式使用7位的DPH和16位的无符号立 k16绝对寻址方式即数组成一个23位的数据空间地址,可用于 访问存储器空间和存储器映射寄存器 该寻址方式使用23位的无符号立即数作为数 k23绝对寻址方式据空间地址,可用于访问存储器空间和存储 器映射寄存器 该寻址方式使用16位无符号立即数作为/O空 VO绝对寻址方式 间地址,可用于寻址/O空间 8
4.1.1 绝对寻址方式 表4-2 绝对寻址方式 8 绝对寻址方式 含 义 k16绝对寻址方式 该寻址方式使用7位的DPH和16位的无符号立 即数组成一个23位的数据空间地址,可用于 访问存储器空间和存储器映射寄存器 k23绝对寻址方式 该寻址方式使用23位的无符号立即数作为数 据空间地址,可用于访问存储器空间和存储 器映射寄存器 I/O绝对寻址方式 该寻址方式使用16位无符号立即数作为I/O空 间地址,可用于寻址I/O空间
1.k16绝对寻址方式 格式 07 例:M0V*abs16(#2002h),T2 ◆*abs16(#k16) 23位地址:(DPH:#k16) 其中:k16是一个16位无符号常数。 ●要点 ◆7位的DPH和16位的无符号立即数组成一个23 位的数据空间地址 ◆常数k16被固定译码为2个字节扩充到指令中; ◆采用这种寻址方式的指令不能与其它指令并 行执行。 9
1. k16绝对寻址方式 ⚫格式 ◆*abs16(#k16) 其中:k16是一个16位无符号常数。 ⚫要点 ◆7位的DPH和16位的无符号立即数组成一个23 位的数据空间地址 ◆常数k16被固定译码为2个字节扩充到指令中; ◆采用这种寻址方式的指令不能与其它指令并 行执行。 9 例:MOV *abs16(#2002h), T2 23位地址:(DPH:#k16)
DPH k16 数据空间 0000000 0000000000000000 主数据页0: 8 0000000 1111111111111111 00 0000h~00 FFFFh 0000001 0000000000000000 主数据页1: 8 0000001 1111111111111111 010000h~01 FFFFh 0000010 0000000000000000 主数据页2: 0000010 1111111111111111 020000h~02 FFFFh : 1111111 0000000000000000 主数据页127: : 1111111 1111111111111111 7F 0000h~7F FFFFh 图4-1k16绝对寻址方式 10
图4-1 k16绝对寻址方式 10 DPH k16 数据空间 000 0000 . .. 000 0000 0000 0000 0000 0000 . .. 1111 1111 1111 1111 主数据页0: 00 0000h~00 FFFFh 000 0001 . .. 000 0001 0000 0000 0000 0000 . .. 1111 1111 1111 1111 主数据页1: 01 0000h~01 FFFFh 000 0010 . .. 000 0010 0000 0000 0000 0000 . .. 1111 1111 1111 1111 主数据页2: 02 0000h~02 FFFFh . . . . . . . . . . . . . . . . 111 1111 . .. 111 1111 0000 0000 0000 0000 . .. 1111 1111 1111 1111 主数据页127: 7F 0000h~7F FFFFh
(见112页)4.1.4(-7)节中各例题放到对应寻址方式来介绍。 例4-1,*abs16(#k16)用于数据存储器寻址。 设DPH=03h。 (1)M0V*abs16(#2002h),T2 ;#k16=2002h,CPU从032002h处读取数据装入T2 例4-8:*abs16(#k16)用于MMR寻址,DPH必须为00h (见114页)(4.1.5存储器映射寄存器的寻址) MOV*bs1E(#AR2),T2,*abs16错用MMR寻址 :DPH:k16=000012h(AR2的地址为000012h) :CPU从000012h处读取数据装入T2 编译报错,可用MOV*(#AR2),T2 k23绝对寻址方式 11
例4-1, *abs16(#k16) 用于数据存储器寻址。 设DPH=03h。 (1) MOV *abs16(#2002h), T2 ;#k16=2002h, CPU从03 2002h处读取数据装入T2 例4-8: *abs16(#k16)用于MMR寻址, DPH必须为00h。 11 (见112页) 4.1.4(-7)节中各例题放到对应寻址方式来介绍。 MOV *abs16(#AR2), T2 ; *abs16错用MMR寻址 ;DPH:k16=00 0012h (AR2的地址为00 0012h) ;CPU从00 0012h处读取数据装入T2 (见114页) (4.1.5 存储器映射寄存器的寻址) 编译报错, 可用MOV *(#AR2) , T2 k23绝对寻址方式
2.k23绝对寻址方试 ●格式 例:MOV*(#032002h),T2 ◆*(#k23) 其中:k23是一个无符号的23位常数。 ●要点 ◆无符号常数k23被固定译码为3个字节,其中 第三个字节的最高位被忽略; ◆不能与其它指令并行执行; ◆不能用于重复指令中。 12
2. k23绝对寻址方试 ⚫格式 ◆*(#k23) 其中:k23是一个无符号的23位常数。 ⚫要点 ◆无符号常数k23被固定译码为3个字节, 其中 第三个字节的最高位被忽略; ◆不能与其它指令并行执行; ◆不能用于重复指令中。 12 例:MOV *(#032002h),T2
k23 数据空间 00000000000000000000000 主数据页0: 00000001111111111111111 00 0000h~00 FFFFh 00000010000000000000000 主数据页1: 00000011111111111111111 010000h~01 FFFFh 00000100000000000000000 主数据页2: 00000101111111111111111 020000h~02 FFFFh 11111110000000000000000 主数据页127: 11111111111111111111111 7F 0000h~7F FFFFh 图4-2k23绝对寻址方式 13
图4-2 k23绝对寻址方式 13 k23 数据空间 000 0000 0000 0000 0000 0000 . . . 000 0000 1111 1111 1111 1111 主数据页0: 00 0000h~00 FFFFh 000 0001 0000 0000 0000 0000 . . . 000 0001 1111 1111 1111 1111 主数据页1: 01 0000h~01 FFFFh 000 0010 0000 0000 0000 0000 . . . 000 0010 1111 1111 1111 1111 主数据页2: 02 0000h~02 FFFFh .. . . . . . . . . . 111 1111 0000 0000 0000 0000 . . . 111 1111 1111 1111 1111 1111 主数据页127: 7F 0000h~7F FFFFh