微机原理与接口技术 基于嵌入式芯片 教学课件 ppt 作者 徐惠民 chap4

上传人:E**** 文档编号:89496375 上传时间:2019-05-25 格式:PPT 页数:20 大小:173.50KB
返回 下载 相关 举报
微机原理与接口技术  基于嵌入式芯片  教学课件 ppt 作者 徐惠民 chap4_第1页
第1页 / 共20页
微机原理与接口技术  基于嵌入式芯片  教学课件 ppt 作者 徐惠民 chap4_第2页
第2页 / 共20页
微机原理与接口技术  基于嵌入式芯片  教学课件 ppt 作者 徐惠民 chap4_第3页
第3页 / 共20页
微机原理与接口技术  基于嵌入式芯片  教学课件 ppt 作者 徐惠民 chap4_第4页
第4页 / 共20页
微机原理与接口技术  基于嵌入式芯片  教学课件 ppt 作者 徐惠民 chap4_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《微机原理与接口技术 基于嵌入式芯片 教学课件 ppt 作者 徐惠民 chap4》由会员分享,可在线阅读,更多相关《微机原理与接口技术 基于嵌入式芯片 教学课件 ppt 作者 徐惠民 chap4(20页珍藏版)》请在金锄头文库上搜索。

1、微机原理与接口 -基于嵌入式芯片,第四章 ARM汇编程序设计,第一节 ARM汇编指示命令,汇编指示命令在源程序中的作用是为完成汇编程序作各种准备工作的,这些汇编指示命令仅在汇编过程中起作用,一旦汇编结束,汇编指示命令的使命就完成。 一个完整的ARM汇编程序就是由机器指令、汇编指示命令和宏指令组成。,第一节 ARM汇编指示命令,符号定义语句 GBLA、GBLL、GBLS LCLA、LCLL、LCLS SETA、SETL、SETS RLIST,第一节 ARM汇编指示命令,GBLA Test1 Test1 SETA 0xaa GBLL Test2 Test2 SETL TRUE GBLS Test3

2、 Test3 SETS “Testing” LCLA Test4 Test4 SETA 0xaa LCLL Test5 Test5 SETL TRUE LCLS Test6 Test6 SETS “Testing”,第一节 ARM汇编指示命令,Reglist RLIST R0-R5,R8,R10 STMFD SP! , Reglist 说明:将寄存器列表名称定义为Reglist,可在ARM指令LDM/STM中通过该名称访问寄存器列表。保存寄存器列表Reglist,第一节 ARM汇编指示命令,数据定义语句 声明一个文字池:LTORG 分配一段字节的内存单元,并用指定的数据初始化:DCB 分配一段

3、字的内存单元,并用指定的数据初始化:DCD和DCDU 分配一段双字的内存单元,并用64位整数数据初始化:DCQ和DCQU 分配一段半字的内存单元,并用指定的数据初始化:DCW和DCWU,第一节 ARM汇编指示命令,x1 DCB 5 x2 DCDU 0x30000010 x3 DCW 0xfff1 x4 DCWU 0xffff x5 DCQ 0x3333333333333333,第一节 ARM汇编指示命令,汇编控制语句 条件汇编控制:IF、ELSE和ENDIF 重复汇编:WHILE和WEND 宏:MACRO和MEND、MEXIT 、DCI,第一节 ARM汇编指示命令,宏定义: MACRO $la

4、bel xmac $p1,$p2 $label.loop1 BGE $label.loop1 $label.loop2 BL $p1 BGT $label.loop2 ADR $p2 MEND,宏调用: abc xmac subr1,de 结果: abcloop1 BGE abcloop1 abcloop2 BL subr1 BGT abcloop2 ADR de,第一节 ARM汇编指示命令,其他常用的汇编指示命令 边界对齐:ALIGN 段定义:AREA 指令集定义:CODE16和CODE32 汇编结束:END 程序入口:ENTRY 常量定义:EQU 声明一个符号可以被其他文件引用:EXPOR

5、T和GLORBAL 声明一个外部符号:IMPORT和EXTERN,第二节 ARM汇编语句的格式,标号 ;注释 规定: 所有标号必须在一行的顶格写,而所有指令均不能顶格写 标识符大小写敏感 对于变量的设置,常量的定义,其标识符必须在一行的顶格书写,第二节 ARM汇编语句的格式,符号(symbol)可以代表地址(address)、变量(variable)和数字常量(numeric constants)。当符号代表地址时,又称为标号(label) 命名规则:(P105),第二节 ARM汇编语句的格式,变量:使用GBLA、GBLL、GBLS汇编指示命令声明全局变量,使用LCLA、LCLL、LCLS汇编

6、指示命令声明局部变量 数字常量: 标号是表示程序中的指令或者数据地址的符号 基于PC的标号 基于寄存器的标号 绝对地址,第二节 ARM汇编语句的格式,数字表达式: 算术运算符 移位运算符 按位逻辑运算符 逻辑表达式: 关系运算符 逻辑运算符,第二节 ARM汇编语句的格式,字符串表达式: 注意:特殊符号$和” 操作符: :LEN:X :CHR:M :STR:X X:LEFT:Y X:RIGHT:Y X:CC:Y,第二节 ARM汇编语句的格式,其他表达式和运算符: BASE INDEX $ ? DEF,第三节 ARM汇编程序格式,分段 一个或多个代码段 零个或多个数据段,AREA Init,COD

7、E,READONLY ENTRY Start LDR R0,=0x3ff500 LDR R1,0xff STR R1,R0 END,第四节 ARM汇编程序结构,顺序 分支 循环 MOV r0,#10 loop SUBS r0,r0,#1 BNE loop 子程序,第四节 ARM汇编程序结构,子程序 AREA Init,CODE,READONLY ENTRY Start LDR R0,=0x3FF5000 LDR R1,0xFF STR R1,R0 LDR R0,=0x3FF5008 LDR R1,0x01 STR R1,R0 BL PRINT_TEXT ,PRINT_TEXT MOV PC,L

8、R END,第五节 ARM汇编程序示例,start MOV r0, #3 MOV r1, #3 MOV r2, #2 BL arithfunc stop MOV r0, #0x18 LDR r1, =0x20026 SWI 0x123456 arithfunc CMP r0, #num MOVHS pc, lr ADR r3, JumpTable,ADR r3, JumpTable LDR pc, r3,r0,LSL#2 JumpTable DCD DoAdd DCD DoSub DoAdd ADD r0, r1, r2 MOV pc, lr DoSub SUB r0, r1, r2 MOV pc,lr,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号