




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第第3章章 TMS320C55x 的指令系统的指令系统(第第8讲讲)3.2 指令系统指令系统3.2.5 移动指令移动指令3.2.3 扩展辅助寄存器操作指令扩展辅助寄存器操作指令3.2.4 逻辑运算指令逻辑运算指令3.2.1 算术运算指令算术运算指令3.2.2 位操作指令位操作指令3.2.6 程序控制指令程序控制指令23.2.2 位操作指令位操作指令位域比较指令位域比较指令位域扩展和抽取指令位域扩展和抽取指令存储器位操作指令存储器位操作指令寄存器位操作指令寄存器位操作指令状态位设置指令状态位设置指令31. 位域比较指令位域比较指令 格式格式 BAND Smem,k16,TCx ;If (Sme
2、m)AND k16)=0),TCx=0;else TCx=1 状态位状态位 不影响指令执行不影响指令执行 执行指令后会受状态位影响执行指令后会受状态位影响 TCxBit Field Comparison (BAND)4例例(1) BAND *AR0, #0060h, TC1(2) BAND *AR3, #00A0h, TC252. 位域抽取和扩展指令位域抽取和扩展指令 (1) 位域抽取位域抽取 BFXTR k16,ACx,dst 例:例:BFXTR #8024h, AC0, T2Bit Field Extract (BFXTR)6 The 16-bit field mask, k16, is
3、scanned from the least significant bits (LSBs) to the most significant bits (MSBs). According to the bit set to 1 in the bit field mask, the corresponding 16 LSBs of the source accumulator (ACx) bits are extracted and packed toward the LSBs. The result is stored in dst.7 (2) 位域扩展位域扩展 BFXPA k16,ACx,d
4、stBit Field Expand (BFXPA)8 The 16-bit field mask, k16, is scanned from the least significant bits (LSBs) to the most significant bits (MSBs). According to the bit set to 1 in the bit field mask, the 16 LSBs of the source accumulator (ACx) bits are extracted and separated with 0 toward the MSBs. The
5、 result is stored in dst.93. 存储器位操作指令存储器位操作指令 指令指令 包括包括 测试、清零、置位和取反测试、清零、置位和取反 指令及操作如表指令及操作如表3-34所示所示 状态位状态位 不影响指令执行不影响指令执行 执行指令后会受状态位影响执行指令后会受状态位影响 TCx10表表3-34 存储器位操作指令存储器位操作指令助助记记符符指指令令 说说 明明 BIST src, Smem, TCx 以以 src 的的 4 个个 LSB 为为位位地地址址,测测试试 Smem 的的对对应应位位 BNOT src, Smem 以以 src 的的 4 个个 LSB 为为位位地
6、地址址,取取反反 Smem 的的对对应应位位 BCLR src, Smem 以以 src 的的 4 个个 LSB 为为位位地地址址,清清零零 Smem 的的对对应应位位 BSET src,Smem 以以 src 的的 4 个个 LSB 为为位位地地址址,置置位位 Smem 的的对对应应位位 BTSTSET k4,Smem,TCx 以以 k4 为为位位地地址址,测测试试并并置置位位 Smem 的的对对应应位位 BTSTCLR k4,Smem,TCx 以以 k4 为为位位地地址址,测测试试并并清清零零 Smem 的的对对应应位位 BTSTNOT k4,Smem,TCx 以以 k4 为为位位地地址址
7、,测测试试并并取取反反 Smem 的的对对应应位位 BTST k4,Smem,TCx 以以 k4 为为位位地地址址,测测试试 Smem 的的对对应应位位 11 (1) BTST AC0, *AR0, TC1 (2) BTST AC0, *AR0, TC2The instruction tests a single bit, as defined by the content of the source (src) operand, of a memory (Smem) location. The tested bit is copied into the selected TCx status
8、 bit.12 (1) BTSTNOT #12, *AR0, TC1 (2) BTSTNOT #12, *AR3, TC2The instruction tests a single bit, as defined by a 4-bit immediate value, k4, of a memory (Smem) location and the tested bit is copied into status bit TCx and is complemented in Smem.134. 寄存器位操作指令寄存器位操作指令 指令指令 包括包括 测试、清零、置位和取反测试、清零、置位和取反
9、指令及操作如表指令及操作如表3-36所示所示 状态位状态位 不影响指令执行不影响指令执行 执行指令后会受状态位影响执行指令后会受状态位影响 TCx14助记符指令助记符指令说说 明明BTST Baddr, src, TCx以以Baddr为位地址,测试为位地址,测试src的对应位,并复制的对应位,并复制到到TCx中中BNOT Baddr, src以以Baddr为位地址,取反为位地址,取反src的对应位的对应位BCLR Baddr, src以以Baddr为位地址,清零为位地址,清零src的对应位的对应位BSET Baddr, src以以Baddr为位地址,置位为位地址,置位src的对应位的对应位BT
10、STP Baddr, src以以Baddr和和Baddr+1为位地址,测试为位地址,测试src的两个的两个位,分别复制到位,分别复制到TC1和和TC2中。中。表表3-35 寄存器位操作指令寄存器位操作指令155. 状态位设置指令状态位设置指令 指令指令 包括:包括: 置位和清零置位和清零 指令及操作如表指令及操作如表3-37所示所示 状态位状态位 不影响指令执行不影响指令执行 执行指令后会受状态位影响执行指令后会受状态位影响 已经选择的状态位已经选择的状态位16表表3-36 状态位设置指令状态位设置指令17 例例 (1) BCLR #1,ST2_55 (2) BSET #11,ST0_5518
11、3.2.6 程序控制指令程序控制指令跳转指令跳转指令调用与返回指令调用与返回指令中断与返回指令中断与返回指令重复指令重复指令其他程序控制指令其他程序控制指令191. 跳转指令跳转指令 指令指令 包括包括 条件跳转、无条件跳转条件跳转、无条件跳转 指令及操作如表指令及操作如表3-44所示所示 状态位状态位 影响指令执行的状态位影响指令执行的状态位 ACOVx,CARRY,C54CM,M40,TCx 执行指令后会影响的状态位执行指令后会影响的状态位 ACOVx20表表3-44 跳转指令跳转指令助记符指令助记符指令 说说 明明 B ACx 跳转由累加器跳转由累加器 ACx(230)指定的地址,即指定
12、的地址,即 PC=ACx(230) B L7 跳转到标号跳转到标号 L7,L7 为为 7 位长的相对位长的相对 PC 的的带符号带符号偏移偏移 B L16 跳转到标号跳转到标号 L16,L16 为为 16 位长的相对位长的相对 PC 的的带符号带符号偏移偏移 B P24 跳转到由标号跳转到由标号 P24 指定的地址,指定的地址,P24 为绝对程序地址为绝对程序地址 BCC L4, cond 条件为真时,跳转到标号条件为真时,跳转到标号 L4 处,处,L4 为为 4 位长的相对位长的相对 PC 的的无符号无符号偏移偏移 BCC L8,cond 条件为真时,跳转到标号条件为真时,跳转到标号 L8
13、处,处,L8 为为 8 位长的相对位长的相对 PC 的的带符号带符号偏移偏移 BCC L16,cond 条件为真时,跳转到标号条件为真时,跳转到标号 L16 处,处,L16 为为 16 位长的相对位长的相对 PC 的的带符号带符号偏移偏移 BCC P24,cond 条件为真时,跳转到标号条件为真时,跳转到标号 P24 处,处,P24 为为 24 位长的绝对程序地址位长的绝对程序地址 BCC L16,ARn_mod!=#0 当指定的辅助寄存器不等于当指定的辅助寄存器不等于 0 时,跳转到标号时,跳转到标号 L16 处,处,L16 为为 16 位长的相位长的相对对 PC 的的带符号带符号偏移偏移
14、BCCU L8, src RELOP K8 当当 src 与与 K8 的关系满足指定的关系时,跳转到标号的关系满足指定的关系时,跳转到标号 L8 处,处,L8 为为 8 位长的位长的相对相对 PC 的的带符号带符号偏移偏移 21 例例1BCC branch, *AR0 != #0; The content of AR0 is not equal to 0, control is passed to ; the program address label defined by branch.22 例例2BCC branch, TC1; TC1 is set to 1, control is pa
15、ssed to the program address ; label defined by branch.23 例例3B AC0; Program control is passed to the program; address defined by the content of AC0(230).242. 调用与返回指令调用与返回指令 指令指令 包括包括 有条件、无条件有条件、无条件 指令及操作如表指令及操作如表3-45所示所示 状态位状态位 影响指令执行的状态位影响指令执行的状态位 ACOVx,CARRY,C54CM,M40,TCx 执行指令后会受影响的状态执行指令后会受影响的状态 A
16、COVx25表表3-45 调用与返回指令调用与返回指令26 例例1CALLCC(subroutine),AC1=#2000h; AC1=#2000h,PC=子程序地址子程序地址The content of AC1 is equal to or greater than 2000h, control is passed to the program address label, subroutine. The program counter (PC) is loaded with the subroutine program address.27 例例2RETCC ACOV0=#0 ;ACOV0
17、=0,PC=调用子程序的返回地址调用子程序的返回地址The AC0 overflow bit is equal to 0, the program counter (PC) is loaded with the return address of the calling subroutine.283. 中断与返回指令中断与返回指令 指令指令 INTR k5 程序执行中断服务子程序程序执行中断服务子程序 中断向量地址由中断向量指针(中断向量地址由中断向量指针(IVPD)和)和5bit无符无符号数确定号数确定 置位置位INTM TRAP k5 除除不置位不置位INTM外,其它同外,其它同 INTR
18、 k5 RETI 从中断服务子程序返回从中断服务子程序返回 状态位状态位 状态位不影响指令执行;执行指令后会影响状态位不影响指令执行;执行指令后会影响 INTM294. 重复指令重复指令 指令指令 包括包括 单指令重复、块重复单指令重复、块重复 指令及操作如表指令及操作如表3-46所示所示 状态位状态位 影响指令执行的状态位影响指令执行的状态位 ACOVX,CARRY,C54CM,M40,TCx 执行指令后会受影响的状态位执行指令后会受影响的状态位 ACOVx30表表3-46 重复指令重复指令31 例例RPT CSR ;下一条指令执行下一条指令执行CSR+1次次MACM *AR3+,*AR4+
19、,AC1符号扩展至符号扩展至17bit17bit后再进行乘法运算后再进行乘法运算326. 其他程序控制指令其他程序控制指令 条件执行条件执行 XCC lable,cond ;条件满足,则执行下面一条指令条件满足,则执行下面一条指令 XCCPART lable,cond;条件满足,则执行下面两条并行指令条件满足,则执行下面两条并行指令 空闲空闲 IDLE 空操作空操作 NOP 软件复位软件复位 RESET33 例例XCC branch, *AR0 != #0ADD *AR2+, AC0344.7 一个完整的汇编程序一个完整的汇编程序计算计算 y=x0+x3+x1+x2(1)汇编源程序)汇编源程序
20、(test.asm) * Step 1: 定义有关代码段和数据段定义有关代码段和数据段.def x,y,initx .usect vars,4 ; 为变量为变量x保留保留4个未初始化个未初始化16位存储单元位存储单元y .usect “vars”,1 ; 为变量为变量y保留保留1个未初始化个未初始化16位存储单元位存储单元.sect table ; 创建初始化段创建初始化段table,存储,存储x的初始化值的初始化值init .int 1,2,3,435.text ; 创建代码段创建代码段(.text).global start ; 定义代码段的起始标号定义代码段的起始标号start* Ste
21、p 2: 处理器模式初始化处理器模式初始化BCLR C54CM ; 设置处理器为设置处理器为55x模式模式BCLR AR0LC ;设置设置AR0为线性模式为线性模式BCLR AR6LC ;设置设置AR6为线性模式为线性模式36* Step 3a: 采用间接寻址方法复制采用间接寻址方法复制x的初始化值到的初始化值到xcopyAMOV #x,XAR0 ; XAR0 指向变量指向变量xAMOV #init,AR6 ; XAR6指向初始化表指向初始化表tableMOV *AR6+,*AR0+ ; 复制开始复制开始MOV *AR6+,*AR0+MOV *AR6+,*AR0+MOV *AR6+,*AR0+
22、37* Step 3b: 采用直接寻址方法将采用直接寻址方法将x的值相加的值相加addAMOV #x,XDP ; XDP 指向变量指向变量x.dp x MOV x,AC0ADD x+3,AC0ADD x+1,AC0ADD x+2,AC0* Step 3c: 用绝对寻址方法把运算结果写到变量用绝对寻址方法把运算结果写到变量y中中MOV AC0,*(#y)endnopB end计算计算 y=x0+x3+x1+x238(2)链接器命令文件)链接器命令文件 (test.cmd)test.obj /* 输入文件输入文件 */o test.out /* 输出文件输出文件 */m test.map /* m
23、ap文件文件*/MEMORYDARAM: org= 000100h, len = 8000hSARAM: org= 010000h, len = 8000hSECTIONSvars : DARAMtable: SARAM.text: SARAM39例例1. 条件分支条件分支 (B or BC)unsigned int x;/ Allocate a variable x.if ( x = 5) / Test if the value of x is 5. x+; / If so, increment variable x.假设假设 x 存放在存放在 310h 处处方法方法1:AMOV #x, X
24、DP ; XDP pointing to variable x.dp xMOV x, AC0 ; AC0 = xSUB #5, AC0 ; AC0 = AC0 - 5BCC incr, AC0 = #0 ; jump to incr If A = 0B done ; jump to done unconditionallyincr: ADD #1, x ; Increment variable x.done: ; Processing complete.40方法方法2:AMOV #x, XDP ; XDP pointing to variable x.dp xMOV x, AC0 ; AC0 = xSUB #5, AC0 ; AC0 = AC0 - 5BCC done, AC0 != 0 ; jump to done If AC0 != 0incr: ADD #1, x ; Increment variable x.done: ; Processing complete.41例例2. 循环循环 Loopunsigned int i, j;i = 0;while ( i = #0 ; jump to done1 if AC0 = 0ADD #21, AC0 ; Restore accumulator A and; Increment vari
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医师晋级管理办法
- 电梯内管理办法
- 丰田防错管理办法
- 内勤层级管理办法
- 交通专项管理办法
- 分包造价管理办法
- 协查管理办法税务
- 星级化管理办法
- 创文经费管理办法
- 人民来访管理办法
- 2025年丁烷气瓶市场前景分析
- 2025年北京市高考英语试卷(含答案)
- 计算机视觉与深度学习在交通工程中的应用
- 软件开发项目上线报告模板
- 医院重点病人管理制度
- 2025狱警公务员面试题及答案
- 非典型溶血尿毒综合征多学科共识解读(2025版)
- 中华护理学会团体标准|2024 针刺伤预防与处理
- STM32智能扫地机器人的设计与实现
- 国家电网有限公司输变电工程通 用设计(330~750kV输电线路绝缘子金具串通 用设计分册)2024版
- 湖北省武汉市经济开发区2025届四下数学期末考试试题含解析
评论
0/150
提交评论