共2条
1/1 1 跳转至页
红书中汇编调用C程序,一处不懂
问
《ARM微控制器基础和实践》中的汇编调用C程序,P116:
EXPORT CALLSUM5
AREA EXAMPLE,CODE,READONLY
IMPORT sum5
CALLSUM5
STMFD SP!,{LR}
ADD R1,R0,R0
ADD R2,R2,R0
ADD R3,R1,R2
STR R3,[SP,#-4]!
ADD R3,R1,R1
BL sum5
;ADD SP,SP,#4
LDMFD SP!,{PC}
END
不知 ADD R1,R0,R0
ADD R2,R2,R0
ADD R3,R1,R2
STR R3,[SP,#-4]!
ADD R3,R1,R1
这几句是什么意思?
感觉好像不对呀,r0,r1,r2,r3存储第1,2,3,4参数,
感觉应该将r0,,r1,r2,r3赋值才对呀。请解释
答 1: 何必?你只要用KEIL ARM软件,初始化代码自动生成!!! 答 2: 我没用过keil ARM,请问哪里能下?或者你能传给我吗? my qq: 403750184 答 3: 高手说一下 答 4: 关注我认为应该是通过以上方式(给r0,r1,r2,r3及堆栈赋值)生成所谓a,b,c,d,e.然后了用SUM函数.SUM()函数可用反编译看看! 答 5: 请周公写出一个完整的程序作为例子,帮助我们理解书上的:
int sum5(int a,int b,int c,int d,int e)
{
return (a+b+c+d+e);
}
请周公写出一个完整的程序作为例子,帮助我们理解 答 6: re:对,代码
ADD R1,R0,R0
ADD R2,R2,R0
ADD R3,R1,R2
STR R3,[SP,#-4]!
ADD R3,R1,R1
的意思就是给R1、R2、R3赋值,R0的值按默认值(此程序不修改R0),并把最后的那个参数保存到堆栈里。当然你也可以这样:
MOV R0,#10
MOV R1,#8
MOV R2,#90
...
EXPORT CALLSUM5
AREA EXAMPLE,CODE,READONLY
IMPORT sum5
CALLSUM5
STMFD SP!,{LR}
ADD R1,R0,R0
ADD R2,R2,R0
ADD R3,R1,R2
STR R3,[SP,#-4]!
ADD R3,R1,R1
BL sum5
;ADD SP,SP,#4
LDMFD SP!,{PC}
END
不知 ADD R1,R0,R0
ADD R2,R2,R0
ADD R3,R1,R2
STR R3,[SP,#-4]!
ADD R3,R1,R1
这几句是什么意思?
感觉好像不对呀,r0,r1,r2,r3存储第1,2,3,4参数,
感觉应该将r0,,r1,r2,r3赋值才对呀。请解释
答 1: 何必?你只要用KEIL ARM软件,初始化代码自动生成!!! 答 2: 我没用过keil ARM,请问哪里能下?或者你能传给我吗? my qq: 403750184 答 3: 高手说一下 答 4: 关注我认为应该是通过以上方式(给r0,r1,r2,r3及堆栈赋值)生成所谓a,b,c,d,e.然后了用SUM函数.SUM()函数可用反编译看看! 答 5: 请周公写出一个完整的程序作为例子,帮助我们理解书上的:
int sum5(int a,int b,int c,int d,int e)
{
return (a+b+c+d+e);
}
请周公写出一个完整的程序作为例子,帮助我们理解 答 6: re:对,代码
ADD R1,R0,R0
ADD R2,R2,R0
ADD R3,R1,R2
STR R3,[SP,#-4]!
ADD R3,R1,R1
的意思就是给R1、R2、R3赋值,R0的值按默认值(此程序不修改R0),并把最后的那个参数保存到堆栈里。当然你也可以这样:
MOV R0,#10
MOV R1,#8
MOV R2,#90
...
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【S32K3XX】LPSPI参数配置说明被打赏¥21元 | |
| 在WT9932C61-TINY上实现超声波测距被打赏¥22元 | |
| 基于WT9932C61-TINY的环境构建及OLED屏驱动测试被打赏¥20元 | |
| 【S32K3XX】Core-to-Core 中断使用被打赏¥21元 | |
| 「AI编程记录--含源码」用一晚上的时间写一个esp32的示波器被打赏¥19元 | |
| STM32C0116DK开发探索记(3)被打赏¥30元 | |
| STM32C0116DK开发探索记(2)被打赏¥24元 | |
| STM32C0116DK开发探索记(1)被打赏¥29元 | |
| 谨防极海G32M3101电机评估板易跌落的陷阱被打赏¥24元 | |
| 【全网首拆】M5STACK ATOM系列开发板拆解 / AtomS3R-CAM摄像头更换方法(提高10倍像素)被打赏¥26元 | |
我要赚赏金
