在Keil下完成一个汇编程序的编写 您所在的位置:网站首页 keil4怎么写c51单片机程序 在Keil下完成一个汇编程序的编写

在Keil下完成一个汇编程序的编写

2023-10-12 15:40| 来源: 网络整理| 查看: 265

在Keil下完成一个汇编程序的编写 一、 汇编语言简介二、 初步分析三、 实验分析3.1 实验要求3.2 新建工程3.3 软件代码3.4 编译烧录3.5 实验结果 四、 总结五、参考资料

摘要:在学习STM32的路上开始是学的C语言尚未进行对汇编进行学习,因此抽出时间来学习一下在keil下的汇编语言。

一、 汇编语言简介

汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器

汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。

具体学习参考请该博客什么是汇编语言

有兴趣的同学可以阅读下这篇汇编语言笔记(全)

二、 初步分析

实验步骤参考ARM汇编基础之基于MDK创建纯汇编语言的STM32工程

新建完成

在这里插入图片描述

仿真器我的是ST-Link和小麦大叔的配置不同,但影响不大。

由于博主没有对汇编语言进行注释,所以我进行了一定的注释

AREA MYDATA, DATA ;AREA 功能:指示汇编器 汇编一段新的代码或数据区。在汇编时,必须至少有一个ARME指示符。DATA 包含数据,但不包含指令 AREA MYCODE, CODE;定义此标号是程序内的数据区 ENTRY;执行汇编程序的入口点,至少一个源文件中只能有一个 EXPORT __main//EXPORT ;明全局变量 _main 这个相当于函数入口 __main MOV R0, #10 传送指令——MOV DST,SRC 指令的基本功能:(DST)R0,R1,PC} ;将R0,R1,PC出栈 LED_ON PUSH {R0,R1, LR} MOV R0,#0 LDR R1,=LED0 STR R0,[R1] POP {R0,R1,PC} LED_OFF PUSH {R0,R1, LR} MOV R0,#1 LDR R1,=LED0 STR R0,[R1] POP {R0,R1,PC} Delay PUSH {R0,R1, LR} MOVS R0,#0 MOVS R1,#0 MOVS R2,#0 DelayLoop0 ADDS R0,R0,#1 ;加法,R0=R0+1 CMP R0,#330 ;计算R0-330的值,R0


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有