1 / 33
文档名称:

《微机原理与嵌入式系统》chapter4ARM7TDMI汇编语言程序设计.ppt

格式:ppt   大小:1,254KB   页数:33页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

《微机原理与嵌入式系统》chapter4ARM7TDMI汇编语言程序设计.ppt

上传人:dyx110 2019/12/12 文件大小:1.22 MB

下载得到文件列表

《微机原理与嵌入式系统》chapter4ARM7TDMI汇编语言程序设计.ppt

文档介绍

文档介绍:第4章 ARM7TDMI汇编语言 程序设计*。它们按照形式与功能的不同可分为三种,即机器语言、汇编语言和高级语言。(MachineLanguage)是由0和1二进制代码书写和存储的指令与数据。它的特点是能被机器直接识别与执行;程序所占内存空间较少。其缺点是难认、难记、难编、易错。(AssemblyLanguage)是一种面向物理层操作的计算机语言,是一种采用助记符表示的程序设计语言,使用助记符来表示指令的操作码和操作数,用标号或符号代表地址、常量或变量。从机器角度看:汇编语言是一种面向物理层操作的计算机语言。不同的处理器类型,具有不同的汇编语言。使用汇编语言编写程序能够直接利用硬件系统的特性(如寄存器、标志、中断系统等),可直接对位、字节、字寄存器或存储单元、I/O端口进行处理,同时也能直接使用CPU指令系统提供的各种寻址方式,编制出高质量的程序,这样的程序不但占用内存空间少,而且执行速度快。(HighLevelLanguage)是脱离具体机器(即独立于机器)的通用语言,不依赖于特定计算机的结构与指令系统。;文件名:;功能:实现字符串拷贝功能;说明:使用ARMulate软件仿真调试 AREA Example1,CODE,READONLY;声明代码段Example1numEQU20 ;设置拷贝字的个数 ENTRY ;标识程序入口 CODE32 ;声明32位ARM指令START LDR R0,=src;R0指向源数据块 LDR R1,=dst;R1指向目的数据块 MOV R2,#num;R2需要拷贝的数据个数wordcopy LDR R3,[R0],#4;从源数据块中取一个字,放入R3中, ;R0=R0+4 STR R3,[R1],#4 ;将R3中的数据存入R1指向的存储;单元中,R1=R1+4 SUBS R2,R2,#1 ;R2计数器减1 BNE wordcopy ;如果R2不为0,则转向wordcopy处使用“;”进行注释标号顶格写程序代码段Date8西安邮电学院计算机系stop MOV R0,#0x18 ;程序运行结束返回编译器调试环境 LDR R1,=0x20026 SWI 0x123456 AREABlockData,DATA,READWRITE ;数据段的名字BlockDataSrc DCD 1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4Dst DCD 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 AREA|.extra|,NOINIT,READWRITE ; SPACE 1024 END ;,有一些特殊的指令助记符,称为汇编器伪指令。它们无论表示形式或其在程序中所处的位置,都与指令相似,它们在源程序中都占据一行,但二者之间有着重要的区别。指令是供CPU执行的操作命令,每条指令对应CPU的一种特定操作,在用户代码运行期间执行;而汇编器伪指令是供汇编器处理的命令,在汇编过程中由汇编器进行处理,例如定义数据、分配存储区、定义段、定义宏等;汇编以后,每条指令产生一一对应的二进制目标代码;而汇编器伪指令则不产生与之对应的目标代码。Date10西安邮电学院计算机系