3362|2

61

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【求教】汇编的数组指针怎么返回? [复制链接]

如下面的数据相加的测试程序:
C源程序
BYTE* ptr;
BYTE m[10],n[10],sum[10];
ptr = add(m,n,10,sum);//想要指针指向计算结构sum数组的首地址!
汇编:
loop:
    LDB  .D1T1  *A4++[1], A_m
  LDB  .D2T2  *B4++[1], B_n
 nop 4
 ADD  .L2  A_m, B_n, B_sum
 STB .D2 B_sum, *B6++[1]
 [A_loopcount] BDEC .S2 loop, A_loopcount
 NOP 5
*======loop end ======*
 B .S2 B3   ;return
 MV .S1 B6, A4 ;return 1
 NOP 4

由于A4返回int型,所以如上程序会报错int不能被赋值到BYTE*中


请问如果想要指针指向计算结构sum数组的首地址,如上汇编需怎么返回,谢谢!!!

最新回复

loop:     LDB  .D1T1  *A4++[1], A_m   LDB  .D2T2  *B4++[1], B_n nop 4 ADD  .L2  A_m, B_n, B_sum STB .D2 B_sum, *B6++[1]  ;   详情 回复 发表于 2012-7-10 12:31

点评

loop: LDB .D1T1 *A4++[1], A_m LDB .D2T2 *B4++[1], B_n nop 4 ADD .L2 A_m, B_n, B_sum STB .D2 B_sum, *B6++[1] ;  详情 回复 发表于 2012-7-10 12:31
紧急求助啊!!!!  详情 回复 发表于 2012-7-4 09:54
点赞 关注
 

回复
举报

61

帖子

0

TA的资源

一粒金砂(高级)

沙发
 

回复 楼主 breeze505 的帖子

紧急求助啊!!!!
 
 

回复

54

帖子

0

TA的资源

一粒金砂(高级)

板凳
 

回复 楼主 breeze505 的帖子

loop:
    LDB  .D1T1  *A4++[1], A_m
  LDB  .D2T2  *B4++[1], B_n
nop 4
ADD  .L2  A_m, B_n, B_sum
STB .D2 B_sum, *B6++[1]  ; <= 循环结束时B6指向sum数组的结尾,并不是数组头。需在循环前先备份B6的值。
[A_loopcount] BDEC .S2 loop, A_loopcount
NOP 5
*======loop end ======*
B .S2 B3   ;return
MV .S1 B6, A4 ;return 1 <= 将备份的sum数组首地址赋给A4
NOP 4

C在调用汇编前先声明extern BYTE * add(BYTE  *, BYTE *, int ,BYTE*);
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表