第十四课 计组 - 指令系统

概要

指令要素

image.png

指令表示

image.png

指令格式

image.png

操作码

控制转移

image.png
image.png
image.png
把返回的地址放在过程的开始:前提是过程开始处的地址不会被修改。如果proc2调用了proc2自身,覆盖了原来的地址,无法实现递归。

操作数

地址

image.png

逻辑数据

image.png

大端序和小端序

小端序不是 87654321
大端序:低位的数值放在地址较大的位置
小端序:低位的数值放在地址较小的位置0
image.png
以字节为单位是反序的,而不是以比特为单位
image.png

寻址方式

立即寻址

image.png

直接寻址

image.png

间接寻址

image.png

寄存器直接寻址

image.png

寄存器间接寻址

image.png

偏移寻址
  • 相对于谁在偏移

image.png

偏移寻址:相对寻址
  • 相对于指令中的下一条的距离
  • 隐式的使用PC,在原指令中并没有提到要使用PC

image.png

偏移寻址:基址寄存器寻址
  • 可以显式使用,也可以隐式使用
  • 相对于存在寄存器中的基地址的偏移

image.png

偏移寻址:变址寻址
  • A是固定的,变址寄存器是在变化的。例如:数组的遍历

image.png

栈寻址
  • 栈指针是隐含的地址

image.png
image.png
image.png
中缀变后缀:

  1. 利用两个栈,结果栈和操作符栈
  2. 遍历中缀表达式
    1. 遇到操作数:直接压入结果栈
    2. 遇到操作符:
      1. 如果是左括号,直接压入栈。并且左括号的优先级最小
      2. 如果是右括号,则循环出栈,直到弹出一个左括号为止,并将中间的操作符全部压入结果栈
      3. 如果是普通操作符,判断与栈顶的优先级大小关系。如果优先级更大,则压入栈;如果优先级小于等于,则循环出栈,直到栈顶的优先级小于该优先级或者操作符栈为空为止
  3. 遍历结束后,将操作符栈中剩余的操作符全部压入结果栈中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值