3、计算机基础架构与汇编语言入门

计算机基础架构与汇编语言入门

1. 保护环

保护环是为了安全和稳定性而设计的限制应用程序能力的机制之一,最初为Multics操作系统(Unix的直接前身)所发明。每个环对应一个特定的特权级别,每种指令类型与一个或多个特权级别相关联,在其他级别上不可执行。当前特权级别以某种方式存储(例如,在一个特殊寄存器中)。

Intel 64有四个特权级别,但实际上只使用两个:环0(最高特权)和环3(最低特权)。中间的环原本计划用于驱动程序和操作系统服务,但流行的操作系统并未采用这种方法。

在长模式下,当前保护环编号存储在寄存器cs的最低两位(并在ss的相应位中重复)。只有在处理中断或系统调用时才能更改。因此,应用程序不能以提升的特权级别执行任意代码,只能调用中断处理程序或执行系统调用。

2. 硬件栈

2.1 硬件栈的基本概念

从一般的数据结构角度来看,栈是一种具有两种操作的数据结构:可以将新元素放置在栈顶(push),也可以从栈顶移除元素(pop)。

硬件对这种数据结构提供支持,但这并不意味着有单独的栈内存,它只是通过两条机器指令(push和pop)和一个寄存器(rsp)实现的一种模拟。rsp寄存器保存栈顶元素的地址。

2.2 指令操作流程

  • push argument
    1. 根据参数大小(允许2、4和8字节),rsp的值减少2、4或8。
    2. 参数从修改后的rsp地址开始存储在内存中。
  • pop
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值