码迷,mamicode.com
首页 > 其他好文 > 详细

实验四

时间:2018-11-18 18:17:04      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:margin   查看   截图   显示   命令   指定   体会   区域   image   

1. 实验内容1 

(1)源代码 

assume cs:code
code segment
mov ax, 0b800h
mov ds, ax
mov bx, 07b8h
mov ax,0403h
mov cx, 16

s:mov [bx], ax

inc bx

inc bx
loop s

mov ax, 4c00h
int 21h
code ends
end

运行结果:

技术分享图片

 

(2)将源代码程序中字数据0403H→修改为0441H,再次运行,截图显示运行结果。 

技术分享图片

2. 实验内容2

(1)源代码:

assume cs:code
code segment
mov ax, 20h
mov ds, ax
mov bx, 0
mov cx, 64
s:mov [bx],bx
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end

(2)汇编、链接无误后,灵活使用 debug 的 t 命令、g 命令、p 命令调试,用 d 命令 查看0:200~0:23F,确认是否将0~63传送至此段内存区域。

技术分享图片

调试:

技术分享图片

先用G命令执行到循环

技术分享图片

再用P命令执行循环

技术分享图片

最后用T命令和P命令完成调试

技术分享图片

用D命令确认将0~63传送至此段内存区域

技术分享图片

3. 实验内容3

(1)源代码:

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

(2)汇编连接后,灵活使用debug的t命令、g命令、p命令调试,用d命令查看0:200 之后的若干字节,观察是否将mov ax, 4c00h之前的指令复制到指定内存,这部分要求有截 图,并以文字方式说明空白处填写依据。

技术分享图片

调试:

技术分享图片

先用G命令执行到循环

技术分享图片

再用P命令执行循环

技术分享图片

最后用T命令和P命令完成调试

技术分享图片

用D命令查看0:200 之后的若干字节,观察到已将mov ax, 4c00h之前的指令复制到指定内存

技术分享图片

填空:

【1】因为程序复制的是指令,所以要先将代码段寄存器CS中的值给AX,AX再给DS。

【2】cx的值即循环的次数,所以先假设CX为32,执行后查看到下图中CX为001C(程序长度),而mov ax, 4c00h和int 21h分别为2和3,用CX减去这俩就得到cx为17h。

技术分享图片

实验总结与体会:

       调试时各种命令需要灵活运用才行,不然要么一直TTTT,要么看不到细节。在实验三中还学到了复制指令的程序。

 

实验四

标签:margin   查看   截图   显示   命令   指定   体会   区域   image   

原文地址:https://www.cnblogs.com/zwlovexx/p/9978605.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!