单片机指令系统习题.docVIP

  • 322
  • 0
  • 约8.72千字
  • 约 13页
  • 2017-05-12 发布于河南
  • 举报
单片机指令系统习题

第四章汇编语言程序设计 第一节汇编语言源程序的格式和伪指令 (一)学习要求 (二)内容提要 一:汇编语言源程序的格式 1、语句格式 汇编语言源程序是由汇编语句(即指令)组成的。汇编语言一般由四部分组成。其典型的汇编语句格式如下: 标号: 操作码 操作数 ;注释 START: MOV A,30H ;A←(30H) (1) 标号段 标号是用户定义的符号地址。 (2) 操作码段 操作码段是每一语句中不可缺少的部分,也是语句的核心部分,用于指示计算机进行何种操作,汇编程序就是根据这一字段生成目标代码的。 (3) 操作数段 指出了参与操作的数据或存放该数据的地址。通常有目的操作数和源操作数之分。 (4) 注释段 为了增强程序的可读性,可在某行指令的后面用分号起头,加上注释,用以说明该条指令或该段程序的功能、作用,以供编程人员参考。此注释内容程序汇编时CPU不予处理,不产生目标代码。二:伪指令 1、定位伪指令ORG(Origin) 格式: [标号:] ORG m m:16位二进制数,代表地址。 功能:指出汇编语言程序通过编译,得到的机器语言程序的起始地址。 2、定义字节伪指令DB(Define Byte) 格式:[标号:] DB X1,X2,~Xn Xn:单字节二进制、十进制、十六进制数,或以‘ ’括起来的字符串,数据符号。 功能:定义程序存储器从标号开始的连续单元,用来存放常数、字符和表格。 ? 3、定义字伪指令DW(Define Word) 格式:[标号:] DW Y1,Y2,~Yn Yn:双字节二进制、十进制、十六进制数,或以‘ ’括起来的字符串,数据符号。 功能:同DB,不同的是为16位数据。 4、汇编结束命令END 格式:[标号:] END 功能:END是汇编语言源程序的汇编结束标志,在它后面所写的指令均不予处理。 5、等值命令EQU 格式:字符名称 EQU 数或汇编符号 功能:将一个数或特定的汇编符号赋予规定的字符名称。先定义后使用。 6、数据地址赋值命令DATA 格式:字符名称 DATA 表达式 功能:将数据地址或代码地址赋予规定的字符名称 ()汇编语言源程序的格式第二节汇编语言源程序汇编 (一)学习要求 (1) 掌握。 (2) 了解。 (二)内容提要用汇编语言编写的源程序称为汇编语言源程序。汇编通常由专门的汇编程序来进行,通过编译后自动得到对应于汇编源程序的机器语言目标程序,这个过程叫机器汇编。另外还可用人工汇编。 一、汇编程序的汇编过程 汇编过程是将汇编语言源程序翻译成目标程序的过程。汇编程序是两次扫描。第一次扫描是进行语法检查并建立该源程序使用的全部符号名字表。在这个表中,每个符号名字后面跟着一个对应的值。第一次扫描中如有错误则显示出错信息,扫描完,显示出错数目,然后返回编辑状态。这时可对源程序进行修改。如没有错误可进行第二次扫描,最后生成目标程序的机器码并得到对应于符号地址(即标号地址)的实际地址值。第二次扫描还产生相应的列表文件,此文件中有与每条源程序相对应的机器码、地址和编辑行号以及标号地址的实际地址等,可作为程序调试时使用。 二、人工汇编 由程序员根据MCS-51的指令集将汇编语言源程序的指令逐条人工翻译成机器码的过程叫人工汇编。人工汇编同样采用两次汇编方法。第一次汇编,首先查出各条指令的机器码,并根据初始地址和各条指令所占的字节数,确定每条指令所在的地址单元。第二次汇编,求出标号地址所代表的实际地址及相对应地址偏移量的具体补码值。 例:对下列程序进行人工汇编 ORG 1000H START:MOV R7,#200 DLY1:NOP NOP NOP DJNZ R7,DLY1 RET 第一次汇编查指令集,确定每条指令的机器码和字节数。通过ORG伪指令可依次确定各指令的首址。结果如下: 地址 指令码 ORG 1000H 1000H 7F C8 START:MOV R7,#200 1002H 00 DLY1:NOP 1003H 00 NOP 1004H 00 NOP 1005H DF 地址偏移量rel DJNZ R7,DLY1 1007H 22

文档评论(0)

1亿VIP精品文档

相关文档