找回密码
 立即注册
搜索
热搜: 活动 通知
查看: 473|回复: 4

push和pop

[复制链接]

37

主题

37

回帖

317

积分

至尊会员

积分
317

至尊会员

发表于 2024-7-8 15:04:47 来自手机 | 显示全部楼层 |阅读模式
再单处理器环境下,执行push、pop指令,是原子操作吗?

363

主题

287

回帖

2945

积分

管理员

积分
2945
发表于 2024-7-8 15:56:57 | 显示全部楼层
单处理器环境下,所有指令都是原子的。这不是显而易见的吗。

点评

明白了, 因为单处理器中中断的处理是发生在指令与指令之间是吧!  发表于 2024-7-8 17:10

3

主题

33

回帖

381

积分

至尊会员

积分
381

至尊会员

发表于 2024-7-8 20:33:24 | 显示全部楼层
内部中断发生往往和指令有关,CPU能确保原子性,比如除法运算的错误,缺页等
外部中断,比如通过8259AINTR引入的中断发生时,CPU会先执行完当前指令,再去处理该中断,也能保证原子性
特例有:CPU在处理SS段寄存器指令时,会在执行完下一条指令前(一般都是修改ESP的指令)不响应中断,这是为了防止ss和esp的修改被打断,造成栈出问题

37

主题

37

回帖

317

积分

至尊会员

积分
317

至尊会员

 楼主| 发表于 2024-7-8 22:19:21 | 显示全部楼层
cindeequan 发表于 2024-7-8 20:33
内部中断发生往往和指令有关,CPU能确保原子性,比如除法运算的错误,缺页等
外部中断,比如通过8259AINTR ...

谢谢哥
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|鼠侠网 ( 吉ICP备19001332号 )

GMT+8, 2024-10-18 13:15 , Processed in 0.235731 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表