汇编语言的种寻址方式

 我来答
迮秋月圣江
2019-11-05 · TA获得超过3.4万个赞
知道大有可为答主
回答量:1.2万
采纳率:26%
帮助的人:822万
展开全部
所谓寻址方式,
就是寻找操作数地址的方式,
在用汇编语言编程时,
数据的存放、传送、
运算都要通过指令来完成。
编程者必须自始至终都要十分清楚操作数的位置,
以及如何将它们传送到适当的寄存器去参与运算。每一种计算机都具有多种寻址方式。寻址方式的多少是反映指令系统优劣的主要指标之一。

MCS
-51单片机指令系统中,
有以下
7种寻址方式:

(1)
立即寻址;
(2)
直接寻址;
(3)
寄存器寻址;
(4)
寄存器间接寻址;
(5)
基址寄存器加变址寄存器间接寻址;
(6)
相对寻址;
(7)
位寻址。
1.
立即寻址
立即寻址方式是指操作数包含在指令字节中。
跟在指令操作码后面的数就是参加运算的数,
该操作数称为立即数。
立即数有一字节和二字节两种可能,
例如指令:

MOV
A,

3AH
MOV
DPTR,

0DFFFH
上述两条指令均为立即寻址方式,
第一条指令的功能是将立即数
3AH送累加器A中,
第二条指令的功能是将立即数
0DFFFH送数据指针DPTR中(0DFH→DPH,
0FFH→DPL)。
2.
直接寻址
在指令中直接给出操作数的地址,
这种寻址方式就属于直接寻址方式。在这种方式中,
指令的操作数部分直接是操作数的地址。

在MCS
-51
单片机指令系统中,
直接寻址方式中可以访问
3
种存储器空间:

(1)
内部数据存储器的低
128
个字节单元(00H~7FH)。
(2)
特殊功能寄存器。
特殊功能寄存器只能用直接寻址方式进行访问。

(3)
位地址空间。
3.
寄存器寻址
在该寻址方式中,
参加操作的数存放在寄存器里。寄存器包括8个工作寄存器R0~R7,
累加器A,
寄存器B、数据指针DPTR和布尔处理器的位累加器Cy。
4.
寄存器间接寻址
指令中给出间接寻址寄存器,其内容为操作数的地址。寻址内部RAM区的数据时,可使用寄存器R0、R1
(、SP)作为地址指针;
当访问外部RAM时,
可使用R0、
R1及DPTR作为地址指针。寄存器间接寻址符号为“@”
5.
基址寄存器加变址寄存器间接寻址
这种寻址方式用于访问程序存储器中的数据表格,
它以基址寄存器DPTR或PC的内容为基本地址,
加上变址寄存器A的内容作为操作数的地址,
例如:

MOVC
A,
@A+DPTR
MOVC
A,
@
A+PC
JMP
@A+DPTR;散转指令
6.
相对寻址
在MCS
-51
指令系统中设有转移指令,
分为直接转移和相对转移指令,
在相对转移指令中采用相对寻址方式。这种寻址方式是以PC的内容为基本地址,
加上指令中给定的偏移量作为转移地址。指令中给出的偏移量是一个
8
位带符号的常数,
可正可负,
其范围为-128~+127。
7.
位寻址
该种寻址方式中,
操作数是内部RAM单元中某一位的信息。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式