实验任务1
自行练习
实验任务2
给出使用d命令查看生产时期的截图
给出使用e命令修改生产日期所在内存单元的截图,以及,修改后,再次使用d命令查看的截图结论:能否修改,以及,原因分析
时间并未被修改,因为生产日期在C0000~FFFFF地址范围内,在其中写入数据是无效的,相当于只改写只读存储器中的内容
实验任务3
给出在debug中使用e命令修改内存单元的命令,及,效果截图
给出在debug中使用f命令批量填充内存单元的命令,及,效果截图
尝试修改内存单元,或,数据后的效果截图
实验任务4
填空
002EH 002CH 002AH 0028H 002AH 002CH 002EH 0030H
问题1 栈顶的逻辑地址为0020:0030,物理地址为0230H
问题2
问题3
问题4
数据空间内数据变了
实验任务5
问题1单步执行完mov ss,ax后没有暂停,而是紧接着执行下一条指令,即mov sp,30,这是因为其修改了栈段寄存器SS。
问题2原先黄线上为IP和CS,随着数据入栈,也跟着往前移,同时值也和IP、CS保持一致,原因可能是:在响应中断时将CS、IP压入了栈中。
实验任务6
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
实验任务7
assume cs:code code segment mov ax,cs mov ds,ax mov ax,0020h mov es,ax mov bx,0 mov cx,17h s:mov al,[bx] mov es:[bx],al inc bx loop s mov ax,4c00h int 21h code ends end
地址由cs决定,所以第一空填cs
loop指令的下一条指令的地址117减去100(17H),所以第二空填17h