C55x C语言编程之存储器模式
C编译器将存储器当作一个由代码子模块和数据子模块组成的线性模块。每个由C程序生成的代码子模块或数据子模块被放到各自的连续存储空间中。编译器认为目标存储器的全部24位地址都有效。
编译器支持两种存储器模型:小存储模式和大存储器模式。两种存储模式的数据在存储器中的放置和访问不同。
1.小存储器模式(默认模式)
使用小存储器模式将得到比使用大存储模式时更少的代码和数据。但是,程序必须满足一定的大小和存储…
C编译器将存储器当作一个由代码子模块和数据子模块组成的线性模块。每个由C程序生成的代码子模块或数据子模块被放到各自的连续存储空间中。编译器认为目标存储器的全部24位地址都有效。
编译器支持两种存储器模型:小存储模式和大存储器模式。两种存储模式的数据在存储器中的放置和访问不同。
1.小存储器模式(默认模式)
使用小存储器模式将得到比使用大存储模式时更少的代码和数据。但是,程序必须满足一定的大小和存储…
每次都以小记为题,不知道是不是自己的心老了还是咋滴,似乎除非生死大事,几乎并不能在我心里掀起太大的风浪,惊起多大的波澜。似是一马平川,实乃愁穿肠。
元旦嘛,吃饭喝酒自然是少不了的。课题组吃了,班里吃,再然后就是宿舍吃,最后就是铁子无限吃。真是年少轻狂,似乎也乐得自在。
各个卫视都在跨年演唱会,郭爷的跨年相声也搞得不亦乐乎,我们自然不能落后,搞了个跨年牌局,倒也成功,乐得自在。
寂寞的男人似乎也就是…
有时候看到哥们们在一块,少了自己,总想上次踹他们一脚,然而自己却独自离开了
有时候看到喜欢的女孩和别人在一起,尽管心里很气愤,强忍着笑一笑,最终连招呼也不敢打
当宿舍的哥们都在睡觉的时候,一个人默默的背起书包,从宿舍一直走到s1,漫长的路上总不知不觉的想着什么
当一个人提起鞋,跑去食堂的时候,不是不想捎饭,还是向往一块买饭的来来回回
喝酒的时候会哭,伤心的时候却会一句话不说
憋屈的时候会骂,也会不…
-pk、-pr和-ps选项可以用来规定C编译器解释源代码。编译源代码有如下的模式:
默认的模式是Normal ANSI模式。在此模式下,大多数违反ANSI标准的语句都报错。违反严格ANSI标准的语句给出警告。语言扩展的语句都是允许的。
1.兼容K&R C(-pk选项)
主要用来简化用C55x AN…
Pragma指令告诉编译器的预处理器如何处理函数。C55x C编译器支持如下pragma指令:
CODE_SECTION
C54X_CALL
C54X_FAR_CALL
DATA_ALIGN
DATA_SECTION
FUNC_CANNOT_INLINE
FUNC_EXT_CALLED
FUNC_IS_PURE
FUNC_IS_SYSTEM
FUNC_NEVER_RETURNS
FUNC_NO_G…
很久很久没静下心来打几个字了。虽说这几日百事缠身,可是心情却是波澜不惊,一忙起来啥都忘了。如果事无巨细的写下来,便有婆婆妈妈之嫌了。
最重要的数来也就是驾照考试吧。昨天驾照拿到手了,细细算来断断续续的练车也练了一个学期了,从酷暑练到冰寒,感觉练车似乎是这最近几年最灰暗的记忆了。等一天,也就上几次车,太坑爹了。尤其前两天,在下面等的时候,感觉整个人都冻透了。其实这也不算什么,最JP还是教练。要么冷暴…
55x C编译器可以直接将C55x汇编语言指令嵌入到编译器的汇编语言输出中,这就是C语言的扩展功能—asm指令。这个语句提供了C不能提供的对硬件的访问功能。这个语句就好像是对叫做asm的函数的调用。asm指令格式如下:
asm (“assembler text”);
编译器直接把命令中的字符串复制到输出文件中。汇编器文档必须包括到两个引用中。所有常用字符串转义符保留原来的定义。例如,可以插入包含引…
寄存器变量就是用register关键字声明的关键字。根据是否使用优化器,C编译器对寄存器变量采用不同的处理方式。
当使用优化器进行编译时,编译器忽略任何寄存器声明,通过一种能够最有效地使用寄存器的代价算法,把寄存器分配给变量和临时量。
当不使用优化器进行编译时,编译器将使用register关键字的变量分配到寄存器中。
编译器会尽量分配好所声明的寄存器变量。如果编译器运行超出了合适的寄存器,它将通过…
1. const
C55x C编译器支持标准C语言的const关键字。将这个关键字使用到对任意变量或数组的定义上可以确保它们的值不改变。如果定义一个对象为const,那么const段就会为该对象分配存储空间。使用const关键字可以定义大常数表并将它们分配到系统ROM中。
2. ioport
C55x C编译器对标准C语言进行了扩展,增加了ioport关键字来支持I/O寻址模式。
ioport类…
C55x C语言支持的数据类型有17种,具体的可以查看技术手册。
在定义各种数据类型时,应注意如下规则:
(1)避免设int和long为相同大小。
(2)对定点算法(特别是是乘法)尽量使用int数据类型。用long类型作乘法操作数会导致调用运行时间库(run-time library)的程序。
(3)使用int或unsigned int类型而非long类型来循环计数。虽然C55x有针对有效的硬件循…
Copyright © 2007-2011 Alonesky's Blog All rights reserved.Powered by WordPress, Designed by Alonesky based on Tstyle & inove themes.