[汇编学习笔记]MCS-51寻址方式
1.立即寻址——操作数直接出现在指令中,操作数可以为#da
MOV A,#da
MOV DPTR,#da
2.间接寻址 ——操作数的单元地址直接出现在指令中,这一寻址方式可以进行内部存储单元的访问。它包括:
(1)特殊功能寄存器地址空间。这也是惟一可寻址特殊功能寄存器(SFR,高128字节)的寻址方式。
MOV A,P1
MOV TCON,A
(2)内部RAM的低128字节
MOV A,76H
MOV A,43H
3.寄存器寻址
MOV A,R1
这种寻址方式中,寄存器中的内容就是操作数,可用来访问当前的工作寄存器Rn,累加器A、寄存器B、位累加器C和数据指针DPTR。
4.寄存器间接寻址
这种方式中,指定寄存器中的内容是操作数的地址,该地址对应存储单元的内容才是操作数。可以这种寻址方式中寄存器实际上是地址指针。能够用于寄存器间接寻址的寄存器有R0、R1、SP、DPTR,访问内部数据存储器时,用当前工作寄存器R0和R1作间址,在堆栈操作中则用SP作间址,对外部RAM进行读取操作时,必须采用寄存器间接寻址方式,
5.变址寻址——变址寻址方式是以程序指针PC或数据指针DPTR为基址寄存器,以累加器A作为变址寄存器,两者内容相加(即基地址+偏移量)形成16位的操作数地址,主要用于访问固化在程序寄存器中的某个字节。
(1)用程序指针PC基地址,A作变址,形成操作数地址:@A+PC。
用正执行指令下一条指令(PC总是指向下条要执行的指令)的地址+A的地址
(2)用数据指针DPTR作基地址,A作变址,形成操作数地址:@A+DPTR。
6.相对寻址——以程序计数器PC的当前值作为基地址,与指令中的第二字节给出的相加偏移量rel相加,所得的相对偏移地址。
7.位寻址——位寻址的空间只能是片内RAM的20H~2FH字节地址中的所有位(位地址为00H~7FH)和部分SFR位(地址能被8整除)。
汇编学习MCS-51寻址方 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)