C6000嵌入汇编C与汇编对照及功能说明.pdf

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C6000嵌入汇编C与汇编对照及功能说明

C6000 嵌入汇编C 与汇编对照及功能说明 1.求绝对值函数 (1) _abs() C 代码: int _abs(int src) 汇编: ABS 功能: 求32 位数据的绝对值 (2) _labs() C 代码: int _labs(long src) 汇编: ABS 功能: 求40 位数据的绝对值 (3) _abs2() C 代码: int _abs2(int src) 汇编: ABS2 功能: 同时求高16 位和低16 位的绝对值,即 return[31:16] = |src[31:16]| return[15: 0] = |src[15: 0]| 2.运算指令 (1) _add2() C 代码: int _add2(int src1,int src2) 汇编: ADD2 功能: 同时进行src1,src2 的高16 位和src1,src2 的低16 位相加,忽略任何进 位,即 return[31:16] = src1[31:16] + src2[31:16] return[15: 0] = src1[15: 0] + src2[15: 0] (2) _sadd() C 代码: int _sadd(int src1,int src2) 汇编: SADD 功能:普通A+B 的加法 (3 )_lsadd() C 代码: long _lsadd(int src1,long src2) 汇编: SADD 功能: 32 位数据加上40 位数据,返回为40 位数据 (4) _add4() C 代码: int _add4(int src1,int src2) 汇编: ADD4 功能: 同时进行src1 和src2 的每个对应Byte 的4 次加法,忽略任何进位,即 return[31:24] = src1[31:24] + src2[31:24] return[23:16] = src1[23:16] + src2[23:16] return[15: 8] = src1[15: 8] + src2[15: 8] return[ 7: 0] = src1[ 7: 0] + src2[ 7: 0] 备注: src1,src2 的每个8 位数据当做signed 数据使用 (5) _sadd2() C 代码: int _sadd2(int src1,int src2) 汇编: SADD2 功能: 同时进行src1,src2 的高16 位和低16 位相加,忽略任何进位.即 return[31:16] = src1[31:16] + src2[31:16] return[15: 0] = src1[15: 0] + src2[15: 0] 备注: src1,src2 的每个16 位数据被当做signed 数据 (6) _saddus2() C 代码: int _saddus2(unsigned src1,int src2) 汇编: SADDUS2 功能: 执行和_sadd2 一样的操作,但src1 解释不同,见备注 备注: src1 的每个16 位数据被当作unsigned 数据,src2 的每个16 位数据被 当作signed 数据 (7) _saddu4() C 代码: unsigned _saddu4(unsigned src1,unsigned src2) 汇编: SADDU4 功能: 执行和_add4()一样的操作,但数据解释为unsigned,限值为0xff (8) _addsub() C 代码: long long _addsub(int src1,int src2) 汇编: ADDSUB 功能:同时进行src1 + src2 和src1 - src2 操作,即 hi32(return) = src1 + src2 low32(return) = src - src2 (9) _addsub2() C 代码: long long _addsub2(int src1,int src2) 汇编: ADDSUB2 功能: 同时进行_add2()和_sub2()操作,即 return[63:48] = hi16(src1) + hi16(src2) return[47:32] = low16(src1) + low16(src2) return[31:16] = hi16(src1) - hi16(src2)

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档