201983290255王宇霄实验一
实验任务二
1.生产日期截图

2.修改生产日期

结论:不能修改,在8086中,地址0-9ffff为主存,地址A0000-BFFFF内存为显存,显存输入的数据会显示在显示器上,C0000-FFFFF为rom的地址空间,rom是只读内存,不可以修改.
实验任务三
1命令及效果如图

2命令及效果如图

3命令及效果如图

用e修改显存中的数据,显存与屏幕是同步的,显存填写内容,同时也会显示在屏幕上,修改主存的内容屏幕不会显示出来;
实验任务四
mov ax, 20 mov ds, ax mov ss, ax mov sp, 30
push [0] ; 执行后,寄存器(sp) = _002e___
push [2] ; 执行后,寄存器(sp) = __002c__
push [4] ; 执行后,寄存器(sp) = __002a__
push [6] ; 执行后,寄存器(sp) = __0028_
pop [6] ; 执行后,寄存器(sp) = ___002a_
pop [4] ; 执行后,寄存器(sp) = __002c__
pop [2] ; 执行后,寄存器(sp) = ___002e_
pop [0] ; 执行后,寄存器(sp) = ___0030_
问题1:逻辑:0020:0030 物理:00230
问题2:

问题3:

问题4:

实验任务五
问题1:不是,单步执行完这条指令后接着执行下一条指令mov sp,30
问题2:该栈空间内存单元值的变化随着cs,ip的变化而变化。因为t命令的终断,用该空间记录关键信息
实验任务六
源代码:
assume cs:code code segment start: mov cx,10 mov dl,'0' s:mov ah,2 int 21h add dl,1 loop s mov ah, 4ch int 21h code ends end start
汇编链接截图:

运行结果:

debug观察psp截图:

前两个字为cd 20
实验任务七
补全代码如下图

因为cs:ip表示程序的首地址,cs存储代码的段地址,ip又为0,所以将cs赋值给ds,又通过观察该程序从头到mov ax,4c00h长度为23个字,所以将17h赋值给cx,反复执行23次
最终效果如图


浙公网安备 33010602011771号