欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    TMSLF的寻址方式.ppt

    • 资源ID:6522027       资源大小:823.55KB        全文页数:75页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    TMSLF的寻址方式.ppt

    第三章 寻址方式和指令系统,本章基本要求1、熟悉DSP汇编语言指令2、能编写简单应用程序3、了解完整应用程序的结构,3.1 寻址方式,3 种基本寻址方式:立即寻址方式,直接寻址方式,间接寻址方式,3.1.1 立即寻址方式指令中包含该指令要操作的常数,1、短立即寻址 指定8/9/13位的常数作为操作数,2、长立即寻址 指定16位的常数作为操作数,例1:短立即寻址RPT#7;将RPT后面的那条指令执行8次,指令机器代码为:,操作码 操作数,例2、长立即寻址 LACC#0FFF,3;将0FFFH左移3位后与累加器内容相加,指令机器代码为:,指令操作码 左移位数,0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1,3.1.2 直接寻址方式状态寄存器ST0,8 0,数据页指针,直接寻址模式下的数据存储器地址由数据页指针DP与偏移地址构成,15 13,3.1.2 直接寻址方式,数据存储器,在使用直接寻址时,必须确保正确的数据页,DP值保存在ST0中,可以通过 LDP#XXH XX0511或 LST 指令对DP 赋值,数据页面指针(DP)指令寄存器(IR),9位,8MSB,页面(9MSB),偏移量(7LSB),0,7LSB,16位地址的形成,使用直接寻址的方法:1、设置数据页(LDP#XX)2、指明偏移量,采用直接寻址时,不必每条指令前面都要设置数据页,如果一段代码的所有直接寻址指令都访问同一个数据页,则只需在该段代码的最前面装载一次DP值即可。,8MSB,0,7LSB,操作码,直接寻址,偏移地址,数据页面指针DP=4,0000 0010 0,0 0 1 0,0 0 1 0,0,000 1001,0000 0010 0,000 1001,指令寄存器(IR),ADD的操作码,移5位 直接寻址,LDP#4ADD 9H,5,0 2 0 9,数据页面指针DP=500,1111 1010 0,0 1 1 0 0 0 0 0,0,000 1001,1111 1010 0,000 1001,指令寄存器(IR),ADD的操作码,移5位 直接寻址,LDP#500ADDC 9H,F B 0 9,LDP#0H LACC 64H ADD 50H LDP#6H SUB 2H,数据存储器空间64H内的值与数据存储器空间50H内的值相加再减去数据存储器空间302内的值。,3.1.3 间接寻址方式使用AR0AR7作为辅助寄存器,系统用当前辅助寄存器(当前AR)的内容作为操作数的地址,状态寄存器ST0,3.1.3 间接寻址方式使用AR0AR7,1、当前辅助寄存器2、间接寻址选项,(1)不增不减,(2)增1/减1,(3)增加/减少一个变址量(AR0),(4)按逆向进位方式增加/减少一个编址量,间接寻址操作数,15 8 7 6 4 3 2 0,七种选项,重定位指示,下一辅助寄存器指针,操作码及左移位数,AR0赋值为FFT长度的一半N/2=4,AR1中存放位反转的基地址,例如AR1=0200H,重复执行输入指令N=8次,使数据以N为8的倒序方式排列,即RPT 7IN*BR0+,PA0(将PA0口顺序输入的数据以位反转的地址存储)则依次由AR1产生的地址分别为0200H 0204H 0202H 0206H 0201H 0205H 0203H 0207H,例6 ADD*,8,0002h,0002h,指令执行前,指令执行后,数据存储器,数据存储器,302h,ACC,C,ACC,0,C,2h,0202h,302h,302,3,3,302,ARP,AR3,例7 ADD*+,8,AR4,0002h,0002h,指令执行前,指令执行后,数据存储器,数据存储器,302h,ACC,C,ACC,0,C,2h,0202h,302h,302,3,4,303,ARP,AR3,例8 ADD*-,8,0002h,0002h,指令执行前,指令执行后,数据存储器,数据存储器,302h,ACC,C,ACC,0,C,2h,0202h,302h,302h,3,3,301h,ARP,AR3,例9 ADD*0+,8,0002h,0002h,指令执行前,指令执行后,数据存储器,数据存储器,0302h,ACC,C,ACC,0,C,2h,0202h,0302h,0302h,3,3,0306h,ARP,AR3,0004h,0004h,AR0,3.2 指令集,3.2.1 累加器、算术和逻辑指令1、ABS 累加器内容取绝对值2、ADD 1,1(DP=6),1h,1h,指令执行前,指令执行后,数据存储器,数据存储器,301h,ACC,C,ACC,0,C,2h,4h,301h,相加有进位则1-C,否则C清零,2h,2h,指令执行前,指令执行后,数据存储器,数据存储器,302h,ACC,C,ACC,0,C,2h,04h,302h,302,4,0,303,ARP,AR4,ADD*+,0,AR0,将当前辅助寄存器所指向的单元的内容与累加器内容相加,并指定下一辅助寄存器为AR0,ffffh,ffffh,指令执行前,指令执行后,数据存储器,数据存储器,302h,ACC,C,ACC,0,C,7fff0000h,7fffffffh,302h,302h,0,0,302h,ARP,AR0,3、ADDC 带进位位加至累加器(ACC)+(数据存储器地址)+(C)(ACC),4、ADDS 抑制符号扩展加至累加器 ADDS*,0FF94H,0FF94h,指令执行前,指令执行后,数据存储器,数据存储器,TREG,ACC,C,ACC,0,C,0F715h,F7A5h,09h,09h,027FH,5、ADDT 按TREG寄存器内容移位后加至累加器 ADDT 127(DP=4,SXM=0),027FH,TREG,0FF94H,0FF94h,指令执行前,指令执行后,数据存储器,数据存储器,TREG,ACC,C,ACC,0,C,0F715h,0F7A5h,90h,90h,027FH,练习:ADDS*-,AR4,027FH,TREG,027FH,027Eh,AR0,0,4,ARP,ARP,AR0,6、AND 和累加器逻辑“与”1)AND*2)LDP#1 AND 16 3)AND#00FFH,47、CMPL 累加器求反(补),01h,01h,指令执行前,指令执行后,数据存储器,数据存储器,406h,ACC,C,ACC,0,C,12345678h,10h,406h,8、LACC 数据左移后装入累加器 LACC 6,4(DP=8,SXM=0),LACC*,4LACC#1234H,2,00ffh,00FFh,指令执行前,指令执行后,数据存储器,数据存储器,401h,ACC,C,ACC,0,C,7FFFFFFFh,0FFh,401h,401h,0,4,400h,ARP,AR0,9、LACL 装载累加器低位并清累加器高位 LACL*-,AR4,10、NEG 累加器求负11、NORM 规格化累加器,14h,14h,指令执行前,指令执行后,数据存储器,数据存储器,TREG,ACC,C,ACC,0,C,98F7EC83h,13760h,301h,1376h,1376h,301h,12、LACT 按TREG规定的移位后装入累加器 LACT 1(DP=6),TREG,6,ARP,6,ARP,1111h,1111h,指令执行前,指令执行后,数据存储器,数据存储器,ACC,C,0,C,222h,1333h,AR1,301h,301h,AR1,13、OR 与累加器逻辑“或”OR*,AR0,301h,ARP,1,301h,0,ARP,14、ROL 累加器逻辑循环左移,指令执行前,指令执行后,B0001234H,60002468H,ACC,0,ACC,1,15、ROR 累加器逻辑循环右移,C,16、SACH 移位并存储累加器高位 SACH*+,0,AR2,0h,0420h,指令执行前,指令执行后,数据存储器,数据存储器,ACC,C,ACC,0,C,4208001h,4208001h,AR1,301h,302h,AR1,301h,ARP,1,301h,2,ARP,17、SACL 移位并存储累加器低位,18、SFL 累加器算术左移,19、SFR 累加器算术右移,B0001234H,ACC,0,C,0,LSB,MSB,B0001234H,ACC,0,C,5800091AH,ACC,0,C,B0001234H,ACC,0,D800091AH,ACC,0,SXM=1,SXM=0,20SUB 从累加器减21 SUBB 带借位从累加器减22 SUBS 抑制符号扩展从累加器减23 SUBT 按TREG指定的值进行移位后从累加器减,0E0E0h,0E0E0h,指令执行前,指令执行后,数据存储器,数据存储器,ACC,C,ACC,C,107777h,0E0E08000h,AR7,0FF00h,FEFFh,AR7,24、XOR 与累加器逻辑“异或”25、ZALR 累加器低位清零并四舍五入装载累加器高位 ZALR*-AR4,0FF00h,ARP,7,0FF00h,4,ARP,26、ADRK 短立即数加至当前辅助寄存器 ADRK#80H(假设ARP=5),27、BANZ 辅助寄存器不等于零转移 MAR*,AR0;ARP指向AR0 LAR AR1,#3;AR1中装入3 LAR AR0,#60h;AR0中装入60LOOP:ADD*+,AR1 BANZ LOOP,*-AR0,4321H,AR5,43A1H,指令执行后,C,28、CMPR 比较当前辅助寄存器和AR0,并把比较结果放在ST1的TC位 CMPR CM CM=00 测试当前AR是否等于AR0 CM=01 测试当前AR是否小于AR0 CM=10 测试当前AR是否大于AR0 CM=11 测试当前AR是否不等于AR0如果条件满足,TC置1,7FFFh,7FFFh,指令执行前,指令执行后,TC,1h,0h,0FFFFh,0FFFFh,AR0,CMPR 2,ARP,4,AR4,4,32h,32h,AR0,300h,32h,数据存储器,29 LAR 装载辅助寄存器LDP#6 LAR AR0,16,310H,30 MAR 修改辅助寄存器31 SAR 存储辅助寄存器(ARx)数据存储器,SAR AR0,*+指令执行前:ARP=0,(AR0)=401H(401H)=0H,指令执行后:ARP=0,(AR0)=402H(401H)=401H,LDP#6HLAR AR0,0SAR AR0,10H,MAR*,AR1 LAR AR0,#37FH LAR AR1,#300H LACL#0HLOOP1:SACL*+CPR 00 BCND LOOP1,NTC,32 SBRK 从当前辅助寄存器减去短立即数33 APAC P寄存器加至累加器,F79Ch,F79Ch,指令执行前,指令执行后,PREG,30079844h,F79C9844h,200h,200h,AR0,ARP,0,200h,6,数据存储器,34 LPH 装载乘积寄存器高位 LPH*AR6,35 LT 装载TREG寄存器36 LTA 装载TREG寄存器并累加前次乘积 LAT*,AR5,62h,62h,指令执行前,指令执行后,TREG,3h,62h,324h,324h,AR4,ARP,4,324h,5,0Fh,0Fh,PREG,ACC,C,ACC,0,5h,14h,37 LTD 装载TREG寄存器、累加前次乘积并移动数据 LTD*,AR5,62h,62h,指令执行前,指令执行后,TREG,3h,62h,324h,324h,AR4,ARP,4,324h,5,0Fh,0Fh,PREG,ACC,C,ACC,0,5h,14h,0h,62h,325h,38 LTP 装载TREG寄存器并存储PREG寄存器到累计器 LTP*,AR5(数据空间地址)TREGShift(PREG)ACC,62h,62h,指令执行前,指令执行后,TREG,3h,62h,324h,324h,AR2,ARP,2,324h,5,0Fh,0Fh,PREG,ACC,C,ACC,0,5h,0Fh,39 LTS 装载TREG寄存器并减去前次乘积(数据空间地址)TREG ACC-Shift(PREG)ACC40 MAC 乘且累加 MAC 0FF00H,*,AR5,C,41 MACD 乘且累加 并带数据移动SPM 0CLRC CNFMACD 0FF00H,*,AR6,23h,23h,指令执行前,指令执行后,TREG,45h,23h,324h,324h,AR2,ARP,2,324h,6,458972h,8Ch,PREG,ACC,C,ACC,0,723EC41h,76975B3h,数据存储器,程序存储器,FF00H,4h,4h,21h,23h,325H,42 MPY 乘43 MPYA 乘且累加前次乘积 MPYA*,AR4(ACC)+shift(PREG)-ACC(TREG)x(数据空间地址)-PREG,C,7h,7h,指令执行前,指令执行后,TREG,6h,6h,324h,324h,AR3,ARP,3,324h,4,36h,2Ah,PREG,ACC,C,ACC,0,54h,8Ah,数据存储器,44 MPYS 乘且减去前次乘积45 MPYU 无符号乘法,46 PAC 将乘积寄存器装入累加器47 SPAC 从累加器减去PREG寄存器48 SPH 存储PREG高位49 SPL 存储PREG低位50 SPM 设置PREG移位方式51 SQRA 平方并累加前次乘积52 SQRS平方并减去前次乘积,转移指令,53 B 无条件转移54 BACC 按累加器内容转移55 BANZ 当前辅助寄存器不等于零转移(当前寄存器内容缺省修改为减1)MAR*,AR0 LAR AR1,#3H LAR AR0,#60HLOOP1:ADD*+,AR1 BANZ LOOP1,AR0,转移指令,56 BCND 条件转移用于条件调用和返回的条件,使用多个条件,组1:最多可选两个条件,每个条件必须来自不同的类(A类或B类),不能从同一类中选择两个条件组 2:最多可选3个条件,每一个条件必须来自不同的类,57 CALA 调用累加器低16位指定地址处的子程序58 CALL 无条件调用指令59 CC 条件转移指令60 INTR 软中断 K=03161 NMI 不可屏蔽中断 转移到程序存储器 0024H处62 RET 子程序返回63 RETC 条件返回 64 TRAP 软件陷阱中断 转移到程序存储器0022处,C,控制指令,65 BIT 位测试将数据的指定位复制到状态寄存器ST1的TC位位码值0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15位位置15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 LDP#6 BIT 0H,15 测试300H处的最低有效位,66 BITT 测试TREG寄存器规定的位TREG四位LSB0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15位位置 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0假设TREG=1H 数据存储器(300h)=4DC8h(301h)=0777hLDP#6HBITT 00HBITT 01H执行完后TC=?67 CLRC 状态位清零 68 IDEL 空闲直至中断发生LDP 装载数据页指针,70 LST 装载状态寄存器 LDP#0H LST#0,60H,2404h,2404h,指令执行前,指令执行后,ST0,6E00h,2604h,60h,05ECh,05ECh,ST1,数据存储器,71 NOP 空操作72 POP 栈顶弹出至累加器的低位73 POPD栈顶弹出至数据存储器74PUSH 累加器低位进栈75PSHD 数据存储器值进栈,压栈操作,堆栈,PUSH/PSHD POP/POPD,PSHD*,AR1,12h,指令执行前,指令执行后,ARP,0,1,1FFh,1FFh,1FFh,AR0,数据存储器,2h,33h,78h,99h,42h,50h,0h,0h,堆栈,12h,12h,2h,33h,78h,99h,42h,50h,0h,76 RPT 重复执行下条指令 RPT#177 SETC78 SPM 设置PREG移位输出方式,79 SST 存储状态寄存器 SST#0,96,2404h,6E00h,ST0,6E00h,6E00h,60h,数据存储器,GISR:SST#0,60HSST 31,61HLDP#0HPUSHSAR AR0,62H,I/O和存储器指令,80 BLDD 数据存储器到数据存储器的块传送 LDP#6H BLDD#300H,20H,0h,0h,指令执行前,指令执行后,320h,0Fh,0h,300h,数据存储器,LAR AR0,#2HLAR AR1,#380HMAR*AR1RPT#15BLDD#300,*0+将300H-30F内的16个数存入380H-39FH内地址为偶数的空间中。,81 BLPD 程序存储器到数据存储器的块传82 DMOV 在数据存储器内传送数据LDP#6DMOV 8,43h,43h,指令执行前,指令执行后,309h,2h,43h,308h,数据存储器,83 IN84 OUT85 SPLK 存储长立即数值至数据存储器SPLK#1111H,*+,AR4,300h,301h,指令执行前,指令执行后,300h,02h,1111h,AR0h,数据存储器,0,4,ARP,86 TBLR 读表 LDP#4 TBLR 6,300h,301h,指令执行前,指令执行后,206h,75h,306h,AR0h,数据存储器,23H,23H,ACC,程序存储器,306h,306h,23h,

    注意事项

    本文(TMSLF的寻址方式.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开