昆明理工大学 汇编实验报告Word文档下载推荐.docx
《昆明理工大学 汇编实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《昆明理工大学 汇编实验报告Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
11
试验二12
<
1.>
使用debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。
12
2.>
观察下图得出结论15
附录:
16
试验一
〈程序〉
机器码汇编指令
b8204emovax,4E20H
051614addax,1416H
bb0020movbx,2000H
01d8addax,bx
89c3movbx,ax
01d8addax,bx
b81a00movax,001AH
bb2600movbx,0026H
00d8addal,bl
00dcaddah,bl
00c7addbh,al
b400movah,0
049caddal,9CH
运行观察>
运行前一次值:
1)4E20H→axCS:
IP0123:
0000
2)1416H+ax→axCS:
0003
3)2000H→bxCS:
0006
4)bx+ax→axCS:
0009
5)ax→bxCS:
000B
6)bx+ax→axCS:
000D
7)001AH→axCS:
000F
8)0021H→bxCS:
0012
9)al+bl→al(al=1AH,bl=21H)CS:
0015
10)ah+bl→ah(ah=00H,bl=21H)CS:
0017
11)bh+al→bh(bh=00H,al=3BH)CS:
0019
12)0→ahCS:
001B
13)al+bl→al(al=3BH,bl=21H)CS:
001D
14)al+9CH→alCS:
001F
CS:
0021
配图如下:
图1.1-1
图1.1-1:
dosboxv0.74对虚拟硬盘的挂载
图1.1-2
图1.1-2:
因为我们进入demo文件夹对于可执行程序来说文件夹在其下层,所以我们配置环境变量.为了方便我们调整cs为0123调整开始ip为0000;
图1.1-3
图1.1-3:
用e编写程序.
图1.1-4
图1.1-4:
总的编写展示.对于其间我们省略了一步截图.是对于再次读写位置的确定.我们根据程序定点为0123:
0015;
图1.1-5
图1.1-5:
单步执行不再赘述.
图1.1-6
图1.1-7
图1.1-8
图1.1-9
图1.1-9:
采用a编写程序.指定开始位置.
图1.1-10
图1.1-11
图1.1-12
图1.1-13
movax,1
addax,ax
jmp2000:
图1.2-1
图1.2-2
图1.2-3
第一条指令给ax赋值。
第二条指令让ax相加,相当于乘2。
第三条跳转上一条指令
连续跳转8八次,就是2的八次方
(3)查看内存中的内容
PC机主板上的ROM中写有一个生产日期,在内存FFF00H~FFFFFH的某几个单元中,请找到这个生产日期并试图改变它。
图1.3-1
<
因为物理地址=段地址*16+段内地址
内存FFF00H~FFFFFH在计算机FFFF:
0000~FFF0:
000F中
运用dFFFF:
0000指令查看内存的地址
改不了.
-eB810:
00000101020203030404
此试验我参看了多方资料.最后得出结论在b800以后几个内存空间是显存位置.对于编写程序用E读写开始第一位是设置字符,后一位是颜色.我们通过颜色表对比得出选择的颜色.又知道在一页显示缓冲区中:
偏移000~09F对应显示器上的第1行(80个字符占160个字节):
偏移0A0~13F对应显示器上的第2行:
偏移140~1DF对应显示器上的第3行。
所以很好确定我们显示的位置.具体资料见附录.
图1.4-1
试验二
movax,ffff
movds,ax
movax,2200
movss,ax
movsp,0100
movax,[0]ax=_C0EA_____
addax,[2]ax=_0000_____
movbx,[4]bx=_30F0____
addbx,[6]bx=_6021____
pushaxsp=_00FE____;
修改的内存单元地址是_2200:
00FE____内容为_____
pushbxsp=_00FC____,修改的内存单元地址是_2200:
00FC____内容_____
popaxsp=_00FE____,ax=_6021____
popbxsp=_0100____,bx=_C0FC____
push[4]sp=_00FE____修改的内存单元地址是_2200:
00FE____内容_30F0____
push[6]sp=_00FC____修改的内存单元地址是_2200:
00FC____内容_2F31____
图2.1-1
图2.1-2
图2.1-3
图2.1-4
图2.1-5
观察下图得出结论
因为用T指令进行调试时,会产生中断。
而为了保护现场,CPU则先将标志寄存器进栈、再把当前CS的值进栈,最后将IP的值进栈。
1.背景色显示表
前一位数字表示背景色,后一个字母则为前景。
每个数字可以为以下任何值之一:
0=黑色1=蓝色2=绿色3=湖蓝色4=红色5=紫色6=黄色
7=白色8=灰色9=淡蓝色A=淡绿色B=淡浅绿色C=淡红色
D=淡紫色E=淡黄色F=亮白色
2.ascll码表
由于内容过多不再赘述.
====================================End=======================================