8051指令系统

指令系统的寻址方式

寄存器寻址

  1. 指令中的操作数为某一寄存器的内容
  2. 例如:MOV A, Rn
    (Rn) → \rightarrow A , n=0~7
    指令指定了从寄存器Rn中取得源操作数,故被称为寄存器寻址方式

直接寻址

  1. 直接给出操作数的单元地址,地址单元中的内容就是操作数
  2. 例如:MOV A, direct
    "direct"是操作数的单元地址
  3. 例如:MOV A, 40H : 表示把内部RAM 40H单元的内容传送到A
    直接寻址是访问片内所有特殊功能寄存器的唯一寻址方式

寄存器间接寻址

  1. 寄存器中存的是操作数的地址,即先从寄存器中找到操作数的的地址,再按该地址找到操作数
  2. 在寄存器名称前面加前缀标志“@”,表示寄存器中存的是操作数地址。
  3. 例如:MOV A, @Ri; i=0或1
    Ri的内容为40H,即把内部RAM 40H地址单元中的内容传送给A。

立即数寻址

  1. 直接在指令中给出操作数—也称立即数。为了与直接寻址地址指令中的直接地址加以区别,需在操作数前加前缀标志“#”。
  2. 例如:MOV A, #40H
    源操作数是立即数,存放在程序存储器内。

基址寄存器加变址寄存器间接寻址

  1. 以DPTR或PC作为基址寄存器,以A作为变址寄存器,两者内容相加形成的16位地址作为目的地址进行寻址。
  2. 例如:MOVC A, @A+DPTR
    其中,(A)= 05H,(DPTR)= 0400H,指令执行结果是把程序存储器0405H单元的内容传送给A。
  3. 本寻址方式指令有三条:
    MOVC A, @A+DPTR
    MOVC A, @A+PC
    JMP @A+DPTP
  4. 前两条指令适用于读程序存储器中固定的数据。例如,将固定的,按一定顺序排列的表格存放在程序存储器中,在程序运行中由A的动态参量来确定读取对应表格参数。
  5. 第三条为散转指令,A中内容为程序运行后的动态结果,可根据A中不同内容,实现跳向不同程序入口的跳转。

相对寻址方式

  1. 该寻址方式是以该转移指令的地址(PC值)加上它的字节数,再加上相对偏移量(rel),形成新的转移目的的地址,从而程序转向该目的地址。
  2. 转移目的地址的计算:
    目的地址=转移指令所在的地址+转移指令字节数+rel
    偏移量rel是带符号8位二进制补码数,-128~+127。
  3. 例如:LJMP rel
    程序要转移到该指令的PC值+3(LJMP指令的字节数)+偏移量rel的目的地址处。编程时,只需要在转移指令中直接写要转向的地址标号。
  4. 例如:LJMP LOOP
    “LOOP”为目的地址标号。汇编时,由汇编程序自动计算和填入偏移量。

位寻址

  1. 对可位寻址功能的某位内容进行置“1”和清零“0”。
  2. 位地址一般以直接地址给出,位地址符号为"bit".
  3. 例如:MOV C, bit 其具体指令:MOV C, 40H
    把位地址为40H的值送到进位位C。

寻址方式总结

其中寻址方式及其寻址空间

基于51单片机开发的小程序,学习资料,用于学习51单片机的嵌入式开发,应用案例 基于51单片机开发的小程序,学习资料,用于学习51单片机的嵌入式开发,应用案例 基于51单片机开发的小程序,学习资料,用于学习51单片机的嵌入式开发,应用案例 基于51单片机开发的小程序,学习资料,用于学习51单片机的嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机的嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机的嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机的嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机的嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机的嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机的嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机的嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机的嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机的嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机的嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机的嵌入式开发,应用案例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值