【汇编语言程序设计】实验1 用机器指令和汇编指令编程
一、用机器指令和汇编指令编程
1.1实验类型
类型:验证型实验
1.2实验目的:
① 熟悉基本debug命令:a、r、d、e、u、t
② 掌握汇编指令与机器指令的对应关系
③ 掌握利用debug命令查看修改内存、寄存器的方法
1.3实验题目:
(1)使用debug,将下面程序段写入内存,逐条执行,根据指令执行后的实际情况填空。
mov ax,ffffh
mov ds,ax
mov ax,2200h
mov ss,ax
mov sp,0100
mov ax,[0] ;(ax=) COEA
add ax,[2] ;(ax=) 0012
mov bx,[4] ;(bx=) 30FO
add bx,[6] ;(bx=) 2F3E
push ax ;(sp=) 00FE ;
修改的内存单元的地址是 2200:00FE ;内容是 30F0
push bx ;(sp=) 00FC ;
修改的内存单元的地址是:2200:00FC ;内容是2F31
pop ax ;(sp=) 00FE ;(ax)= 2F3E
pop bx ;(sp=) 0100 ;(ax)= 2F3E
push [4] ;(sp=) 00FE ;
修改的内存单元的地址是FFFF:0004 ;内容是30F0
pop [6] ;(sp=) 0100 ;
修改的内存单元的地址是FFFF:0006 ;内容是2F31
(2)重新执行上面的程序。在执行前4条语句后,使用-e 0FFFF:0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
,再执行后面的语句,每条语句的执行结果会有什么变化?为什么?
答:结果与之前不同,因为使用E命令改写了内存中的内容。
1.4实验结果:
(1)DEBUG的使用
R命令:查看、改变CPU寄存器的内容;
D命令:查看内存中的内容;
E命令:改写内存中的内容:
U命令:将内存中的机器指令翻译成汇编指令:
T命令:执行一条机器指令;
A命令:以汇编指令的格式在内存中写入一条机器指令。
Q命令:退出debug P命令:类似于step over(“t”命令类似于step into),可用于跳过loop循环
G命令:跳过前面的代码,停留到指定的代码位置
(2)使用DEBUG中的A命令输入一段程序段;
(3)用DEBUG中的R命令观察寄存器中数据的存放情况,改变寄存器的值;
R加寄存器名字修改对应寄存器内容为1234,R命令查看寄存器内容。
(4)用DEBUG中的D命令查看数据在内存中的表示方法;
D命令作用:显示内存区域的内容。在提示符“–”下连续执行命令R、D、D。观看命令执行结果。
(5)用DEBUG中的E命令修改内存中的数据;E命令作用:改变内存单位的内容。E命令的使用方式为:E [起始位置]。
(6)用DEBUG中的T命令执行一条语句;