3.3数据传送指令.ppt_第1页
3.3数据传送指令.ppt_第2页
3.3数据传送指令.ppt_第3页
3.3数据传送指令.ppt_第4页
3.3数据传送指令.ppt_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3 3数据传送指令 29条 3 3 1概述 通用格式为 MOV 目的操作数 源操作数 目的操作数可以是 A Rn direct Ri源操作数可以是 A Rn direct Ri data MOV 3 3 2分类 内部RAM数据传送指令组 外部RAM数据传送 程序存储器数据传送指令组 数据交换指令组 堆栈操作指令组 注意 交换型传送指令不丢失目的操作数 它只使将源操作数和目的操作数交换了存放单元 传送类指令一般不影响标志位 但堆栈指令 PUSH和POP 可以直接修改状态字PSW 一 内部RAM数据传送指令组 1 以累加器A为目的操作数的指令 MOVA Rn A Rn Rn R0 R7MOVA direct A direct MOVA Ri A Ri Ri R0 R1MOVA data A data 功能 将源操作数所指定的内容送入累加器A 2 以寄存器Rn为目的操作数的指令 功能 将源操作数所指定的内容送到当前工作寄存器组R0 R7中的某个寄存器中 MOVRn A Rn A Rn R0 R7MOVRn direct Rn direct MOVRn data Rn data 3 以直接地址为目的操作数的指令 MOVdirect A direct A MOVdirect Rn direct Rn MOVdirect direct direct direct MOVdirect Ri direct Ri MOVdirect data direct data 功能 将源操作数所指定的内容送入由直接地址direct所指定的片内存储器中 4 以间接地址为目的地址操作数的指令 功能 将源操作数所指定的内容送入以R0或R1为地址指针的片内存储器单元中 MOV Ri A Ri A MOV Ri direct Ri direct MOV Ri data Ri data 5 十六位数据传送指令 MOVDPTR data16 DPH dataH DPL dataL 唯一的16位立即数传送指令 二 外部RAM数据传送组 指令只能通过累加器A 1 使用DPTR进行间接寻址 MOVXA DPTR A DPTR MOVX DPTR A DPTR A 指令的寻址范围 64KB 2 使用Ri进行间接寻址 MOVXA Ri A Ri MOVX Ri A Ri A 只限于外部RAM的低256单元 三 程序存储器数据传送指令组 查表指令 MOVCA A PC PC PC 1 A A PC MOVCA A DPTR A A DPTR 四 数据交换指令组 数据交换主要是在内部RAM单元与累加器A之间进行 有整字节和半字节交换指令两种 1 整字节交换指令 XCHA Rn A Rn XCHA direct A direct XCHA Ri A Ri 2 半字节交换指令 XCHDA Ri A 3 0 Ri 3 0 3 累加器高低半字节交换指令 SWAPA A 3 0 A 7 4 五 堆栈操作指令组 进栈 出栈两种操作 使用堆栈前 需设定SP的初始值 PUSHdirect SP SP 1 SP direct POPdirect direct SP SP SP 1 例1 设内部RAM 30H 40H 40H 10H 10H 00H P1 0CAH 分析以下程序执行后 各单元及寄存器 P2口的内容 MOVR0 30H R0 30HMOVA R0 A R0 MOVR1 A R1 A MOVB R1 B R1 MOV R1 P1 R1 P1 MOVP2 P1 P2 P1 MOV10H 20H 10H 20H 解 R0 30H R1 A 40H B 10H 40H P1 P2 0CAH 10H 20H 例2 已知外部RAM的60H单元中有一个数为30H 试编程把30H送到片外RAM的2000H单元中 解 MOVR1 60HMOVXA R1MOVDPTR 2000HMOVX DPTR A 例3 已知 片内20H单元有一个数为30H 片外20H单元有一个数为03H 编程把二个数相互交换 解 MOVR0 20HMOVXA R0XCHA R0MOVX R0 A 例4 设外部ROM的2000H单元开始的连续10个字节中已存放有0 9的平方数 要求根据A中的内容 0 9 来查找对应的平方值 解 START MOVA 3MOVDPTR TABLEMOVCA A DPTR 查表 ORG2000HTABLE DB0 1 4 9 16 25 36 49 64 81 例5 以查表方法把累加器A中的十六进制数转换为ASCII码 并送回累加器 1000HEXASCII INCA1001MOVCA A PC1002RET1003DB30H1004DB31H1005DB32H 100CDB39H100DDB41H100E

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论