汇编C/C++语言
Lq_automatic
本人从事硬件设计,软件反面也有一定的功底,主要研究嵌入式方面
展开
-
ARM中C和汇编混合编程中的参数传递
C汇编互相调用 对于ARM体系来说,不同语言撰写的函数之间相互调用(mix calls)遵循的是 ATPCS(ARM-Thumb Procedure CallStandard),ATPCS主要是定义了函数呼叫时参数的传递规则以及如何从函数返回,关于ATPCS的详细内容可以查看ADS1.2Online Books ——Developer Guide的2.1节。这篇文档要讲的是汇编代码原创 2011-11-15 11:06:01 · 6689 阅读 · 1 评论 -
ARM C语言笔记
1、unsigned long == unsigned long int ,2者是等价的,均是无符号整形变量,在ARM9中占4个字节,int可省略不写 2、const是一个C语言的关键字,它限定一个变量不允许被改变。 3、局部变量,可与全局变量重名,但其会屏蔽全局变量,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量,一个文件可声明多个局部变量,互不影响 4转载 2011-11-16 13:10:13 · 1498 阅读 · 0 评论 -
volatile关键字的使用
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。经常需要等待某个事件的触发,所以经常会写出这样的程序:short flag;void test(转载 2011-11-16 12:54:38 · 604 阅读 · 0 评论 -
ARM中关于绝对寻址相对寻址LDR,ADR的理解
ARM 地址有几个地址概念:编译地址、 期望运行物理地址、实际运行物理地址、相对地址、绝对地址、位置无关指令 编译地址 : 编译阶段的生成地址,其是相对地址 ,有些地址还没确定,如调用其他.O文件中的函数或库函数期望运行物理地址 : 链接阶段生成的地址(期望绝对地址 ),会确定编译阶段没有确定的地址,并会根据链接器假设期望的程序烧录运行物理启始地址 ,来分配期望运行物理地址实际原创 2011-11-25 15:24:02 · 4023 阅读 · 0 评论 -
vsprintf()函数
vsprintf()函数中的自变量是位于数组中的,数组元素的字符串之前都要加上百分号(%)。这个函数是“一步一步[step-by-step]”按顺序执行。在第一个%后,将插入第一个数组元素;在第二个%后,将插入第二个数组元素,依次类推。vsprintf是sprintf的一个变形,它只有三个参数。vsprintf用於执行有多个参数的自订函式,类似printf格式。vsprintf的前两个参数转载 2011-12-03 15:21:46 · 986 阅读 · 0 评论 -
GB2312编码
code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +FA1A0 、 。 · ˉ ˇ ¨ 〃 々 — ~ ‖ … ‘ ’A1B0 “ ” 〔 〕 〈 〉 《 》 「 」 『 』 〖 〗 【 】A1C0 ± × ÷ ∶ ∧ ∨ ∑ ∏ ∪ ∩ ∈ ∷ √ ⊥ ∥ ∠A1D0 ⌒ ⊙ ∫ ∮ ≡ ≌ ≈ ∽ ∝ ≠ ≮转载 2011-12-11 14:53:21 · 9315 阅读 · 0 评论