3649|4

54

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

TMS320C55x - 指令编码与coff目标文件载入相关问题 [复制链接]

各位工程师你们好,我最近在研究TI的TMS320C55x的模拟程序。

当中我对于编译生成的.out文件(即coff目标文件)在载入到dsp内存后,代码段(即指令编码)的分布产生疑问:

1、c55x的指令长度不是固定的,有1、2、3、4字节四种,这样代码在载入到内存后一个字节的指令编码是否要占全两个字节的 空间? 3个字节的就要占满4个字节的空间?

2、我用ccs编译以下汇编程序:
     
  1. ; "ADD"

  2.             .file        "addasm.asm"

  3.         .data  

  4.         .global  _c_int00

  5.         .text



  6. _c_int00:  



  7.         mov #10,AR0

  8.         mov #10,AR1

  9.         add AR0,AR1        

  10. loop:

  11.         nop

  12.         B loop

  13.        .end[/color]
复制代码


      得到coff文件中.text段的raw data为3C A8  3C A9 24 89  20 4A 7D 20
      3C A8代表mov #10,AR0
      3C A9代表mov #10,AR1
      24 89代表add AR0,AR1
      20代表nop
      4A 7D代表B loop
      20代表nop

      以上显示在coff文件中,一个字节的指令就是占用一个字节空间,我不知道载入后的情况是否还是这样,请各位高手指点!

最新回复

谢谢jennyvenus和lbing7! 有点明白了,对于要做的c55x模拟器,需要预先取一个字节,确定属于哪个指令以及指令长度,然后再按照长度再取一次指令,将完整的指令取出解释运行。 ps.51的指令长度也是多种的吧?一般目标文件载入内存代码段都是按照目标文件里原来的格式排放的吧?  详情 回复 发表于 2008-4-9 14:45
点赞 关注

回复
举报

76

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
不知道你的CPU是如何设置的,就按8086的cpu来说,其指令是紧凑排列的。51上的代码也是紧凑排列的。
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
c55x的指令长度不是固定的,有1、2、3、4字节四种,这样代码在载入到内存后一个字节的指令编码是否要占全两个字节的 空间? 3个字节的就要占满4个字节的空间?

如果是51这种的,不会占满的,

CPU取回指令首字节后,译码器会知道这个指令还有没有后续操作数.

是否需要进一步的操作...

LZ应该放心这个...
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

4
 
以上显示在coff文件中,一个字节的指令就是占用一个字节空间,我不知道载入后的情况是否还是这样,请各位高手指点!

载入后,下载软件和下载器,会读取COFF文件的内容,给特定的格式和指令写入芯片里

我们内能说:代码里的逻辑结构是你程序里表达的

_c_int00:  



        mov #10,AR0

        mov #10,AR1

        add AR0,AR1        

loop:

        nop

        B loop

       .end
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(中级)

5
 
谢谢jennyvenus和lbing7!

有点明白了,对于要做的c55x模拟器,需要预先取一个字节,确定属于哪个指令以及指令长度,然后再按照长度再取一次指令,将完整的指令取出解释运行。

ps.51的指令长度也是多种的吧?一般目标文件载入内存代码段都是按照目标文件里原来的格式排放的吧?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表