- 77
- 0
- 约1.47万字
- 约 96页
- 2018-12-19 发布于北京
- 举报
第4章--ARM程序设计2014年3月17日.ppt
共96页 * AREA strcopy,CODE, READONLY EXPORT strcopy strcopy LDRB R2,[R1],#1 STRB R2,[R0],#1 CMP R2,#0 BNE strcopy MOV PC, LR END 3、把下面的汇编函数改写成C函数。 作 业(续) 共96页 * 如果函数的参数多于 4 个,那么 多余 的参数则按 自右向左的顺序压入数据堆栈,即参数入栈顺序与参数顺序相反。 2、ATPCS关于堆栈和寄存器的使用规则(续) 共96页 * 函数参数使用寄存器和数据栈的示意图如下: 共96页 * 下表列举了ARM-Thumb过程调用标准规定的寄存器的名称和使用方法。 寄存器 别名1 别名2 用法 R0~R3 A1~A4 参数寄存器,其中R0又被用作函数返回值寄存器 R4~R8 V1~V5 函数局部变量寄存器 R9 V6 Sb 在RWPI情况下保存静态基地址 R10 V7 Sl 用来保存堆栈边界地址 R11 V8 fp 保存结构指针 R12 Ip 过度寄存器 R13 Sp 堆栈指针 R14 LR 连接寄存器 R15 PC 程序计数器 RWPI读写位置无关(编译器选项)。 共96页 * 寄存器的别名和特殊名称都是 ARM编译器和汇编器预定义的,用户可以直接使用。 4.4.2 C程序可调用汇编函数实例 下面是一个用汇编语言编写的函数,该函数把 R1 指向的数据块复制到 R0 指向的存储块。 2、ATPCS关于堆栈和寄存器的使用规则(续) 共96页 * AREA tt, CODE, READONLY EXPORT strcopy strcopy LDRB R2,[R1],#1 STRB R2,[R0],#1 CMP R2,#0 BNE strcopy MOV PC,LR END 4.4.2 C程序可调用汇编函数实例(续) 共96页 * 根据 ATPCS 的 C 语言程序调用汇编函数,参数 由左向右 依次传递给寄存器R0~R3 的规则,可知汇编函数 strcopy 在 C 程序中原型应该为: void strcopy(char *d,const char* s); 4.4.2 C程序可调用汇编函数实例(续) 共96页 * extern void strcopy(char *d,const char * s); int main(void) { const char *src = “source”; char dest[10]; ……. strcopy(dest, src); ………. } 在 C 语言文件中,调用 strcopy 函数的方法如下: 共96页 * 1、常量指针 表示指针所指向的地址的内容是不可修改的,但指针自身可变。 const 类型* 指针名 extern void strcopy(char *d,const char * s); int main(void) { const char* src =source; char dest[10]=123456; src=dest; } 4.4.2 C程序可调用汇编函数实例(续) 共96页 * 2、指针常量 表示指针自身不可变,但其指向的地址的内容是可以修改的。 类型* const 指针名 extern void strcopy(char *d,const char * s); int main(void) { char* const src =source; char dest[10]=123456; strcopy(src,dest); } 共96页 * 4.4.3 汇编程序调用C函数实例 现有 C 函数 g() 如下: int g(int a, int b, int c, int d, int e)
您可能关注的文档
- 现代医患关系与伦理学.ppt
- 现代西方哲学必修.ppt
- 现代语言学.ppt
- 现代语言学一至二讲.ppt
- 生命伦理学 3.ppt
- 生物伦理学第三章 @-基因制药和基因治疗.ppt
- 生物芯片技术简介及应用--课件.ppt
- 电力电子课件-西安交大第四版chapter0.ppt
- 知识来源方法.ppt
- 硕士自然辩证法2014-powerpoint---副本 2.ppt
- 七年级语文上册期末模拟试卷1(解析版).docx
- 七年级语文上册期末模拟试卷1(原卷版).docx
- 七年级语文上册期末模拟试卷2(原卷版).docx
- 七年级语文上册期末模拟试卷2(解析版).docx
- 期末测试卷(二)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(二)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
最近下载
- 八年级数学(上册)期末试卷及答案(最新) .pdf VIP
- 1-37(通用)施工检查记录.doc VIP
- 《特种作业人员安全技术培训考核管理规定》培训.pptx VIP
- 2025至2030中国微量移液器行业调研及市场前景预测评估报告.docx
- 乡镇“十五五”时期发展规划(初稿).docx VIP
- 广东省佛山市南海区2024-2025学年六年级上学期期末科学试卷(含答案).pdf VIP
- 武汉大学 2013 – 2014 学年第一学期《线性代数 B》(工科 54 学时) 期末试题.docx VIP
- 2026 年新版三至五年级上册语文期末考试试题及答案.docx
- 五年级上册语文试题- 福州市语文期末质量监测卷(含答案)部编版.doc VIP
- 八年级(上册)历史:期末复习【论述题】专题训练.docx VIP
原创力文档

文档评论(0)