《例说8051:单片机程序设计案例教程》——2-6 数据传送指令

2-6 数据传送指令

例说8051:单片机程序设计案例教程
数据转移指令的功能是将源操作数的数据复制到目的操作数里;或将指定的操作数内容交换。数据转移指令属于8051指令里的最大的一类,包括28条指令,在此将它们分为5大类来介绍。

圓 数据传送指令
数据传送指令的功能是将源(source)操作数的数据复制到目的(destination)操作数,如下所示:

其中的源操作数可为存储器(RAM)地址direct的数据、寄存器Rn的内容、以间接寄存器Ri内容为地址(@Ri)的数据、立即数#data、ACC的内容等;目的操作数可为存储器(RAM)地址direct、寄存器Rn、以间接寄存器Ri内容为地址(@Ri)、ACC、数据指针寄存器DPTR等,其中的ACC可简写为A,不过某些汇编器只接受ACC,而不接受A。

MOV A, direct```

<div style="text-align: center"><img src="https://yqfile.alicdn.com/1e8561eb521b2853be941c7f7457633a4472bff3.png" width="" height="">
</div>

 MOV A, R_n_

<div style="text-align: center"><img src="https://yqfile.alicdn.com/be1cf69daadd2a7ac06b32c367f8213fafb2b806.png" width="" height="">
</div>

MOV A, @R_i_

<div style="text-align: center"><img src="https://yqfile.alicdn.com/1a8849d942075c3843000666627c2a98f5902414.png" width="" height="">
</div>

<div style="text-align: center"><img src="https://yqfile.alicdn.com/9455891c7c723bca4a827185b13e173570df357c.png" width="" height="">
</div>

 MOV R_n_, #_data_

<div style="text-align: center"><img src="https://yqfile.alicdn.com/518c3c25f11e5bffbc11d2f73bec202e948b0fa2.png" width="" height="">
</div>

<div style="text-align: center"><img src="https://yqfile.alicdn.com/d1fd9e60c9dd173e97161b35b655cb4b52795c56.png" width="" height="">
</div>

<div style="text-align: center"><img src="https://yqfile.alicdn.com/be8ff739f9ef98cd9a98a28f4d8d4ef90f847b98.png" width="" height="">
</div>

<div style="text-align: center"><img src="https://yqfile.alicdn.com/10987bbad97d1e1b66c4f11fb7f79d2f99954058.png" width="" height="">
</div>

<div style="text-align: center"><img src="https://yqfile.alicdn.com/d3d6438573ffa4c518c7a86033befdf2353fc971.png" width="" height="">
</div>

圓 查表指令
查表指令的功能是先将基址寄存器的内容加上ACC的内容,再以其和为地址,将该存储器地址的内容复制到ACC,如下所示:

<div style="text-align: center"><img src="https://yqfile.alicdn.com/efda105ba3600cdd36cd7bb74d99a6b546c79c58.png" width="" height="">
</div>

其中的基址寄存器为16位的寄存器,如DPTR、PC,因此可以寻址到64K的范围。

<div style="text-align: center"><img src="https://yqfile.alicdn.com/4a4bfb413c615adcbe9c595483016577127b516d.png" width="" height="">
</div>

圓 外部数据访问指令
外部数据访问指令的功能是访问外部扩展存储器(RAM)的数据,如下所示:

<div style="text-align: center"><img src="https://yqfile.alicdn.com/7b000c6f078dfbab03f0060afc8d409333b1607e.png" width="" height="">
</div>

其中的源操作数可为以间接寄存器Ri内容为地址(@Ri)的数据、以数据寄存器DPTR内容为地址(@DPTR)的数据、ACC的内容等;目的操作数可为ACC、以间接寄存器Ri内容为地址的位置(@Ri)、以数据寄存器DPTR内容为地址的位置(@DPTR)等。

<div style="text-align: center"><img src="https://yqfile.alicdn.com/4f708a15b7bd10fc4997c34b02983cde7537d192.png" width="" height=""><img src="https://yqfile.alicdn.com/aa7c13136d7b7c36397ee73b8eb06cea9871f0ce.png" width="" height="">
</div>

圓 堆栈访问指令
堆栈访问指令的功能是按堆栈指针访问堆栈数据,堆栈存储器具有先进后出(FILO)的特性,适用于堆栈操作的操作数为存储器(RAM)地址direct的数据,当然,所有特殊功能寄存器都属于RAM的一部分,所以,可以堆栈访问指令来操作。
<div style="text-align: center"><img src="https://yqfile.alicdn.com/01d345ad259941e3c6f767a8ea43f457ee14dc83.png" width="" height="">
</div>

圓 数据交换指令
数据交换指令的功能是将源操作数的数据与目的操作数的数据,如下所示:
<div style="text-align: center"><img src="https://yqfile.alicdn.com/513a777787caee032b50b6a9d56ef96f7dc701fc.png" width="" height="">
</div>

其中的源操作数可为存储器(RAM)地址direct的数据、寄存器Rn的内容、以间接寄存器Ri内容为地址(@Ri)的数据等;目的操作数则只能为ACC。

<div style="text-align: center"><img src="https://yqfile.alicdn.com/a396d83746afc63ac7567e39f06398b564d34666.png" width="" height=""><img src="https://yqfile.alicdn.com/bd8ba06a00889624a5a525cf0ebb65d12d8279ad.png" width="" height="">
时间: 2024-08-02 06:18:56

《例说8051:单片机程序设计案例教程》——2-6 数据传送指令的相关文章

《例说8051:单片机程序设计案例教程》——2-1 认识MCS-51的存储器结构

2-1 认识MCS-51的存储器结构 例说8051:单片机程序设计案例教程除了无ROM型的8031及8032外,MCS-51的存储器包括程序存储器(ROM)与数据存储器(RAM)两部分,一般这两部分是独立的个体.标准的8x51系列具有4KB程序存储器.128B数据存储器,而标准的8x52系列具有8KB.256B数据存储器,刚好是8x51系列的两倍.不管是8x51.8031.8032还是8x52,其外部扩展的程序存储器或数据存储器最多为64KB,如表2-1所示. 近年来许多半导体厂商所推出的MCS

《例说8051:单片机程序设计案例教程》——第 1 章 轻松看8051

第 1 章 轻松看8051 例说8051:单片机程序设计案例教程本章内容丰富,主要包括3部分: anniu 8051部分 8051的基本认识,包括结构.引脚.封装.MCS-51系列,以及8051的基本电路等. anniu 开发工具部分 8051软硬件的开发流程,包括源程序的编写.汇编.连接,以及软硬件模拟等. anniu 程序与实作部分 闪烁灯的程序设计及其汇编.连接与软件仿真.

《例说8051:单片机程序设计案例教程》——2-8 实时练习

2-8 实时练习 例说8051:单片机程序设计案例教程在本章里,介绍了8051的存储器结构.输入/输出端口.输出电路的设计等硬件部分:在软件方面,则介绍了指令格式.寻址方式,以及数据转移指令,这些都是学习8051不可或缺的相关知识.在此试着回答下列问题,以验证学习成效. 1.8051内部的程序存储器与数据存储器容量各为多少?而外部扩展的程序存储器与数据存储器最多容量各为多少? 2.在8051电路里,若要使用外部程序存储器,应如何连接?而访问外部数据存储器必须使用哪个指令? 3.8051内部有多少

《例说8051:单片机程序设计案例教程》——2-4 指令格式

2-4 指令格式 例说8051:单片机程序设计案例教程8051源程序的指令格式包括四个字段,最左边字段为标号字段(label),第二个字段是指令操作码字段(mnemonic),第三个字段是操作数字段(operand),第四个字段是注释字段(comment),如下所示: 标号字段的功能是放置标号,作为子程序的起始标志或跳转指令的参考位置.若不放置标号,则标号字段必须为空.而第二个字段就是放置指令操作码,如MOV.ADDC等. 在第三个字段里放置操作数,随着指令的不同,就有不同个数的操作数,某些指令

《例说8051:单片机程序设计案例教程》——导读

前言 例说8051:单片机程序设计案例教程单片机,单片机,还是单片机 从8048开始,"单片机"即成为广受欢迎的代名词,8051更成为电机.电子类专业必修的课程.当然,应用单片机制作电子系统项目,既简单又经济实惠,早已成为学生的最爱.在电路设计方面,需求量较大.电路较复杂的系统可采用为客户专用而设计的IC(即ASIC),如芯片组.控制芯片等,虽然ASIC的单位成本不高,但总体成本很高.开发时间也比较长.需求量不是很大,而电路变化较多的系统则多采用可编程逻辑器件(如CPLD.FPGA).

《例说8051:单片机程序设计案例教程》——1-1 微型计算机与单片机

1-1 微型计算机与单片机 例说8051:单片机程序设计案例教程一般来说,微型计算机包括中央处理单元(CPU).存储器(Memory)及输入/输出单元(I/O)三大部分如图1-1所示.CPU就像是人的大脑一样,主宰整个系统的运行:Memory则是存放系统运行所需的程序及数据,包括只读存储器(Read Only Memory,ROM)及随机存取存储器(Randon Access Memory,RAM),通常ROM用来存储程序或永久性的数据,称为程序存储器,RAM则是用来存储程序执行时的临时数据,称

《例说8051:单片机程序设计案例教程》——1-2 8051基本知识

1-2 8051基本知识 "8051"源自Intel公司的MCS-51系列,而目前所使用的8051并不是都采用Intel公司所生产的芯片,而多采用其他厂商所推出的兼容芯片,如Atmel公司的89C51/89S51系列,其价格低廉,质量稳定,开发工具齐全,广为学校或培训机构所欢迎. 在此,先介绍8051的基本结构,包括基本结构.引脚.基本电路及51系列等,其中很多知识最好要"记"在脑中,本书也会提供很多快速记忆的技巧,让读者能在极短的时间里记住40个引脚.基本电路等.

《例说8051:单片机程序设计案例教程》——第 2 章 输出口的应用 2-1 认识MCS-51的存储器结构

第 2 章 输出口的应用 本章内容丰富,主要包括3部分: 2-1 认识MCS-51的存储器结构 除了无ROM型的8031及8032外,MCS-51的存储器包括程序存储器(ROM)与数据存储器(RAM)两部分,一般这两部分是独立的个体.标准的8x51系列具有4KB程序存储器.128B数据存储器,而标准的8x52系列具有8KB.256B数据存储器,刚好是8x51系列的两倍.不管是8x51.8031.8032还是8x52,其外部扩展的程序存储器或数据存储器最多为64KB,如表2-1所示. 近年来许多半

《例说8051:单片机程序设计案例教程》——1-3 8051的开发流程与工具

1-3 8051的开发流程与工具 8051系统的开发流程与一般单片机的开发流程类似,其基本开发流程可分为软件与硬件两部分,而这两部分是并行开发.在硬件开发方面,主要是设计原型电路板(prototype),也就是目标板(target board).在软件开发方面,则是编写源程序(可使用C语言或汇编语言).再经过编译.汇编成为可执行代码,然后进行排错/仿真.当完成软件设计后,即可应用在线仿真器(In-Circuit Emulator,ICE),下载该可执行代码,然后在目标板上进行在线仿真.若软.硬件