赞
踩
直接给出参与运算的操作数,不管此数字存放在哪个地址
如MOV A,#70H,即为将70H放入累加器A中
指令操作数域是参与运算的数的地址
如ANL 70H,#42H
表示地址为70H的数与立即数42H相与,得到的结果存放在70H中
采用R0/R1前添加@实现
假设R1中存放的数据为55H,这个55H表示的是一个地址,55H中存放的数据为44H
MOV A,@R1
表示将数据44H送入累加器A中
对工作寄存器R0~R7、累加器A、通用寄存器B、进位C、地址寄存器中的数进行操作。
如INC R0; 自加一 表示寄存器R0的值自加1后赋给R0,类似i++
将程序计数器PC中的当前数据(基地址)与指令给出的数(偏移量)相加,结果作为转移指令的转移地址。偏移量范围+127~-128
MOV A,@A+DPTR;
表示累加器A为偏移量寄存器,A中的数据与地址寄存器DPTR中的内容相加,得到的数据为一个地址,将此地址中放的数据送入累加器A
对一些内部数据存储器和特殊功能寄存器进行微操作时的寻址,需要借助进位C作为位操作累加器
指令操作数直接给出该位地址
位寻址和直接寻址的字节地址形式完全一样,需要有操作码加以区分!!!
如MOV C,20H; 其中20H是一个地址,而非数据
对比直接寻址MOV A,#20H,此时20H为数据,而非地址
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。