共2条
1/1 1 跳转至页
394,13,13,BL,SWI,Exception,395 书上394爷6.13(13)BL SWI_Exception和395页

问
SWI_Exception(int SWI_Num,int*Regs)
之间怎样传递参数啊
那个SWI_Num 和Regs是通过那个寄存器传递的啊,就是那样定义的吗?
还有书上433页倒数第7行
ldr R0,=$FunctionIndex其中那个=$FunctionIndex是什么地址啊
这一段狂看不懂
书上居然讲代码比较简单,不再说明
还有那个SWI 0x40
应该是调用了c语言代码
那个Regs[0]=_OSFunctionAddr[Regs[0]];是通过什么返回的啊?
答 1: re.1.参数传递是按ATPCS规定来的(SWI_Num存于R0、*Regs存于R1),详细规则参看ADS的相关帮助文档;
2.这是一个宏定义,$FunctionIndex是使用宏时传递的一个值;
3.Regs[0]=_OSFunctionAddr[Regs[0]];是根据R0的值,将数组_OSFunctionAddr的对应值通过R0返回。 答 2: Regs[0]=_OSFunctionAddr[Regs[0]];能不能解释这一句啊函数只是定义了一个*Regs,Regs[0]初值吗
怎么得到的啊
之间怎样传递参数啊
那个SWI_Num 和Regs是通过那个寄存器传递的啊,就是那样定义的吗?
还有书上433页倒数第7行
ldr R0,=$FunctionIndex其中那个=$FunctionIndex是什么地址啊
这一段狂看不懂
书上居然讲代码比较简单,不再说明
还有那个SWI 0x40
应该是调用了c语言代码
那个Regs[0]=_OSFunctionAddr[Regs[0]];是通过什么返回的啊?
答 1: re.1.参数传递是按ATPCS规定来的(SWI_Num存于R0、*Regs存于R1),详细规则参看ADS的相关帮助文档;
2.这是一个宏定义,$FunctionIndex是使用宏时传递的一个值;
3.Regs[0]=_OSFunctionAddr[Regs[0]];是根据R0的值,将数组_OSFunctionAddr的对应值通过R0返回。 答 2: Regs[0]=_OSFunctionAddr[Regs[0]];能不能解释这一句啊函数只是定义了一个*Regs,Regs[0]初值吗
怎么得到的啊
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
“我踩过的那些坑”主题活动——第002期 | |
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |