符号指令的寻址方式

汇编有两类基本指令:符号指令伪指令 。符号指令和机器指令一一对应,伪指令只为汇编程序将符号指令翻译成机器指令提供信息,没有与它们对应的机器指令。

符号指令的构成: 操作助记符  [目的操作数] [,源操作数]

下面说符号指令的寻址方式:

1)寄存器寻址:操作数据在寄存器,如 

mov a,r0

add a,r1

2)立即寻址:操作数据就是符号指令给出的源操作数,即不需要寻址。;立即数的表示为#后跟数据,若该数据是以英文字母开头的十六进制数,则应该在英文字母前添加一个前导0,如

 mov a,#5

mov dptr,#0A000H

3)直接寻址:操作数是内部数据存储器或特殊功能寄存器,操作数据在内部数据存储器或特殊功能寄存器中。内部数据存储器或特殊功能寄存器的地址由指令直接给出,也可以给出特殊功能寄存器的名称。如

mov 20H,#20H   ;将立即数20H送给内部RAM的20H单元

mov PSW,#08H ;立即数8H送给PSW,选择1组通用寄存器

注意:mov a,#20H和mov acc,#20H不同。操作数A是寄存器寻址,ACC是直接寻址

4)间接寻址:操作数是间址符@后跟间址寄存器,操作的数据在数据存储器中,数据存储器的地址在操作数给出的寄存器中,即寄存器的内容为操作数据的地址。只有寄存器R1、R0、DPTR可以作数据存储器的间址寄存器。DPTR间址仅用于MOVX传送指令,对外部数据存储器或扩展I/O间接寻址。如

mov @r0,#86H   ;将立即数86H送以r0的内容为地址的内部RAM中。若r0=56H,则将立即数86H送入内部RAM的56H单元中

movx @dptr,a     ;将A的内容送以DPTR的内容为地址的外部数据存储器单元中。若A=78H,DPTR=A000H,则把78H送入外部RAM的A000H单元中

5)变址寻址:如

movc a,@a+dptr   ;若A=85H,DPTR=2100H,程序存储器2185H单元的内容为85H,则执行后A=85H

movc a,@a+PC

JMP @a+dptr

6)位寻址:操作数是指令给出的位地址,也可以是内部数据存储器或SFR的位。如

mov c,20H    ;把位地址20H的内容(0或1)送给程序状态字PSW中的进位标志位C


指令中位地址有4中表示形式:

1)直接位地址,如0D5H

2)点操作符,如PSW.5或0D5H.5

3)位名称,如F0

4)用户自定义名,如 F1 BIT PSW.1  ;将位地址D1即PSW.1自定义为用户标志位F1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值