微机原理与接口技术系列笔记(三)

获取更多内容,请关注微信公众号“电路板上的一抹微笑”

第三章  指令系统

**基本概念

        指令:计算机要执行的各种操作命令,一条指令对应着一种基本操作【指令是要区别于代码的】

        指令系统:对特定计算机而言,其所有指令的集合【每种计算机都有其特定的指令系统】

        复杂指令集计算机CISC(Complex instruction set computer),Intel Pentium

        精简指令集计算机RISC(Reduced instruction set computer),PowerPC

        指令的基本格式

                操作码(operation code):规定指令要执行的操作,不可缺少

                操作数(operated):指出执行指令所需要操作数的来源

                                                        ①操作数本身

                                                        ②操作数地址或操作数地址的计算方法

        **多数情况下可以有1或多个操作数

                        单操作数

                        双操作数:源操作数、目的操作数

                        隐含操作数(CLI)

        寻址:寻找操作数的过程

                        操作数可能在的地方:

                                                        ①直接在指令中

                                                        ②在CPU的某个寄存器中

                                                        ③在内存中

                                                        ④在I/O端口或外部设备中

        寻址方式:产生地址的各种方法,对于双操作数指令而言,源和目的操作数有可能不同

寻址方式:

        Ⅰ 立即寻址

                指令所需操作数就在指令中,紧跟在操作码之后,与操作码一起放在代码段

                立即数可以是8位,也可以是16位(如果是16位,则低字节存放在低地址单元中,高字节数存放在高地址单元中)

                立即数可用2、8、10、16进制来表示

                立即寻址常用来给寄存器和存储单元赋值

        Ⅱ 寄存器寻址

                操作数存放在CPU的内部寄存器中,在指令中直接给出寄存器名

                执行速度快,主要用于存取寄存器中的数据

        Ⅲ 存储器寻址方式

                操作数在主存储器中,指令需要给出操作数的地址信息

                8086/8088采用逻辑地址表示主存地址

                ①直接寻址

                        操作数在存储单元中,指令中操作数字段给出的是操作数的16位偏移地址EA,默认的段基地址在DS段寄存器,可使用段超越前缀改变。

                        用中括号包含有效地址,表达存储单元的内容

                **符号地址

                        在汇编语言中,经常用符号地址来代替数值地址

                ②寄存器间接寻址

                        操作数在存储器中,操作数的有效地址EA由BX、BP、SI、DI中的一个指出

                        对于BX、SI、DI默认的段基地址在DS段寄存器,BP默认的段基地址在SS段寄存器,可使用段超越前缀改变

                ③寄存器相对寻址

                        操作数在主存储器中,操作数的有效地址:EA=BX/BP/SI/DI+8/16位偏移量

                        对于BX、SI、DI,默认的段基地址在DS段寄存器,对于BP,默认的段基地址在SS段寄存器,可使用段超越前缀改变

                ④基址加变址

                        操作数在主存储器中,操作数的有效地址:EA=BX/BP+SI/DI

                        对于BX,默认的段基地址在DS段寄存器,对于BP,默认的段基地址在SS段寄存器,都可使用段超越前缀来改变

                ⑤相对基址加变址

                        操作数在主存储器中,操作数的有效地址:EA=BX/BP+SI/DI+8/16位偏移量

                        对于BX,默认的段基地址在DS段寄存器,对于BP,默认的段基地址在SS段寄存器,都可使用段超越前缀来改变

        Ⅳ 隐含寻址

               指令的部分或全部操作数被隐含,没有直接出现在指令助记符中,操作对象一般是固定的

                判断是不是存储器寻址,只要看是否由方括号即可

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一条儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值