49.1伪指令 4、DATA指令 符号名DATA表达式 该指令将一个内部RAM的地址赋给指定的符号名。表 达式必须是一个简单表达式,其值在00H~0FFH之间。 例如: BUFFER DATA40H 5、 XDATA指令( Extenaldata) 符号名 XDATA表达式 该指令将一个外部RAM的地址赋给指定的符号名。表 达式必须是简单表达式,其值在000~0 FFFFH之间。 例如: MYDATA XDATA0100H
7:59:36 4.9.1 伪指令 4、DATA指令 符号名 DATA 表达式 该指令将一个内部RAM的地址赋给指定的符号名。表 达式必须是一个简单表达式, 其值在00H~0FFH之间。 例如: BUFFER DATA 40H 20 04:34:02 5、XDATA指令(Extenal Data) 符号名 XDATA 表达式 该指令将一个外部RAM的地址赋给指定的符号名。表 达式必须是简单表达式, 其值在0000H~0FFFFH之间。 例如: MYDATA XDATA 0100H
49.1伪指令 6、定义位命令BT P3 DATA OBOH 字符名称BIT位地址 P3,P0等已在头文件 用于给字符名称定义位地址。 STC15INC中定义 是位操作符 例如: DOGOUT BIT P3.4;或写成P3~4,0B0H4,0B0H^4 经定义后,允许在后续指令代码中用 DOGOUT代替P34。 7、文件包含命令 INCLUDE ◇文件包含命令 INCLUDE用于将寄存器定义文件(一般 的后缀名为NO)包含于当前程序中,与C语言中的 include语句的作用类似。 ◇使用格式为: SINCLUDE(文件名)
7:59:36 4.9.1 伪指令 6、定义位命令BIT 字符名称 BIT 位地址 用于给字符名称定义位地址。 例如: DOGOUT BIT P3.4; 或写成P3^4, 0B0H.4, 0B0H^4 经定义后, 允许在后续指令代码中用DOGOUT代替P3.4。 21 04:34:02 7、文件包含命令INCLUDE 文件包含命令INCLUDE用于将寄存器定义文件(一般 的后缀名为.INC)包含于当前程序中,与C语言中的 #include语句的作用类似。 使用格式为: $INCLUDE (文件名) P3,P0等已在头文件 STC15.INC中定义, . 是位操作符 P3 DATA 0B0H
7、文件包含命令 NCLUDE ◇例如,为使用方便,把STCI5F2K60S2单片机的寄存 器定义保存在文件STC15INC中(见附录B)。 寄存器定义的指令如:P3DATA0B0H ◇使用时,可在程序的开始处使用下面的命令将其包 含到用户程序中 SINCLUDE (STCI5.INC) ◇使用上述命令后,在用户程序中就可以直接使用 STC15F2K60S2单片机的特殊寄存器名称了。 ◇例, MOV CMOD,#100000;设置PCA工作模式 因文件中有寄存器定义: CMOD DATA0D9H
7:59:36 7、文件包含命令INCLUDE 例如,为使用方便,把STC15F2K60S2单片机的寄存 器定义保存在文件STC15.INC中(见附录B)。 使用时,可在程序的开始处使用下面的命令将其包 含到用户程序中: $INCLUDE (STC15.INC) 使用上述命令后,在用户程序中就可以直接使用 STC15F2K60S2单片机的特殊寄存器名称了。 例, MOV CMOD, #10000000B ;设置PCA工作模式 22 04:34:02 因文件中有寄存器定义: CMOD DATA 0D9H 寄存器定义的指令如: P3 DATA 0B0H
49.1伪指令 8、条件汇编控制指令 ◇条件汇编控制指令的作用是使源程序中的一部分程 序行根据需要决定是否进行汇编。 ◇条件汇编控制伪指令的一般格式: IF表达式 「程序块1 TELSE 「程序块2 ENDIF
7:59:36 4.9.1 伪指令 8、条件汇编控制指令 条件汇编控制指令的作用是使源程序中的一部分程 序行根据需要决定是否进行汇编。 条件汇编控制伪指令的一般格式: IF 表达式 [ 程序块1 ] [ ELSE ] [ 程序块2 ] ENDIF 23 04:34:02
8、条件汇编控制指令 ◆当I指令中的表达式为真时,汇编程序汇编程序块1; ◆当I指令中的表达式为假时,汇编程序块2。在一个 条件结构中,仅有一个程序块被汇编,其它的则被 忽略。 ◇I块可嵌套使用,最大嵌套深度为63层( Keil u vision 集成开发环境只能达10层)。 ◇如果 IF ELSEIF和ELSE块不汇编,则其嵌套的条件 块也不汇编
7:59:36 8、条件汇编控制指令 当IF指令中的表达式为真时,汇编程序汇编程序块1; 当IF指令中的表达式为假时,汇编程序块2。在一个 条件结构中,仅有一个程序块被汇编,其它的则被 忽略。 IF块可嵌套使用, 最大嵌套深度为63层(Keil μVision 集成开发环境只能达10层)。 如果IF ELSEIF和ELSE块不汇编,则其嵌套的条件 块也不汇编。 24 04:34:02