KEIL 伪指令】的更多相关文章

Keil伪指令 目录 Keil伪指令... 1.     ALTNAME. 2 2.     BIT. 2 3.     BSEG.. 2 4.     CODE. 2 5.     CSEG.. 2 6.     DATA(BYTE)... 2 7.     DB. 2 8.     DBIT. 3 9.     DS. 3 10.       DSEG.. 3 11.       DW.. 3 12.       END.. 3 13.       EQU(=)... 3 14.      …
//为了大家查找方便,命令按字母排序:0.ALTNAME 功能: 这一伪指令用来自定义名字,以替换源程序中原来的保留字,替换的保留字均可等效地用于子程序中. 格式: ALTNAME 保留字 自定义名 注意: 自定义名与保留字之间首字符必须相同. 1.BIT 功能:指令用于将一个位地址赋给指定的符号名. 指令格式:符号名 BIT 位地址 经BIT 指令定义过的位符号名不能更改. 例如:X_ON BIT 60H :定义一个绝对位地址 X_OFF BIT 24h.2 :定义一个绝对位地址 2.BSEG…
Startup code:启动代码. 在Keil中,启动代码在复位目标系统后立即被执行.启动代码主要实现以下功能: (1) 清除内部数据存储器 (2) 清除外部数据存储器 (3) 清除外部页存储器 (4) 初始化small模式下的可重入栈和指针 (5) 初始化large模式下的可重入栈和指针 (6) 初始化compact模式下的可重入栈和指针 (7) 初始化8051硬件栈指针 (8) 传递初始化全局变量的控制命令或者在没有初始化全局变量时给main函数传递命令. 在每一个启动文件中,提供了可供用…
在利用keil进行8051单片机编程的时,常常需要进行绝对地址进行访问.特别是对硬件操作,如DA AD 采样 ,LCD 液晶操作,打印操作.等等.C51提供了三种访问绝对地址的方法: 1. 绝对宏 在程序中,用“#include<absacc.h>”即可使用其中定义的宏来访问绝对地址,包括:CBYTE.XBYTE.PWORD.DBYTE.CWORD.XWORD.PBYTE.DWORD 具体使用可看一看absacc.h便知  例如: rval=CBYTE[0x0002] ;指向程序存贮器的000…
单片机空间分配看*.M51文件,ARM,DSP空间分配看*.map文件 1.函数定位 假如要把C源文件 tools.c 中的函数 int BIN2HEX(int xx) { ... } 放在CODE MEMORY的0x1000处,先编译该工程,然后打开该工程的M51文件,在* * *     C O D E     M E M O R Y     * * *行下找出要定位的函数的名称,应该形如:CODE      xxxxH       xxxxH       UNIT           ?P…
1)一定要使用微软的txt文本编辑器,否则键入逗号时编译通不过.应该是这个样('),不该是这个样(,). 2) 用数字做标号时,前面一定要加一个英文字母,否则编译通不过. 3) 有时编译通过的.asm源文件却不产生.hex文件!原因是keil软件的设置没有勾选“产生hex文件:另一个是存放.hex的文件夹中删除过其他的.hex文件. 4) 用VU2新建文件键入源程序时,先键入程序部分,编译后,再键入注释部分:此外,不能用中文输入法输入分号,最好用大写输入程序部分及注释部分前面的分号,否则注释部分…
对于一个大的文件,为了便于管理,一个好的办法时把一个大文件分为若干个小文件,每个小文件包含一部分相关的功能,这样功能将显得很整洁,而且移植到其它工程的时候也很方便,把文件copy过去即可. 对于汇编,我们也许知道,可以使用orgxxxx来指定函数的地址(org是一个段内指定偏移的伪指令),但是当指定这个地址时,是否与其它函数冲突呢?有可能其它函数过长已经占用了这个地址.难道要数手指计算函数的长度吗?另一个问题是主函数怎样调用被调函数呢? 在回答这些问题之前,先来看看使用的开发工具是怎样工作的.首…
C与汇编混合编程主要有以下几种:(1)C语言中嵌入汇编(2)无参数传递的函数调用(3)有参数传递的函数调用 一.C语言中嵌入汇编 1.在 C 文件中要嵌入汇编代码片以如下方式加入汇编代码: #pragma ASM ; Assembler Code Here #pragma ENDASM  2.在 Project 窗口中包含汇编代码的 C 文件上右键,选择“Options for ...”,点击右边的“Generate Assembler SRC File”和“Assemble SRC File”…
1.KEIL中的指针: 基于存储器的指针:数据类型 [指向存储区]  *[ 指针存储区]指针变量 char xdata * px //px本身存在于自动分配的空间,一般位于data中,指向的内容位于xdata char xdata * data px //px本身存在于data空间,指向的内容位于xdata data char xdata * px =char xdata *data px; data空间:内部ram 0-128字节 xdata空间:外部扩展ram, 用movx 及间址访问 一般…
keil A51中条件编译指令IF与$IF的区别:1.IF和$IF是不等价的,不要混淆了;2.带前缀$的条件编译$IF用法:(汇编器指示命令Assembler Directive)只能用来测试由$SET和$RESET指令定义的符号.$SET使用方法:Options — A51 — Set. SET (symbol <<= number>> << ,symbol <<= number >> ... >>) $RESET使用方法:Opti…