完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我已经在头文件中声明了一个程序集函数,如下:ext._Fract assFunc(_Fract*,_Fract*);assFunc在.s文件中定义如下:这个函数在.c(包括上面讨论的.h文件)中被调用,如下:_Fract A=assFunc(xSpaceArray,ySpaceArray);xSpaceArray和ySpaceArray大小为3的RE分别定义在X存储器和Y存储器中。我已经将测试值(xStuleRay[0 ]=0.437和ySturEurLay[0 ]=0.4给出给ASFUNC。我已经开始使用模拟器逐行调试assFunc,并检查工作寄存器w0、w1、w4、w5和AccA的值。最后,当代码指针命中return语句时,值w0=0x1660,这是预期的值,但是当我开始逐行步进代码指针时,这个值不会返回到_Fract变量A和显示的值A=0(默认值)。为什么会这样?注意:这个函数只是一个测试函数(没有任何用途),我用它来熟悉汇编语言。
|
|
相关推荐
5个回答
|
|
对于这个测试,您使用变量A吗?尝试将其定义为易失性。
|
|
|
|
我建议看拆卸。我怀疑这是调试工具中的一个bug。
|
|
|
|
真的!不这样想。谢谢你的计算。达到5ms感觉不错。感谢NorthGuy和其他人帮我编写程序集代码。不过,有一个疑问,假设我的程序集代码正在执行,并且发生了中断,我需要保存工作寄存器还是由编译器处理?在从C调用程序集函数或在可调用程序集函数中编写程序集指令时,还有其他需要注意的事项吗?PS:1:1和0:我欠你一大堆的汇编代码。对于我的应用程序,我必须修改您的代码,但是您的代码太有趣了,它让我探索了汇编语言。谢谢!
|
|
|
|
它是中断作业来保存它改变的任何东西。
|
|
|
|
对不起,中断工作是什么意思?我需要手动编写代码来处理寄存器,还是由XC16编译器来处理?
|
|
|
|
只有小组成员才能发言,加入小组>>
5170 浏览 9 评论
2001 浏览 8 评论
1931 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3176 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2228 浏览 5 评论
737浏览 1评论
622浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
509浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
635浏览 0评论
531浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 19:29 , Processed in 1.334980 second(s), Total 85, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号