09春汇编语言实验备课笔记

09春汇编语言实验备课笔记
09春汇编语言实验备课笔记

《汇编语言程序设计》实验备课笔记

信息工程学院

实验一、 Turbo Debugger的使用

一、实验目的

1、了解Turbo Debugger的功能;

2、掌握在Turbo Debugger的CPU视图中的基本操作方法;

3、进一步加深对寄存器和存储器的认识。

二、实验要求

1、汇编5条指令,逐条依次执行,观察记录执行结果。

2、修改各寄存器的值,叙述键盘操作方法;

3、修改标志位;

4、以物理地址0:84H处存放的双字内容为地址,反汇编5条指令;

三、实验内容

1、指令运行调试记录

2、通过键盘操作,修改寄存器内容的操作方法为:

3、通过键盘操作,修改标志位的操作方法为:

4、内存0:84H处反汇编的5条指令:

实验二、寻址方式与运算指令实验

一、实验目的

1、掌握与数据有关的寻址方式,进一步加深对存储器组织的认识;

2、掌握运算指令对主要标志位的影响;

3、掌握在Turbo Debugger的CPU视图中查看内存数据的不同方法。

二、实验要求

1、运行Turbo Debugger,学习在Watches窗口中添加对寄存器和指定内存单元的监视。

2、汇编指令,将AX、BX和CL、DL的内容分别与数据段偏移地址120H、122H字单元和130H、131H字节单元的内容相加,结果存回内存相应单元。将指令执行结果和各标志位的值与手工计算结果作比较(不得用零值进行运算)。

3、编写指令序列,并在TD中实现:数据段210H和220H双字存储单元无符号数作加法运算,结果存入230H双字单元。

4、编写指令序列,并在TD中实现:设16位带符号数变量X、Y、Z、W的存储地址是数据段内的300H、302H、304H和310H,初值为20、4000、333、0。请在TD中实现运算(X - Y)/Z,商存入W。

三、实验内容

1、打开Watches窗口方法是:

在Watches窗口中添加寄存器AL、SP,数据段120H、130H单元的方法是:

2、在代码子窗口当前IP所指单元汇编四条命令:

3、实现指令:

初始值与结果:

初始值:(210H)=1234H,(212H)=5678H,(220H)=5678H,(222H)=1234H;

结果:(230H)= ,(232H)=

4、实现指令:

运算结果:

实验三、串指令与控制转移指令实验

一、实验目的

1、掌握串指令与控制转移指令,进一步加深对存储器组织的认识;

2、掌握与转移有关的寻址方式;

3、掌握在Turbo Debugger的CPU视图中查看堆栈区数据的方法。

二、实验要求

1、在内存数据段100H和120H处填入’Hello, me’,用串指令实现将它们复制到200H 处;记录开始前、传送第5个字符前、传送结束时SI,DI,CX各寄存器的值,验证传送结果。

2、将120H处的串中的’me’改成’we’,用串指令比较两串何处有不同。记录比较开始前、比较结束后的SI,DI,CX,ZF标志内容,指出它们的含义。

3、验证无条件转换指令各种寻址方式下操作数与目标地址的关系;详细记录一条段间间接转移指令的操作情况。

4、列出中断号20H~27H的中断向量值,指出各向量值对应的物理地址。

三、实验内容

1、完成功能的串指令为:

开始串操作前SI,DI,CX各寄存器值为:

传送第5个字符前SI,DI,CX各寄存器值为:

传送结束时SI,DI,CX各寄存器值为;

2、比较开始前的SI,DI,CX,ZF标志内容:

比较结束后的SI,DI,CX,ZF标志内容:

3、一条段间间接转移指令的操作情况为:

4、中断号20H~27H的中断向量值及对应的物理地址:

实验四、汇编语言程序的汇编与连接

一、实验目的

1、掌握汇编语言程序的基本格式,掌握汇编与连接方法;

2、掌握简单字符I/O系统功能调用方法;

3、掌握在Turbo Debugger中进行源码级和指令级调试的方法。

二、实验要求

1、编写程序,实现以下功能:从键盘输入一个字符,将其ASCII码加2以后在屏幕上显示出来,同时机箱喇叭响一声;

2、对程序进行汇编和连接,要求目标代码和可执行文件中均包含调试所需符号信息;

3、在文件视图中观察程序单步执行过程;在CPU视图中以不同代码显示模式观察程序单步执行过程。

4、用断点法观察键入字符后AL寄存器的值。

三、实验内容

1、源程序清单

2、程序流程图

3、纠错调试过程实录

一、实验目的

1、进一步了解和掌握TASM程序用法,学会使用LST文件了解程序汇编过程;

2、掌握转移指令和分支程序设计方法。

二、实验要求

1、现有一学生成绩统计程序,它将存于grade中的10个学生成绩分级统计,结果存放在s5, s6, s7, s8, s9和s10中。调试该程序,在TD中修改成绩表以验证程序功能;

2、编写并调试运行成绩统计程序,要求如下:

学生成绩分A,B,C,D四档。从键盘逐一录入,并将统计结果存在首址为Result的四个字节单元中。

三、实验内容

1、源程序清单

2、程序流程图

3、纠错调试过程实录

一、实验目的

1、学习循环程序设计方法;

2、掌握断点法调试程序。

二、实验要求

请完成如下程序的编制和运行调试:

从键盘键入一字符,如果是2~9之间的数字n,则在下一行开始显示n行n列个“*组成的方阵。显示完成后继续等待输入;如果输入的是其它字符,则退出程序。

调试要求:通过设置断点观察键入字符的ASCII码。并在每行显示完成时暂停观察显示状态。

三、实验内容

1、源程序清单

2、程序流程图

3、纠错调试过程实录

实验七、综合练习

一、实验目的

1、学习并掌握子程序设计方法;

2、全面掌握各种调试程序的方法。

二、实验要求

请完成如下程序的编制和运行调试:

程序运行后,在第一行提示“Please Enter a Decimal Number:”,接收从键盘键入的一个介于0~65535之间的十进制数,以非数字字符作为输入结束标志;将此十进制数转化成二进制数,存放在BX寄存器中;若此数为0,则退出程序;若此数不为0,在下一行显示“The Hexidecimal is ”和它的十六进制格式表示值。然后返回程序开始处,再次显示输入提示。

十进制数输入过程、十六进制数显示过程和回车换行用子程序实现。

调试要求:通过设置断点、使用Watch窗口、单步运行等方式,观察键入字符的ASCII 码、随输入位数增加时BX中内容的变化、输出每位十六进制字符前DL寄存器的内容。

三、实验内容

1、源程序清单

2、程序流程图

3、纠错调试过程实录

相关主题
相关文档
最新文档