详解汇编里的单步中断-T使用寄存器标志位TF和IF
debug利用CPU提供的单步中断功能
- 程序的正常执行
- 取指令
- 改变CS:IP
- 执行指令
- 取指令
- DEBUG提供单步中断的中断处理程序,显示所有寄存器的内容后等待输入命令
使用-T命令,debug将TF标志设为1,使CPU工作在单步中断的方式下
- 自定义单步中断处理程序,实现特殊功能
单步中断的处理与过程
- TF陷阱标志(trap flag):用于调试的单步方式操作
- TF = 1时每条指令执行后产生陷阱,由系统控制计算机
- TF = 0时CPU正常工作
- IF中断标志(interrupt flag)
- IF = 1允许CPU响应可屏蔽中断请求
- IF = 0关闭中断
- CPU在执行完一条指令后,如果检测到标志寄存器的TF位为1,则产生单步中断(中断类型码为1),引发中断过程,执行中断处理程序
- 取得标志类型码1
- 标志寄存器入栈TF和IF设置0
设置TF = 0很重要,否则不停产生单步中断不断循环,TF置为0不允许单步中断了
- CS和IP入栈
- (IP) = (1 * 4) (CS) = (1 * 4 + 2)
- 中断不响应的情况
- 执行向SS寄存器发送数据,即使产生中断,CPU不响应
- SS和SP同步完成
SS和SP联合指向栈顶,设置要同时完成
- 强行插入指令把ss和sp割裂开,自动执行了下一条指令
详解汇编里的单步中断-T使用寄存器标志位TF和IF相关推荐
- uboot启动第一阶段详解——汇编代码部分start.S
前言 uboot启动第一阶段是用汇编语言实现的,大部分都是Soc内部的初始化,可以理解成一些通用的初始化,只要使用该款Soc,第一阶段的初始化流程基本是一样的.不直接用C语言进行初始化是因为,C语言运 ...
- 详解关于int a[2][3]={{1},{2,3}}二位数组运算的问题
c语言 int a[2][3]={{1},{2,3}};,则a[1][0]的值是_________详解: int a[2][3]即定义了一个二维数组,每维长度为3 令int a[2][3]={{1}, ...
- ssr面板_碧蓝航线:详解SSR里诺强不强 航母专用保姆 三流防空特化型轻巡
碧蓝航线对于之称的新SSR轻巡里诺,作为金皮来说强度还是让很多指挥官期待的,不过很可惜这位舰娘真的没有想象中那么厉害,来看看对于其强度的具体评价以及分析吧. 基础能力 作为轻巡面板来说,找个最合适的参 ...
- matlab中dnf,图文详解DNF里的边际效应 用数据告诉你一切
大家好,我是酸のLemonade.前几天发表了一篇关于暴风眼刷图的文章,得到了大家的支持,楼主深表感激!有些朋友主动留下了QQ,我也加了,共同交流柔道的刷图问题.有些朋友在游戏里加了我好友,也有些要求 ...
- 卅年史诗!地球上出现过的CPU完全收藏 - (20-25) 由无知到精通!详解CPU里遇到的“黑话”
●CPU常规知识汇总 CPU又叫中央处理器,是英文单词Central Processing Unit的缩写,负责对信息和数据进行运算和处理,并实现本身运行过程的自动化.在早期的计算机当中,CPU被分成 ...
- 最小生成树(详解普里姆算法)
首先,我们来看一下图的一些基本知识点: 图:图 G=(V,E) 由顶点集 V 和边集 E 组成.每条边对应一个点对 (v,w),其中 v,w 属于 V .如果图中的点对是有序的,那么该图就是有向图,反 ...
- 详解LabVIEW里的数据流
何为数据流? 所谓的数据流其实就是软件的运行顺序.学习过编程的人肯定都知道C语言,它是一种普遍的文本式语言.所以当程序编译运行起来,大体就以Main函数为入口,遵循从上到下的顺序! 而打开LabVIE ...
- GPT背后原理详解:从T5到GPT-4,国内20余位顶级大牛联合撰写
来源:机器之心 自 20 世纪 50 年代图灵测试提出以来,人们始终在探索机器处理语言智能的能力.语言本质上是一个错综复杂的人类表达系统,受到语法规则的约束.因此,开发能够理解和精通语言的强大 AI ...
- 【计算机基础】详解IEEE754浮点数规格化表示(小数点左边隐含一位1)
1.IEEE浮点表示 IEEE(读作"eye-triple-ee")浮点标准754中,用图1的形式来表示一个数: 图1 浮点数表示形式 符号(sign)--s决定这个数是负数 ...
最新文章
- LSTM 为何如此有效?这五个秘密是你要知道的
- 苹果自动驾驶部门「裁员」又「重组」,AI负责人接掌「泰坦」
- ios应用,64位问题,Missing 64-bit support
- 交换机配置软件_如何配置远程登陆交换机?最简单的解释方式,一看就懂
- 中缀表达式计算、后缀表达式计算、中缀转后缀
- 基于 KIF 的 iOS UI 自动化测试和持续集成
- 无法生成部件汇总表_RFID在汽车零部件企业仓储物流中的应用
- 利用火狐浏览器Firebug查看网页相关属性
- 泛型类 0104 c#
- MSP430杂谈--AD7745硬件IIC驱动与模拟IIC驱动
- 设计类时需要注意的6个地方
- C语言-浮点型(float/double/E)
- 什么是提花?大提花面料与小提花面料如何区别?
- AI学习笔记(二)图像与视频
- Car2go 的前端框架选择
- 串-第4章-《数据结构题集》答案解析-严蔚敏吴伟民版
- 使用GSON解析JSON数据
- python爬取网易云音乐飙升榜音乐,网易云音乐-飙升榜歌曲信息爬取
- linux的webui服务,Aria2控制前端WebUI客户端安装教程
- 2022最火土味情话文案
热门文章
- java自定义窗口_Java-创建一个自定义窗口,扁平化界面
- php preg_match 只匹配第一个字符_PHP正则表达式核心技术完全详解 第3节
- A5如何备份oracle数据库,oracle的数据库的导入导出
- html去除radio的样式,【HTML+CSS】纯CSS设置checkbox大小和样式 附Radio的去除默认样式和自定义样式...
- css3d模型做法,CSS3 3D房屋模型
- element-ui可编辑行增加行或删除行
- layer右下脚弹窗
- 【Web前端】hexo博客管理
- 关于WindowsPE的DIY和黑科技
- UVa1149 - Bin Packing