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

实验报告:实验三

时间:2018-11-15 22:31:20      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:size   nbsp   inf   偏移地址   验证   部分   运行   通过   调试   

练习一

assume cs:code
code segment
mov ah,2
mov dl,3
add dl,30h
int 21h

mov ah,2
mov dl,6
add dl,30h
int 21h

mov ah,4ch
int 21h
code ends
end

对以上代码进行汇编、连接、调试、运行。结果如下:

技术分享图片

结果为36

然后我将第四行和第九行的dl的值分别改为5和4继续汇编、连接、调试、运行:

技术分享图片

结果变为了54。

然后使用r命令查看cx、ds、cs的值发现满足cs=ds+10h

 

技术分享图片

然后用debug反汇编得出偏移地址0000到0015的为源代码部分

 

 

 

技术分享图片

再用d命令和r命令查看PSP的头两个字节验证确实为CD 20。

技术分享图片

然后用p和t命令单步调试,遇到int用p命令。如下图

技术分享图片

技术分享图片技术分享图片

返现依次输出的是5和4(与之前改的一致)

练习二

assume cs:code
code segment
mov ax, 0b800h
mov ds, ax

mov bx,0
mov [bx],0333h

add bx,2
mov [bx],0336h

mov ax,4c00h
int 21h
code ends
end

对t2代码进行汇编、连接、调试、运行。结果如下:

技术分享图片

输出红色的36

技术分享图片

将源代码中line7的0433h改为0432h, line10 的 0436h改为0439h,然后进行汇编、连接、调试、运行:

技术分享图片

结果如下输出红色29

技术分享图片

试将源代码中line7的0433h→0333h, line10 的 0436h→0336h,然后进行汇编、连接、调试、运行:

技术分享图片

结果如下输出蓝绿色的36

技术分享图片

总结感想:

通过本次实验一我明白了计算机通过每次单个输出dl的值来完成对字符的输出(即输出54需要输出两次)。

由于最后36颜色的改变是修改了寄存器中的高字节,改变数字修改的低字节,猜测高字节控制颜色,低字节控制数据。

熟悉了汇编中对稍微复杂的源代码汇编、连接、调试、运行等的过程。

实验报告:实验三

标签:size   nbsp   inf   偏移地址   验证   部分   运行   通过   调试   

原文地址:https://www.cnblogs.com/xue123/p/9966179.html

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