实验任务2
生产日期为92年一月一日。
不能被修改。原因:该段地址为ROM只读存储器,不能被修改。
实验任务3
在debug中,使用e命令,向内存单元填写数据。 在debug中,使用f命令,向内存单元批量填写数据。
实验任务4
SP:002E 002C 002A 0028 002A 002C 002E 0030
问题一:栈顶逻辑地址:0020:0030 物理地址:00230
问题二:DEBUG是用CPU的陷阱中断实现单步中断的,中断会把CS和IP的值弄到栈里
单步调试到汇编指令 push [6] 执行结束, pop [6] 执行之前
问题三:
汇编指令 pop [0] 执行结束后无变化
问题四:
最后四条指令改成截图中的顺序, pop [6] 指令执行结束后发生变化
实验任务5
问题一:单步执行mov ss,ax后并没有暂停。由于此指令修改了段寄存器,之后的一条指令mov sp,30也紧随着执行了。
问题二:
实验任务6
使用masm、link对程序汇编链接过程截图,以及,运行可执行程序task5.exe的运行结果截图
debug中查看task5.exe的程序段前缀PSP的截图
实验任务7
cs为代码段寄存器,能让ds定位到程序开始地址
cx为程序代码长度,将其传递给cx为loop循环次数
在debug中调试,使用g命令将程序执行到 loop s 之后、 mov ax, 4c00h 之前
u命令反汇编0:200到复制代码长度