汇编实验一
首先打开dos用命令r查看寄存器
任务一:使用debug,将下面程序段写入内存,逐条执行,观察每条程序执行后CPU中相关寄存器的内容的变化
机器码 汇编指令
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,cx
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 ah,bl
b4 00 mov ah,0
00 d8 add al,bl
04 9c add al,9ch
1.用a命令编写指令
用t命令对相应汇编指令分步调试,观察相应寄存器的变化
2.用e命令修改内存放入机器码
使用t命令单步执行
可以看出,两种方法得到的数据结果是相同的。
任务二:将下面指令写入从2000:0开始的内存单元中,利用这三条指令计算2的8次方。
1.用a命令写入指令
2.用t命令单步执行
运行到最后的结果是
注:2的八次方为256,十六进制下是200
任务三:查看内存中的内容
首先计算出一种段地址及偏移地址,然后查找
我们来尝试着改变日期
改变不了
任务四:向内存从B8100H开始的单元处填写数据
这个地址与显存有关
总结和体会:
段地址和偏移地址很重要,要会分析
常用的指令人r,a,e,t,u,d
查看:r,d
修改:e,a
反编译:查看机器指令
执行:t,p
第一次实验汇编语言感觉存写比较复杂,不过可以更好的理解计算机是怎么工作的。
汇编语言的计算有点复杂,很多问题是看书时注意不到的,只有在亲自动手去敲的时候才会发现,