8051单片机指令系统的7种寻址方式解析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8051单片机指令系统的7种寻址方式解析
寻址方式:寻址就是寻找操作数的地址。
绝大多数指令执行时都需要操作数,因此就存在如何确定操作数地址的问题。
所谓寻址方式就是通过什么途径获取操作数的方式。
根据指令操作的需要,计算机总是提供多种寻址方式。
一般来说,寻址方式越多计算机的寻址能力就越强,但指令系统也就越复杂。
8051指令系统有7种寻址方式:寄存器寻址,直接寻址,寄存器间接寻址,立即寻址,基址寄存器加变址寄存器间接寻址,相对寻址,位寻址,下面分别介绍。
寄存器寻址
寄存器寻址:寄存器寻址就是操作数在寄存器中,因此指定了寄存器就得到了操作数。
采用寄存器寻址方式的指令都是一字节的指令,指令中以符号名称来表示寄存器。
例如:MOV A R1 这条指令的功能是把工作寄存器R1的内容传送到累加器A中,由于操作数在R1中,因此指令中指定了R1,也就得到了操作数。
寄存器寻址方式的寻址范围包括:工作寄存器组R0~R7,部分特殊寄存器ACC,B,DPTR 等。
直接寻址
直接寻址:直接寻址就是在指令中直接给出操作数所在单元的真实地址。
这里给出的操作数直接地址为8位二进制地址。
程序中一般用十六进制数表示。
例如:指令MOV A,30H 把内部RAM单元30H中的数据传送给累加器A,指令中30H就是操作数的直接地址。
直接寻址方式的寻址范围包括:内部数据存储器低128单元,特殊功能寄存器。
特殊功能寄存器在指令的表示中除了可以以直接地址形式给出外,还可以以寄存器符号形式给出,如对累加器A,在指令中可使用其直接地址OEOH,也可使用其符号形式ACC。
立即寻址
立即寻址:立即寻址方式就是实际操作数作为指令的一部分,在指令中直接给出,取指令时,可在程序存储器中直接取得操作数。
通常把出现在指令中的操作数称为立即数。
采用立即寻址方式的指令,在立即数前面加上。