用机器指令和汇编指令编程

电子说

1.3w人已加入

描述

预备知识: Debug的使用

命令的快捷使用方式

d ds : 0   ;查看ds:0开始的内存区间中的内容


d cs : 0   ;查看当前代码段中的指令代码


d ss : 0   ;查看当前栈中的内容


;以上方式同样可以用 E, A, U 命令实现.

中断机制

1.暂不分析.
2. 了解: Debug的 T 命令再执行修改寄存器 SS 的指令时, 紧接着的下一条指令 会被自动执行 .

实验任务

任务一

DEBUG命令

1.写入指令
2.设置 CS:IP 地址

DEBUG命令

3.r 命令寄存器状态, 并使用 t 命令执行

DEBUG命令

4.查看地址单元 ds : 0 8区间的数据

DEBUG命令

5.操作ax, bx寄存器部分结果

DEBUG命令

6.查看栈空间的内存数据

DEBUG命令

7.操作栈空间部分结果1. 内存部分截图丢失.

DEBUG命令

8.操作栈空间部分结果2.
DEBUG命令

任务二

DEBUG命令

DEBUG命令

1.分析后发现当前程序执行了前三条指令.(Debug的 T 命令再执行修改寄存器 SS 的指令时, 紧接着的下一条指令 会被自动执行 .)

DEBUG命令

2.为什么命名没有操作栈, 栈空间的内存发生了变化?
查阅资料发现: t 命令实际是引发了 单步中断 ,执行中断例程时,CPU会将一些中断例程使用的的寄存器变量自动压栈到栈中。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分