豆丁网
拖拽LOGO到书签栏收藏网站
权威考研资料库,备考必看
小学数学知识点精讲汇总
加入大会员,文档免费下
登录
注册
文档
专辑
用户
建筑
合同
报告
医疗
企业工具
按相关排序
按相关
最多阅读
最新上传
全部格式
全部格式
DOC
PDF
PPT
XLS
TXT
豆单
全部页数
全部页数
1-8页
9-100页
100页以上
时间不限
全部
2024年
2023年
2022年及以前
只看优质
只看可投资
展开
排序:
相关
最多阅读
最新上传
格式:
全部
doc
pdf
ppt
xls
txt
豆单
页数:
全部
1-8页
9-100页
100页以上
时间:
全部
2024年
2023年
2022年及以前
107
[
工学
]6 ARM
汇编语言与
嵌入式
C混合编程
.ppt
[工学]6 ARM汇编语言与嵌入式C混合编程
第六章
汇编语言与嵌入式c 汇编语言与嵌入式c 混合编程
内容提要
6.1 6.2 6.3 6.4 6 4 6.5 6.6 嵌入式c编程规范 嵌入式c程序设计中的位运算 嵌入式c程序设计中的几点说明 嵌入式c程序设计格式 c 过程调用标准atpcs与aapcs arm汇编语言与嵌入式c混合编程
6.1 嵌入式c编程规范
在当前的嵌入式开发中,嵌入式c语言是最 为常见的程序设计语言,对于程序员来说, 能够完成相应功能的代码并不一定是优秀 的代码。 优秀的代码还要具备易读性、易维护性、 具有可移植和高可靠性。
6.1.1 嵌入式c程序书写规范
排版规则如下: (1)程序块要采用缩进风格编写 (2)较长的语句(例如超过80个字符)要分成多行书写 (3)循环、判断等语句中若有较长的表达式或语句,则 要进行适应的划分 (4)若函数或过程中参数较长,也要进行适当的划分。 (5)一般不要把多个短语句写在一行中 (6)程序块的分界符语句的大括号“{”与“}”一般独占一 行并且在同一列
书写规范示例:
if (((ptcb->ostcbstat & os_stat_suspend) = = os_stat_rdy) &((ptcb->ostcbstat & os_stat_suspend_x) = = os_stat_rdy_x)) { ... // 程序代码 a } else { ... // 程序代码 b
6.1.2 命名规则
(1)标识符的名称要简明,能够表达出确切的含 义,可以使用完整的单词或通常可以理解的缩 写。 (2)如果
chuduixiangme
热度:
收藏到书房
立即下载
2
[
工学
]
C语言与汇编语言混合编程
.doc
7mp[工学]C语言与汇编语言混合编程/>
C 语言与汇编语言混合编程 C 调用由汇编语言编写的子程序 例 1: 汇编子程序 S01A.asm .model small ;采用小型存储模式 .data msg db ´Hello,C and Assembly!´,´$´ .stack 40h .code public _msgshow _msgshow proc far ;过程名加有下划线 mov ah,9 ;小型模式不必设置DS mov dx,offset msg ;寄存器AX和DX无须保护 int 21h ret _msgshow endp end C 主调程序 S01C.C #include <Stdio.h> void main(void) { extern void msgshow(void); printf("This is an example of C & Assembly programming...\n"); msgshow(); getch(); } SET PATH=;;; 汇编 s01a.asm: masm /Ml s01a.asm 编译、链接:tcc –ml –Iinclude –llib s01c.c s01a.obj 在将汇编过程定义为 NEAR 类型时应以 small 模式编译连接,若仍以 LARGE 模式编译连接,则 执行时出现”Abnormal program termination”,且在涉及堆栈参数传递的子程序中会导致 错误的参数访问,在例二中可以体会到。 若汇编模块定义为 large model,则过程应定义为 far 类型,且编译以 large 模式进行。<br />
例二: 例二: s02a.asm public _minx .model small,c .code<br />
_minx<br />
proc far push bp mov bp,sp mov mov cmp jle ;dec mov jmp ax,0 cx,[bp+6] 6 cx,ax ext cx ax,[bp+8] ltest ax,[bp+8
shuzi2
热度:
收藏到书房
立即下载
5
[
工学
]
C语言
和
汇编语言混合编程
.doc
fka[工学]C语言和汇编语言混合编程
C/C++ 语言和汇编语言混合编程开发 为了充分利用DSP芯片的硬件资源,更好发挥C/C++ 语言和汇编语言进行软 件开发的各自优点,可以将两者有机的结合起来,兼顾两者优点,避免其弊端。 因此,在很多情况下,采用混合编程方法能更好地达到设计要求,完成设计任务。 C/C++语言和汇编语言混合编程的具体方法有以下几种: (1)独立编写C/C++程序和汇编程序,分开编译或汇编形成各自的目标模块,再 用链接器将C/C++模块和汇编模块链接起来,这是一种灵活性较大的方法。但用户 必须自己维护各汇编模块的入口和出口代码,自己计算传递参数在堆栈中的偏移 量,工作量稍大,但能做到对程序的绝对控制,也能满足软件设计结构化的要求。 这是主要讲述的方法。 (2)在C/C++程序中使用汇编程序中定义的变量和常量。 (3)在C/C++程序中直接内嵌汇编语句。这种方法可以在C/C++程序中实现C/C++ 语言无法实现的硬件控制功能,如修改中断控制寄存器、中断标志寄存器等。 (4)在C/C++源程序中使用内部函数直接调用汇编语言语句。 后3种方法由于在C/C++语言中直接嵌入了汇编语言的成分,容易造成程序混 乱,C/C++环境被破坏,甚至导致程序崩溃,而编程者又很难对不良结果进行预期 和有效控制。而如果采用第一种方法,只要遵循<a name="page"></a>
<p class="uli">
<br
qingdao2233
热度:
收藏到书房
立即下载
83
【
工学
】51单片机
C语言编程
入门(中科大) 共(83页)
.pdf
【工学】51单片机C语言编程入门(中科大) 共(83页)
恭喜发财
热度:
收藏到书房
立即下载
62
[
工学
]
C语言编程
题_经典40题附解答[1]1
.ppt
[工学]C语言编程题_经典40题附解答[1]1
1、 定义一个带参的宏,使两个参数的值互换,并 、 写出程序,输入两个数作为使用宏时的参数。输出已交 换后的两个值。 # define exchange(a,b,x) x=a; a=b; b=x main( ) { int a , b , x ; printf( “input a and b:”) ; scanf (“%d,%d” , &a , &b ) ; exchange( a , b , x ) ; printf( “ a = %d\n b = %d\n” , a , b ) ; }
2 、编写程序,输入两个整数,求它们相除的余数。 用带参的宏来实现。 # define r(a , b) a%b main( ) { int a , b ; printf( “input a and b:”) ; scanf (“%d,%d” , &a , &b ) ; printf( “%d mod %d = %d\n” , a , b , r( a , b ) ) ; }
3、 分别用函数和带参的宏,从3个数中找出最大值。
int max( int a , int b , int c ) { int x ; x=(a>b)?a:b; x=(x>c)?x:c; return ( x ) ; } # define max( a , b , c , m ) ( m = a > b ? a : b ) > c ? m : c main ( ) 宏展开为: { int x , y , z , m ; (m=x>y?x:y)>z?m :z printf ( “ input x , y , z” ) ; scanf (“%d , %d , %d” , &x , &y , &
lizhenzhen457
热度:
收藏到书房
立即下载
43
[
工学
]天津科技大学2012--2013学年大一
C语言
程序设计课本课后
编程
参考答案
.doc
[工学]天津科技大学2012--2013学年大一C语言程序设计课本课后编程参考答案//3--1矩形面积 #include<stdio.h> void main() {
float a,b;
float c,area;
printf("n\please input a,b:"); scanf("%f%f",&a,&b); c=(a+b)*2; area=a*b;
printf("c=%f,area=%f\n",c,area); }
//3--2输入三位数,输出它各个数位上的数字
#include<stdio.h> void main()
{
int m,a,b,c;
printf("\nplease input 三位整数:"); scanf("%d",&m); a=m/100;
b=m/10%10; c=m%10;
printf("a=%d,b=%d,c=%d\n",a,b,c); }
//3--3大写字母转换 #include<stdio.h> void main() {
char ch;
printf("\nplease input 大写字母:"); scanf("%c",&ch);
ch=(ch>=´
bushisuo
热度:
收藏到书房
立即下载
105
[
工学
]北京理工大学
C语言编程
题_答案
.pdf
[工学]北京理工大学C语言编程题_答案
c 语言作业题及源码答案
北京理工大学 c 语言作业题
反馈 qq:791808990
c 语言作业题及源码答案(ttcc@bit)
2010
目录
1 温度转换 ..................................................................................................................... 4 2 计算圆柱的侧面积及体积 .....................................................
duxiu1
热度:
收藏到书房
立即下载
62
c语言编程
题_经典40题(附解答)_
工学
_高等教育_教育专区
.ppt
c语言编程题_经典40题(附解答)_工学_高等教育_教育专区,黄石理工学院c语言,c语言在线解答,c语言,c语言编程软件,c语言入门,c语言教程,c语言程序设计,c语言编译器,计算机二级c语言
文资达人
热度:
收藏到书房
立即下载
38
[
工学
]
C
课程设计-第10章 图形函数、系统调用和与
汇编语言
的接口
.ppt
[工学]C课程设计-第10章 图形函数、系统调用和与汇编语言的接口第10章 图形函数、系统调用 和与汇编语言的接口
*重点与难点 10.1 图形函数 10.2 系统调用 10.3 c语言与汇编语言的接口 *本章小结 *作业
重点与难点
重点:图形系统的使用;系统调用和与 汇编语言接口。 难点:系统调用和与汇编语言的接口。
10.1 图形函数
c语言提供了丰富的图形函数,所有 图形函数均包含在头文件graphics.h中。 使用图形库函数必须包含: #include<graphics.h>
图形系统应用
1、初始化图形模式 2、退出图形化模式 3、画图程序举例 4、独立运行的图形程序建立
1、初始化图形模式
int gdriver=detect,gmode; initgraph(&gdriver,&gmode,"d:\\tc"); 譬如:gdriver:vga (9) gmode:vgahi (2) 色调:16色 分辨率:640x480
2、退出图形化模式
closegraph();
3、画图程序举例(例10.1)
#include <graphics.h> #include <conio.h> main() { int gdriver=detect, gmode,errorcode; initgraph(&gdriver, &gmode, "d:\\tc"); errorcode = graphresult(); if( errorcode != grok ){ printf(" graphics system error: %s\n", grapherrormsg( errorcode )
wangxianba1
热度:
收藏到书房
立即下载
86
[
工学
]第八章8051内部资源
C语言编程
.pdf
[工学]第八章8051内部资源C语言编程[工学]第八章8051内部资源C语言编程[工学]第八章8051内部资源C语言编程
211f186966
热度:
收藏到书房
立即下载
升级豆丁大会员,13亿+文档免费下
更有在线复制文档、阅读零广告、专属客服等16项特权等你来
5万+用户已开通
1
2
3
4
5
6
7
8
9
10
11
向豆丁求助:有没有
工学 c语言与汇编语言混合编程
?
相关搜索
工学 汇编语言基础知识
工学 第6章汇编语言
工学 汇编语言实验指导
工学 第1章 汇编语言基础知识
工学 汇编语言 第1章 绪论
工学 微型计算机原理与汇编语言
工学 第7章 汇编语言程序设计
工学 c语言和汇编语言混合编程
如要投诉违规内容,请
联系我们
按需举报;如要提出意见建议,请到
社区论坛
发帖反馈。