1.关于D命令
d命令的一种格式:”d 段寄存器:偏移地址“
如:(1)-r ds
:1000
-d ds:0 ;查看从1000:0开始的内存区间中的内容
(2)-r ds
:1000
-d ds:10 18 ;查看1000:10~1000:18中的内容
(3)-d cs:0 ;查看当前代码段中的指令代码
(4)-d ss:0 ;查看当前栈段中的内容
2.在E、A、U命令中使用段寄存器
(1)-r ds
:1000
-e ds:0 11 22 33 44 55 ;在从1000:0开始的内存区间中写入数据
(2)-u cs:0 ;以汇编指令的形式,显示当前代码段中的代码
(3)-r ds
:1000
-a ds:0 ;以汇编指令的形式,向从1000:0开始的内存单元中写入指令
3.下一条指令被执行了吗?
mov ss,ax的下一条应该是mov sp,10,但变成了mov ax,3123
debug的T命令在执行修改寄存器SS的指令后,下一条指令也紧接着被执行
实验任务
这两条指令执行后靠近栈顶的10个字节中值立即有了变化,是对定义栈段时部分运行环境变量进行暂存,靠近栈顶的10个字节中的暂存数据分别是SS、IP、 CS 等的值。
因为在用T指令在进行调试时,会产生中断。而为了保护现场,CPU先把标志寄存器入栈,再把CS IP分别入栈。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App