汇编语言程序的设计及仿真调试.pptVIP

  • 14
  • 0
  • 约2.18千字
  • 约 38页
  • 2020-09-02 发布于福建
  • 举报
片应用3 第5章汇编语言程序设计及仿真调试 51汇编语言程序设计基础知识 52汇编语言程序设计举例 5.3利用 Keil uVision2调试程序测 54sP工具的使用 21:19:01版权斯有www.mcu0Icom 片应用3 5.1汇编语言程序设计基础知识 5.1.1伪指令 一般来说,在汇编语言源程序中用MSC-51指令助记 符编写的程序,都可以一一对应的产生目标程序。但还 有一些指令,例如指定目标程序或数据存放的起始地址, 给一些指定的标号赋值,在内存中予留工作单元,表示 源程序结東等等。这些指令并不产生目标程序,不影响 程序的执行,仅仅产生供汇编用的某些指令,以便在汇 编时执行一些特殊操作,称之为伪指令, 21:19:01版权斯有www.mcu0Icom 片应用3 1、设置起始地址ORG ORG nn 0RG伪指令总是出现在每段源程序或数据块的开始。它可使程序 员把程序、子程序或数据块存放在存贮器的任何位置 ORG 2000H 表示后续目标程序从2000单元开始存放。一般要求ORG定义空间 地址由小到大,且不能重叠。 在实际应用中,一般仅设置中断服务子程序的入口地址和主程序 的起始存放地址,其他的程序或常数依次存放即可,汇编程序会自动 进行存储空间的分配 21:19:01版权斯有www.mcu0Icom 片应用3 2、定义字节DB或DEFB 标号:)DB〈项或项表〉 其中项或项表是指一个字节,数或字符串,或以引号括起来的 ASCⅡ码字符串 字符用ASCⅡ码表示,相当于 指令的功能是把项或项表的数值(字符则用它的ASCⅡ码)存入从标 号开始的连续单元中 SEG1:DB53H,74H,78H,1,23 SEG2: DB 23H DAY (1000H)=53H (1001H)=74H (1003H)=31H 数字1的ASCⅡ码 数字2的ASCⅡ码 (1005H)=23H (1006H)=44H (1007H)=41H DAY’的ASCⅡ码 (1008H)=59H 21:19:01版权斯有www.mcu0Icom 4/38 片应用3 3、定义字DW或DEFW 〈标号:〉DW〈项或项表 DW的基本含义与DB相同,但DB一般用于定义8位数 据(一个字节),而DW则定义16位数据,即一个字(规 定为两个字节,即一个字为16位二进制数)。在执行汇 编程序时,机器会自动按高位字节在前,低位字节在后 的格式排列(与程序中的地址规定一致)。 例 ABC DW 1234H,O8H ABC: 2H, 34H, 00H, 08H 上两条指令是等价的。 21:19:01版权斯有www.mcu0Icom 片应用3 4、为标号赋值EQU 〈标号:〉EQUm或表达式 其功能是将语句操作数的值赋于本语句的标号。故又称 为等值指令。如 BLK: EQU 1000H 即给标号BLK赋以地址值1000H。需要注意的是,在 同一程序中,用EQU伪指令对标号赋值后,该标号的值在 整个程序中不能再改变。 21:19:01版权斯有www.mcu0Icom 片应用 5.DATA指令 格式 符号名DATA表达式 DATA指令用于将一个内部RAM的地址赋给指定的 符号名。 数值表达式的值在00H~0FFH之间,表达式必须是一 个简单表达式。如 BUFFER DATA 40H 21:19:01版权斯有www.mcu0Icom 片应用 6. XDATA指令( Extenal data) 格式: 符号名 XDATA表达式 XDATA指令用于将一个外部RAM的地址赋给指定的 符号名。 数值表达式的值在0000H~OFFH这之间,对于 STc12c5410AD单片机,片内集成了256字节的XRAM 地址范围是0000H~00FFH。表达式必须是一个简单表达式 如 MYDATA XDATA 0020H 21:19:01版权斯有www.mcu0Icom 片应用 7.定义位命令BT 格式 字符名称BIT位地址 用于给字符名称定义位地址。如: DOGOUT BIT P3. 4 经定义后,允许在指令中用D0GOUT代替P3.4。 DATA、BIT命令可以使用EU代替,例如,下面的两条命令 是等价的: TCON DATA 中断优先级高位寄存器 TCON EQU 中断优先级高位寄存器 下面的两条命令也是等价的: BIT 8FH TF1的位地址位8FH EQU TCON. 7 TF1为TcON的第7位 21:19:01版权斯有www.mcu0Icom 片应用 8、文件包含命令 INCLUDE 文件包含命令 INCLUDE用于将寄存器定义文件(一般 的后缀名为Nc)包含于当前程序中,与C语言中的 # nclude语句类似。使用格式为 INCLUDE(文件名 例如,为了使用方便,作者把

文档评论(0)

1亿VIP精品文档

相关文档