标签:使用 指令 内存地址 有趣的 情况 汇编指令 分享图片 style 写入
用机器指令和汇编指令编程
实验任务:
(一)使用 Debug,将下面的程序段写入内存,逐条执行,根据指令执行后实际运行情况填空。
在中途输入指令的时候,错把 add 指令输成了 mov 指令。
并且有一个有趣的地方是,我这段指令中是有 mov sp,0100 这个指令的,但是在执行的时候这条指令并没有显示的执行出来,但是 sp 中的值是改变了的。
(二)仔细观察下图的实验过程,然后分析:为什么 2000:0 ~ 2000:f 中的内容会发生改变?
从指令的角度看,并没有对 2000:0000 这篇区域做任何修改,但是这块区域的内存数据为什么变了呢?
原因是:在使用T命令进行单步追踪的时候,产生了中断,为了保护现场,CPU将PSW、CS和IP依此入栈,导致了内存相关位置内容的改变。
标签:使用 指令 内存地址 有趣的 情况 汇编指令 分享图片 style 写入
原文地址:https://www.cnblogs.com/KKSJS/p/9971284.html