什么是指令系统,什么是寻址方式,寻址方式有哪几种?
答案:4 悬赏:0 手机版
解决时间 2021-08-01 10:26
- 提问者网友:城市野鹿
- 2021-07-31 20:23
什么是指令系统,什么是寻址方式,寻址方式有哪几种?
最佳答案
- 五星知识达人网友:woshuo
- 2021-07-31 20:32
指令是指计算机执行某种操作的命令。
一条指令,通常包括两方面内容:操作码和地址码。指令系统是指一台计算机所能执行的全部指令的集。并决定了一台计算机硬件主要性能和基本功能。
寻址方式,通常是指某一个CPU指令系统中规定的寻找操作数所在地址的方式,或者说通过什么的方式找到操作数。
全部回答
- 1楼网友:动情书生
- 2021-07-31 23:41
2种
- 2楼网友:duile
- 2021-07-31 22:47
指令系统
一台计算机所能执行的各种不同类型指令的总和。即一台计算机所能执行的全部操作。不同计算机的指令系统包含的指令种类和数目也不同。一般均包含算术运算型、逻辑运算型、数据传送型、判定和控制型、输入和输出型等指令。指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。
寻址方式
寻址方式就是寻找操作数或操作数地址的方式。8086提供了与操作数有关和与I/O端口地址有关的两类寻址方式。与操作数有关的寻址方式有七种,分别是立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址加变址寻址,相对基址加变址寻址;与I/0端口有关的寻址方式有直接端口寻址和间接端口寻址方式。
一、与操作数有关的寻址方式
1.立即数寻址方式
操作数直接存放在指令中,紧跟在操作码之后的寻址方式就是立即数寻址方式。
例如:
MOV AX,2345H
MOV AL,0EH
2.寄存器寻址
操作数存放在CPU的内存寄存器时,可在指令中指出寄存器名,这就是寄存器寻址方式。
例如:
MOV AX,BX
ADD AX,BX
3.存储器寻址方式
8086指令系统提供了以下5种针对存储器的寻址方式。
直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址和相对基址加变址寻址。用于说明操作数所在存储单元的地址。由于总线接口单元BIU能根据需要自动引用段寄存器得到段值,所以这五种方式也就是确定存放操作数的存储单元有效地址EA的方法。有效地址EA是一个16位的无符号数,在利用这五种方法计算有效地址时,所得的结果认为是一个无符号数。
(1).直接寻址:
指令中给出的地址码即为操作数的有效地址,就是直接寻址方式。
例子: MOV AX,[2000H]
MOV AX,2000H -->2000H为存放操作数单元号的符号地址
上面两者是不等效的
(2).寄存器间接寻址方式:
你就想成:你已经站在你要找的"门户号(家)"的"单元号",你要找到它,必须知道它在当前"单元号"几楼.假如它在6楼,那你就上到6楼就OK了!!注意,最高只有16楼,因为什么呢?那就用DEBUG的D命令看看呀,慢慢数哦,呵呵!!
例子: MOV AX,[BX]
计算公式: 物理地址=16d*(DS)+(BX)
物理地址=16d*(DS)+(SI)
物理地址=16d*(DS)+(DI)
物理地址=16d*(SS)+(BP)
(3).寄存器相对寻址方式:
你就想成:你要找的"门户号(家)"其实就在你家的楼上或者楼下,你要找到它,就 必须知道它在你楼上几楼,或者在楼下几楼!就OK了!
例子: MOV AX,COUNT[SI]
MOV AX,[COUNT+SI]
其中 COUNT为位移量的符号地址
计算公式: 物理地址=16d*(DS)+(BX)+8位位移量
物理地址=16d*(SI)+(BX)+16位位移量
物理地址=16d*(DI)+(BX)+16位位移量
物理地址=16d*(SS)+(BP)+8位偏移量
(4).基址变址寻址方式:
你就想成:你要找的"门户号(家)"是跟住在同一栋楼的不同"单元号",你要找到它,就必须知道它是该栋的哪个"单元号",并且住在几楼!那样你就可以找到它了 !
例子: MOV AX,[BX][DI]
MOV AX,[BX+DI]
计算公式: 物理地址=16d*(DS)+(BX)+(SI)
物理地址=16d*(DS)+(BX)+(DI)
物理地址=16d*(SS)+(BP)+(SI)
物理地址=16d*(SS)+(BP)+(DI)
(5).相对基址变址寻址方式:
你就想成:你要找的"门户号(家)"是跟住在同一栋楼的不同"单元号",它比你高几层楼或者低几层楼,然后用的你目前的楼数+/-就可以得出你要找的住在几楼了!
例子: MOV AX,MASK[BX][SI]
MOV AX,MASK[BX+SI]
MOV AX,[MASK+BX+SI]
以上三个例子是等效的!!
计算公式: 物理地址=16d*(DS)+(BX)+(SI)+8位位移量
物理地址=16d*(DS)+(BX)+(DI)+16位位移量
物理地址=16d*(SS)+(BP)+(SI)+8位位移量
物理地址=16d*(SS)+(BP)+(DI)+16位位移量
上述共计七种操作数寻址方式,与80C51单片机的完全一致。
二、与I/0端口有关的寻址方式
8086微处理器采用独立编址的I/0端口,有专门的输入指令IN和输出指令OUT,寻址方式有以下两种。
1.直接端口寻址
直接端口寻址是在指令中直接给出要访问的端口地址,一般采用2位十六进制数表示,也可以是符号,访问的端口范围0~255.
例如:
IN AL,20H
表示从I/0端口地址为20H的端口中取数据送入AL寄存器中。
2.间接端口寻址
若访问的端口地址大于255时,就要用间接寻址方式。可以访问的端口范围0~65535.
例如:
MOV DX,356H ;将端口地址356H送入DX寄存器
OUT DX,AL ;将AL中的内容输出到DX指定的端口
- 3楼网友:舍身薄凉客
- 2021-07-31 21:16
这个要专门看看,微机原理 吧
不好解释,很抽像的东西
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯