实验一:查看CPU和内存,用机器指令和汇编指令编程
网络工程(2)班 曾实
实验任务
(1)使用Debug,用E命令和A命令以两种方式将指令写入内存。
机器码 汇编指令
b8 20 4e mov ax,4e20h
05 16 14 add ax,1416h
bb 00 20 mov bx,2000h
01 d8 add ax,bx
89 c3 mov bx,ax
01 d8 add ax,bx
b8 1a 00 mov ax,001ah
bb 26 00 mov bx,0026h
00 d8 add al,bl
00 dc add ah,bl
00 c7 add bh,al
b4 00 mov ah,0
00 d8 add al,bl
04 9c add al,9ch
Part 1:运用E命令将指令写入内存,并用T命令使之单步执行。
实验结果:
Part 2:运用A命令将指令写入内存,并用T命令使之单步执行。
实验结果:
实验结论:
从实验的结果可以看出使用E命令和A命令两种方式将指令写入内存后所得到的结果相同,但
是A命令更加简单易懂,即以汇编指令的格式在内存中写入一条机器指令较机器码更加能让人
接受。
(2)将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方。
mov ax,1
add ax,ax
jmp 2000:0003
实验结果:
(3)PC机主板上的ROM中写有一个生产日期,在内存FFF00H~FFFFFH的某几个单元中,
请找到这个生产日期并试图改变它。
实验结果:
实验结论:
实验中我们尝试使用E命令对ROM中的生产日期进行修改,但是日期在修改后仍不改变,这
是因为ROM是只读存储器,DEBUG 看到的只是映射到ROM中的数据,所以无法对存储器
的值进行修改。
(4)向内存从B8100H开始的单元中填写数据,如:
-e B810:0000 01 01 02 02 03 03 04 04
先填写不同的数据,再改变填写的地址,观察现象。
实验结果:
改变数据后:
改变地址后:
实验结论:
在不同的显存地址空间,写入不同的数据,产生了不同的图像,十分奇妙,感受到了汇编的
乐趣!
总结:
初次尝试使用汇编语言,感觉这种语言比高级语言更加贴合计算机的内在运行情况,
又比机器码要通俗易懂的多。代码的使用还很不熟练,经常打错功亏一篑...日后要
勤加练习,提高效率。汇编,冲鸭!