实验四

Posted zwlovexx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验四相关的知识,希望对你有一定的参考价值。

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,要么看不到细节。在实验三中还学到了复制指令的程序。

 




































以上是关于实验四的主要内容,如果未能解决你的问题,请参考以下文章

20165332实验四 Android开发基础

2018-2019-20175205实验四《Android程序设计》实验报告

区块链技术与应用实验报告(实验四)

区块链技术与应用实验报告(实验四)

区块链技术与应用实验报告(实验四)

实验四 《Android开发基础》 20175301李锦然实验报告