201983290485吴畏 实验一

实验结论:

(二)任务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, 17h
 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命令查看所需要复制的代码段的长度,

为 0000h-0016h 共 23 个字节,所以第二空填 17h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2021-10-23 10:59  ww911911  阅读(49)  评论(3编辑  收藏  举报