2指令系统与汇编语言程序设计.ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指令系统与汇编语言程序设计 指令和助记符 指令本身是一组二进制数代码,为了便于 记忆,将这些代码用具有一定含义的指令助记 符来表示,助记符一般采用英文单词的缩写 。 例: 指令代码 助记符 功能 740A MOV A,#0AH 将十六进制数0AH放 入累加器A中 指令的字节数 一条指令由操作码和操作数组成。操作码 指明执行什么操作,例如数的传送、加法、减 法等。操作数则表示这条指令所完成的操作对 象,即是对谁进行操作。操作数可以是一个数, 或者是一个数所在的内存地址。指令由指令字 节组成,不同的指令,指令的字节数不相同。 有单字节指令、双字节指令和三字节指令。 寻址方式 1 寄存器寻址 2 直接寻址 3 立即寻址 4 寄存器间接寻址 5 变址寻址 6 相对寻址 7 位寻址 寄存器寻址 以通用寄存器的内容为操作数的寻址方式。 通用寄存器为A、B 、DPTR以及R0~R7 。 例: CLR A ;A←0 INC DPTR ;DPTR←DPTR+1 ADD R5,# 20H ;R5←#20H+R5 直接寻址 指令中直接给出操作数地址的寻址方式, 能进行直接寻址的存储空间有SFR寄存器和内 部数据RAM。 例: MOV PSW,# 20H ;PSW←#20H MOV A,30H ;A←(30H) 立即寻址 指令中直接给出操作数的寻址方式。立即操 作数用前面加有#号的8位或16位数来表示。 例: MOV A,# 60H ;A←#60H MOV DPTR,# 3400H ;DPTR←#3400H MOV 30H,# 40H ;30H单元←#40H 寄存器间接寻址 以寄存器中内容为地址,以该地址中内容为操 作数的寻址方式。间接寻址的存储器空间包括内 部数据RAM和外部数据RAM。能用于寄存器间接 寻址的寄存器有R0,R1和DPTR。在寄存器名称 前面加一个符号@来表示寄存器间接寻址。 例: MOV A , @R0 ;A ← ((R0)) MOVX @DPTR,A ;外部RAM(DPTR)←A 5 变址寻址 变址寻址是以某个寄存器的内容为基本地 址,然后在这个基址上加以地址的偏移量,才是 真正的操作数地址。 例: MOVC A,@ A+DPTR ;A←(A+DPTR) MOVC A,@ A+PC ;A←(A+PC) 相对寻址 以当前程序计数器PC的内容为基础,加上 指令给出的一字节补码数(偏移量)形成新的 PC值的寻址方式。相对寻址用于修改PC值, 主要用于实现程序的分支转移。 例: SJMP 08H ;PC←PC+2+08H 7 位寻址 位寻址只能对有位地址的单元作位寻址操 作。位寻址其实是一种直接寻址方式,不过其 地址是位地址。 例: SETB 10H ;将10H位置1 MOV 32H,C ;32H←进位位C CLR PSW.4 ;将RS1位清0 指令分类说明 1 算术运算类指令 2 逻辑运算与循环类指令 3 数据传送类指令 4 程序转移类指令 5 子程序调用及返回指令 6 位操作指令 汇编语言格式与伪指令 常用的伪指令 常用的伪指令 常用的伪指令 常用的伪指令 应用程序设计 在进行应用汇编程序设计时,首先要确定算法,算法的优劣很大程度上决定了程序的效率,另外还要尽可能画出程序框图,以便于分析程序流程。 定点数运算子程序 定点数:小数点固定的数。 可以把小数点固定在数值的最高位之前, 对于有符号的数,小数点应在符号位与最高数值位之间,即: 符号位 ·数值部分 也可以把小数点固定在最低数值位后面,即: 符号位 数值部分· 定点数表示方式 (1)

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档