单片机的汇编语言与嵌入式C语言的比较

零基础从C语言入手。在书上看到单片机的汇编语言与嵌入式C语言的比较,比较有用。

1.嵌入式C程序中的主函数是汇编程序中的主程序;嵌入式C程序中的函数是汇编程序中的子程序。程序运行都是从主函数或主程序开始,并终止于主函数或主程序中的最后一条语句。但是在编写方面,汇编程序中的主程序必须编写在整个程序的最前面,因为汇编程序运行是从整个程序中的第一行开始;而嵌入式C程序中的主函数可以放在程序的前面,也可放在后面或其他位置,无论主函数在什么位置,程序运行时都会先自动找到主函数,并从主函数中的第一条语句开始执行。

2.编写嵌入式C程序一般使用小写英文字母,嵌入式C的关键字均为小写英文字母,也可以使用大写英文字母,但大写字母一般都有特殊意义。

3.嵌入式C严格区分字母大小写,也就是说abc、Abc、ABC是3个不同的名称,而汇编语言不区分字母大小写,但大写字母一般都有特殊意义。

4.嵌入式C不使用行号,一行可以写多条语句,但每一条语句最后必须有一个“;”作为结尾,而汇编语言一行就是一条语句。

5.嵌入式C每一个独立完整的程序单元都由一对大括号括起来,大括号必须成对使用。

6.嵌入式C的程序注释信息需要使用“/*”和“*/”括起来,如/*头文件*/,或是用双斜杠,如“//头文件”;而汇编程序语句的注释信息使用一个分号,比如“:延时程序”(注释信息所用符号必须是英文状态下)。

时间: 2024-08-29 14:21:48

单片机的汇编语言与嵌入式C语言的比较的相关文章

嵌入式C语言全套视频教程云盘下载!

了解过嵌入式开发的朋友们都有一定的了解,语言是学习嵌入式开发必须具备的工具语言,学好C语言基础可以更好的学习嵌入式开发.今天在这里给大家分享一个嵌入式C语言全套视频教程,需要的朋友可以下载来看看! 课程目录部分截图: 百度云盘下载:http://pan.baidu.com/s/1c1OETIo 密码:cgcj

从汇编语言写到c语言

好了,言归正传,裸机程序没有操作系统的支持,想要用c语言,就只能先使用汇编语言手动配置c语言需要的环境,听起来很高大上,其实需要做的很简单:指定堆栈指针的值就好. 那么完成这个简单的事情之前,先要明白c语言的栈的以下几个概念: 1. 空栈和满栈:这两个概念不是说的栈是空的还是满的,空栈是指栈指针指向的是栈顶元素的下一个地址.满栈指的是栈顶指针指的是栈顶元素. 2. 升栈和降栈:升栈就是栈向上生长,降栈就是栈向下生长. 注:arm是满降栈. 3. 栈帧:这个有必要好好理解一下,C语言中,每个栈帧对

嵌入式C语言全套视频教程资料观看

了解过嵌入式开发的朋友们都有一定的了解,语言是学习嵌入式开发必须具备的工具语言,学好C语言基础可以更好的学习嵌入式开发.今天在这里给大家分享一个嵌入式C语言全套视频教程,需要的朋友可以下载来看看! 课程目录部分截图: 百度云盘下载:http://pan.baidu.com/s/1c1OETIo 密码:cgcj

嵌入式C语言里的土豪们之除法与移位

土豪这个词用在接下来要出场的C语言再合适不过了.他们在嵌入式C语言里占尽了奢华,但是毕竟我们更需要一个节约型的微生态环境.在这里简单给大家分析一下嵌入式C语言编程时用到的除法与移位. 本文引用地址:http://www.eepw.com.cn/article/182359.htm 除法土豪 除法在嵌入式微处理器里可算是一个消耗大户,复杂的实现方式不仅占用了大师宝贵的计算时间而且精度有限情况下占用了大片的RAM.因此,常常在各类文章里看到,编程人员应该使用右移运算来代替除法.这个右移方法没有问题,

嵌入式C语言常用关键字

1.static关键字 这个关键字前面也有提到,它的作用是强大的. 要对static关键字深入了解,首先需要掌握标准C程序的组成. 标准C程序一直由下列部分组成: 1)正文段--CPU执行的机器指令部分,也就是你的程序.一个程序只有一个副本:只读,这是为了防止程序由于意外事故而修改自身指令: 2)初始化数据段(数据段)--在程序中所有赋了初值的全局变量,存放在这里. 3)非初始化数据段(bss段)--在程序中没有初始化的全局变量:内核将此段初始化为0. 注意:只有全局变量被分配到数据段中. 4)

2017-2018-1 20155331 嵌入式C语言

2017-2018-1 20155331 嵌入式C语言 作业要求: 在作业本上完成附图作业,要认真看题目要求. 提交作业截图 作弊本学期成绩清零(有雷同的,不管是给别人传答案,还是找别人要答案都清零) 自己做错的原因: 自己在课下的没能很好的完成学习任务. 正确答案 提取小时: #define Time_Addr 0xFFFFC0000 //实时钟芯片的IO映像基址是OxFFFFC0000 #define TIME *(volatile int *)(Time_Addr+2) int getHo

16 道嵌入式C语言面试题

1. 用预处理指令#define 声明一个常数,用以表明 1 年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情:1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的.3). 意识到这个表达式将使一个 16 位机的整型数溢出-因此要用到长整型符号

【转载】16道嵌入式C语言面试题

1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的. 3). 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,

嵌入式C语言面试题

预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)         #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的.3) 意识到这个表达式将使一个16位