实验结论:
(二)任务2
截图:
结论:不可以修改,8086PC机中,C0000f-FFFFF地址段为ROM地址空间,即只读内存,所以无法修改。
(三)任务3
修改内存单元后的截图:
(四)任务4
填空:
问题1:
逻辑地址:0020h:0030h
物理地址:00230h
问题2:
问题3:没有变化。
问题4:
变化了,
(五)任务5
问题1:使用t命令执行 mov ss, ax 时,他的下一条指令 mov sp, 30也紧跟着执行了。
问题2:单步执行程序时,要进行中断处理。00220H ~ 0022fH中存放的是CS,IP和标志寄存器等的内容。
(六)任务6
源代码:
1 assume cs:code 2 3 code segment 4 start: 5 mov cx, 10 6 mov dl, '0' 7 s:mov ah, 2 8 int 21h 9 add dl, 1 10 loop s 11 12 mov ah, 4ch 13 int 21h 14 code ends 15 end start
编译、连接、运行截图:
程序的功能是输出字符 0-9
程序段前缀的截图:
前两个字节为 CD 20
(七)任务7
源代码:
1 assume cs:code 2 code segment 3 mov ax, cs 4 mov ds, ax 5 mov ax, 0020h 6 mov es, ax 7 mov bx, 0 8 mov cx, 0h 9 s: mov al, [bx] 10 mov es:[bx], al 11 inc bx 12 loop s 13 14 mov ax, 4c00h 15 int 21h 16 code ends 17 end
第一空的依据:要复制该段代码,所以将代码段寄存器的内容复制到数据段寄存器中。
第二空的依据:
第二空cx控制循环次数,应该与要复制的代码段长度相同,先随便填一个值,用u命令查看所需要复制的代码段的长度,
为 0000-0016 共 23 个字节,所以第二空填 17h