新版汇编语言程序设计实验指导书(精)

新版汇编语言程序设计实验指导书(精)
新版汇编语言程序设计实验指导书(精)

汇编语言实验指导书

目录

实验一DEBUG的启动及其基本命令的使用 (2

实验二内存操作数及寻址方法 (6

实验三汇编语言程序的调试与运行 (8

实验四查表程序设计 (10

实验五系统功能调用 (12

实验六循环程序设计 (13

实验七分支程序设计 (15

实验八子程序设计 (18

实验九综合程序设计 (20

附录实验报告 (21

实验一DEBUG的启动及其基本命令的使用

一.实验目的:

掌握DEBUG 的基本命令及其功能

二.实验内容:

DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。

1、DEBUG程序的启动

在DOS提示符下,可键入命令:

C>DEBUG[d:][path][文件名][ 参数1][参数2]

其中文件名是被调试文件的名称,它须是执行文件(EXE,两个参数是运行被调试文件时所需要的命令参数,在DEBUG程序调入后,出现提示符“-”,此时,可键入所需

的DEBUG命令。

在启动DEBUG时,如果输入了文件名,则DEBUG程序把指定文件装入内存。用户可以通过DEBUG的命令对指定文件进行修改、显示和执行。如果没有文件名,则是以当前内存的内容工作,或者用命名命令和装入命令把需要的文件装入内存,然后再用DEBUG的命令进行修改、显示和执行。

2、DEBUG的主要命令

(1汇编命令A,格式为:

-A[地址]

该命令从指定地址开始允许输入汇编语句,把它们汇编成机

器代码相继存放在从指定地址开始的存储器中。

(2反汇编命令U,有两种格式:

1-U[地址]

该命令从指定地址开始,反汇编32个字节,若地址省略,则从上

一个U命令的最后一条指令的下一个单元开始显示32个字节。

2-U范围

该命令对指定范围的内存单元进行反汇编,例如:

-U 04BA:0100 0108或–U 04BA:0100 L9

此二命令是等效的。

(3运行命令G,格式为:

-G [=地址1][地址2[地址3。。。]]

其中地址1规定了运行起始地址,后面的若干地址均为断点地址。

(4追踪命令T,有两种格式:

1逐条指令追踪:

-T[=地址]

该命令从指定地址起执行一条指令后停下来,显示寄存器内容和状态值。2多条指令追踪:

-T[=地址][值]

该命令从指定地址起执行n条命令后停下来,n由[值]确定。

(5显示内存单元内容的命令D,格式为:

-D[地址]或-D[范围]

(6修改内存单元内容的命令E,它有两种格式:

1用给定的内容代替指定范围的单元内容:

-E地址内容表

例如:-E 2000:0100 F3 “XYZ” 8D

其中F3,“X”“Y”“Z”和8D各占一个字节,用这五个字节代替原内存单元2000:0100到0104的内容,“X”“Y”“Z”将分别按它们的ASCII码值代入。

2逐个单元相继地修改:

-E地址

例如:-E 100:

18E4:0100 89.78

此命令是将原100号单元的内容89改为78。78是程序员键入的。

(7检查和修改寄存器内容的命令R,它有三种方式:

1显示CPU内部所有寄存器内容和标志位状态;格式为:-R

2显示和修改某个指定寄存器内容,格式为:

-R 寄存器名

例如打入:-R AX

系统将响应如下:

AX FIF4

:

表示AX当前内容为F1F4,此时若不对其作修改,可按ENTER键,否则,打入修改后内容,如:

-R BX

BX 0369

:059F

则BX内容由0369改为059F

3显示和修改标志位状态,命令格式为:

-RF

系统将给出响应,如

OV DN EI NG ZR AC PE CY-

这时若不作修改可按ENTER键,否则在“-”号之后键入修改值,键入顺序任意。如

OV DN EI NG ZR AC PE CY-PONZDINV

(8命名命令N,格式为:

-N 文件名

此命令将文件名格式化在CS:5CH的文件控制块内,以便使用L 或W命令把文件装入内存进行调试或者存盘。

(9装入命令L,它有两种功能:

1把磁盘上指定扇区的内容装入到内存指定地址起始的单元中,

格式为:

-L 地址驱动器扇区号扇区数

2装入指定文件,格式为:

-L [地址]

此命令装入已在CS:5CH中格式化的文件控制块所指定的文件。

在用L命令前,BX和CX中应包含所读文件的字节数。

(10写命令W,有两种格式:

1把数据写入磁盘的指定扇区:

-W 地址驱动器扇区号扇区数

2把数据写入指定文件中:

-W [地址]

此命令把指定内存区域中的数据写入由CS:5CH处的FCB所规定的文件中。在用W命令前,BX和CX中应包含要写入文件的

字节数。

(11退出DEBUG命令Q,该命令格式为

Q

它退出DEBUG程序,返回DOS,但该命令本身并不把在内存中的文件存盘,如需存盘,应在执行Q命令前先执行写命令W。三.实验要求:

用汇编语言编写一个计算“3+5”的加法程序

四.实验报告:

写出在DEBUG状态下编写、运行程序的过程以及调试所中遇到的问题

是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

实验二内存操作数及寻址方法

一.实验目的:

1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。

2、掌握数据在内存中的存放方式和内存操作数的几种寻址方式。

3、掌握简单指令的执行过程。

二.实验内容:

1、设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX 的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。

2、设DS=当前段地址,BX=0300H,SI=0002H;请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入0AH,0BH,0CH,0DH, 0EH。在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。

程序清单如下:

MOV AX,BX

MOV AX,0304H

MOV AX,[0304H]

MOV AX,[BX]

MOV AX,0001[BX]

MOV AX,[BX][SI]

MOV AX,0001[BX][SI]

HLT

三.实验要求:

1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。

2、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序、调试程序和执行程序。

四.实验报告:

1、程序说明。说明程序的功能、结构。

2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

3、写出源程序清单和执行结果。

实验三汇编语言程序的调试与运行

一.实验目的

1.学习数据传送和算术运算指令的用法

2.熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过

程。

二.实验内容

将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在DA TA1和DA TA2为首的5个内存单元中,结果送回DA TA1处。

三.程序框图

图3.1 两个多位十进制相加程序流程图

四.调试步骤

1.编辑源程序,建立一个以后缀为.ASM的文件.

2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程

序中错误行。无错时继续第3步。

3.连接目标程序,产生可执行程序。

4.DEBUG调试可执行程序,记录数据段的内容。

5.在操作系统状态下,运行程序,并记录屏幕显示内容。

五.思考题

1.将上述程序改为5位数相加,结果为6位数的加法程序。(需考虑

进位

2.简单叙述上机步骤,调试方法。

实验四查表程序设计

一.实验目的:

1、熟练掌握编写汇编语言原程序的基本方法和基本框架。

2、掌握查表法和查表指令XLAT。

3、熟练使用DEBUG调试程序。

二.实验内容:

用查表的方法将一位十六进制数转换成与它相应的ASCII码,并将结果存放到ASCI单元中。

三.编程提示:

既然指定用查表的方法,那么首先要建立一个表TABLE。我们在表中按照十六进制数从小到大的顺序放入他们对应的ASCII码值。

DA TA SEGMENT

TABLE DB 30H,31H,32H,33H,34H,35H,36H,37H

DB 38H,39H,41H,42H,43H,44H,45H,46H HEX DB X ;X为待转换的十六进制数ASCI DB ?;存放转换后的ASCII码

DA TA ENDS

四.实验要求:

实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等

五.实验报告:

1、程序说明。说明程序的功能、结构。

2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

3、写出源程序清单和执行结果。

实验五系统功能调用

一.实验目的:

1、掌握接受键盘数据的方法,并了解将键盘数据显示时,须转为ASCII

码的原理。

2、掌握DOS功能调用的编程方法。

二.实验内容:

试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

三.编程提示:

利用DOS功能调用INT21H的1号功能从键盘输入字符和2号功能在显示器上显示一个字符。

四.实验要求:

实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。

五.实验报告:

1、程序说明。说明程序的功能、结构。

2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

3、写出源程序清单和执行结果。

实验六分支程序设计

一.实验目的:

1、掌握分支程序的结构。

2、掌握分支程序的设计、调试方法。

二.实验内容:

假设有一组数据:5,-4,0,3,100,-51,请编一程序,判断:每个数大于0,等于0,还是小于0;并输出其判断结果。

即: 1 当x>0

y= 0 当x=0

-1 当x<0

三.实验要求:

实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。

四.编程提示:

1、首先将原始数据装入起始地址为XX的字节存储单元中。

2、将判断结果以字符串的形式存放在数据区中,以便在显示输出时调用。

3、其中判断部分可采用CMP指令,得到一个分支结构,分别输出“y=0”, “y=1”, “y=-1”。

4、程序中存在一个循环结构,循环6次,调用6次分支结构后结束。

五.思考题:

程序中的原始数据是以怎样的形式存放在数据区中的?请用DEBUG 调试程序观察并分析。

六.实验报告:

1、程序说明。说明程序的功能、结构。

2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

3、画出程序框图。

4、写出源程序清单和执行结果。

5、回答思考题。

实验七循环程序设计

一.实验目的

1.掌握循环程序设计的方法(两重性循环结构

2.掌握正确分配与使用寄存器。

二.实验内容与要求

以GRADE为首地址的10个字的数组中保存有学生成绩。建立一个10个字的RNAK 数组,并根据GRADE中的学生成绩将学生名次填入RANK数组中(提示:一个学生的名次等于成绩高于等于该学生的人数加1。

寄存器分配情况说明如下:

AX 存放当前被测学生的成绩

BX 存放当前被测学生的相对地址指针

CX 内循环计数值

DX 存放当前被测学生的名次计数值

SI 内循环测试时的地址指针

DI 外循环计数值

三.程序框图

图7.1 程序框图

四.思考题

1.改为通过键盘输入方式提供学生成绩。

2.将成绩与名次在屏幕上显示。

3.指出控制循环程序的方法,并划分该程序的四个组成部分

实验八子程序设计

一.实验目的

1.掌握程序设计方法,合理划分层次

2.掌握子程序的调用与返回的方法

3.了解子程序的嵌套与递归

二.实验内容与要求

编制一程序,要求键入一个班的学生成绩,并存放于50字的ERADE 数组中,然后根据ERADE中的成绩,把学生名次填入50字的RANK 数组中,再按学号顺序把名次从终端上显示出来。

提示:

①程序MAIN

功能:根据输入的学生成绩,计算并显示出学生名次。

②程序INPUT

功能:接收一个班级学生的成绩,各成绩之间用空格隔开。

③程序RANKP

功能:计算一个班级学生的名次。(可参照循环程序(一中的程序段④程序OUTPUT

功能:输出(显示一个班级的学生名次

⑤程序DECIBIN

功能:十进制转换二进制,存入BX

⑥程序BINDEC

功能:十进制转换二进制,并在屏幕上显示。

⑦程序DEC_DIV

功能:BX的内容除以CX的内容,并在屏幕上显示一位商。

三.程序框图:

图8.1 程序流程图

四.步骤

1.自编主程序与子程序。

2.输入本班级某门基础课成绩。

五.思考题

1.写出4位BCD码转二进制数的算法。

2.写出AX中进二制数转BCD码的算法。

3.将上述子程序结构改为模块化程序设计。

实验九综合程序设计一.实验目的: 1、掌握分支、循环、子程序调用、DOS 功能调用等基本的程序结构。 2、掌握综合程序的编制及调试方法。二.实

验内容:设有十个学生成绩分别是 76,69,84,90,73,88,99,63,100 和 80 分。试编制一个子程序,统计低于 60 分,60~69 分,70~79 分,80~ 89 分,90~99 分和 100 分的人数,并输出显示统计结果。三.编程提示: 1、成绩分等部分采用分支结构,统计所有成绩则用循环结构完成,显示统计结果采用 DOS 功能调用。 2、统计学生成绩和显示统计结果两部分内容用子程序结构来完成。四.实验报告: 1、程序说明。说明程序的功能、结构。 2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。 3、画出程序框图。 4、写出源程序清单和执行结果。 5、体会和意

见。 %HOMEDRIVE%%HOMEPATH% %SystemRoot%\system32\cmd.exe 20

21

数据结构课程实验指导书

数据结构实验指导书 一、实验目的 《数据结构》是计算机学科一门重要的专业基础课程,也是计算机学科的一门核心课程。本课程较为系统地论述了软件设计中常用的数据结构以及相应的存储结构与实现算法,并做了相应的性能分析和比较,课程内容丰富,理论系统。本课程的学习将为后续课程的学习以及软件设计水平的提高打下良好的基础。 由于以下原因,使得掌握这门课程具有较大的难度: 1)理论艰深,方法灵活,给学习带来困难; 2)内容丰富,涉及的知识较多,学习有一定的难度; 3)侧重于知识的实际应用,要求学生有较好的思维以及较强的分析和解决问题的能力,因而加大了学习的难度; 根据《数据结构》课程本身的特性,通过实验实践内容的训练,突出构造性思维训练的特征,目的是提高学生分析问题,组织数据及设计大型软件的能力。 课程上机实验的目的,不仅仅是验证教材和讲课的内容,检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面: (1)加深对课堂讲授内容的理解 实验是对学生的一种全面综合训练。是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,实验题中的问题比平时的习题复杂得多,也更接近实际。实验着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变" 活" ,起到深化理解和灵活掌握教学内容的目的。 不少学生在解答习题尤其是算法设计时,觉得无从下手。实验中的内容和教科书的内容是密切相关的,解决题目要求所需的各种技术大多可从教科书中找到,只不过其出

现的形式呈多样化,因此需要仔细体会,在反复实践的过程中才能掌握。 (2) 培养学生软件设计的综合能力 平时的练习较偏重于如何编写功能单一的" 小" 算法,而实验题是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。 通过实验使学生不仅能够深化理解教学内容,进一步提高灵活运用数据结构、算法和程序设计技术的能力,而且可以在需求分析、总体结构设计、算法设计、程序设计、上机操作及程序调试等基本技能方面受到综合训练。实验着眼于原理与应用的结合点,使学生学会如何把书本上和课堂上学到的知识用于解决实际问题,从而培养计算机软件工作所需要的动手能力。 (3) 熟悉程序开发环境,学习上机调试程序一个程序从编辑,编译,连接到运行,都要在一定的外部操作环境下才能进行。所谓" 环境" 就是所用的计算机系统硬件,软件条件,只有学会使用这些环境,才能进行 程序开发工作。通过上机实验,熟练地掌握程序的开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。 完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆语法错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,尽快掌握程序调试方法是非常重要的。分析问题,选择算法,编好程序,只能说完成一半工作,另一半工作就是调试程序,运行程序并得到正确结果。 二、实验要求 常用的软件开发方法,是将软件开发过程划分为分析、设计、实现和维护四个阶段。虽然数据结构课程中的实验题目的远不如从实际问题中的复杂程度度高,但为了培养一个软件工作者所应具备的科学工作的方法和作风,也应遵循以下五个步骤来完成实验题目: 1) 问题分析和任务定义 在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么?限制条件是什么。本步骤强调的是做什么?而不是怎么做。对问题的描述应避开算法和所涉及的数据类型,而是对所需完成的任务作出明确的回答。例如:输入数据的类型、值的范围以及输入的

实验指导书

Matlab实验指导书 河北大学电子信息工程学院 2004年1月

目录 MATLAB实验教学计划 (2) 实验一MATLAB基本操作 (3) 实验二MATLAB图形系统......................................................... . (5) 实验三 MATLAB程序设计 (6) 实验四 MATLAB基本应用领域 (7) 实验五设计性综合实验1---数字信道编译码 (14) 实验六设计性综合实验2---fir滤波器设计................................. . (16) 2

MATLAB实验教学计划 指导教师:郑晓昆薛文玲王竹毅学时数:12学时周4学时2次实验,共3周6次实验,第7—9教学周,每次实验2学时 所用仪器设备:MATLAB7.0实验软件系统 实验指导书:Matlab实验指导书 自编 实验参考书:, 楼顺天等编著, 西安电子科大出版社,06年5月第二版 实验项目: A, MATLAB基本操作 内容:矩阵操作,基本数学函数,逻辑函数操作等; 要求:循序渐进完成P83练习题1—10 B, MATLAB图形系统 内容:图形绘制,图形标注,对数和极坐标,坐标轴控制,颜色控制等要求:循序渐进完成P146练习题1—10 C, MATLAB程序设计 内容:脚本script和函数function认识,流程控制,参数交互输入,基本程序设计技巧练习,程序调试DEBUG等 要求:循序渐进完成P184练习题1—10 D, MATLAB基本应用领域 内容:线性代数,多项式与内插,曲线拟合,数据分析与统计,泛函基础等 要求:循序渐进完成P146练习题1—4,6—19 E, 设计性综合实验----数字信道编译码 内容:1数字通信系统信道编码AMI编译码 2数字通信系统信道编码HDB3编译码 F,设计性综合实验----fir滤波器设计 内容:设计一个有限冲击相应数字滤波器FIR是该滤波器能够滤出规定频率以上的信号,而该频率以下的信号不受影响。 3

数据结构实验指导书

《数据结构》实验指导书 实验一顺序表 实验目的: 熟悉顺序表的逻辑特性、存储表示方法和顺序表的基本操作。 实验要求: 了解并熟悉顺序表的逻辑特性、存储表示方法和顺序表的基本操作的实现和应用。 实验内容: 1、编写程序实现在线性表中找出最大的和最小的数据元素,并符合下列要求: (1)设数据元素为整数,实现线性表的顺序存储表示。 (2)从键盘输入10个数据元素,利用顺序表的基本操作建立该表。 (3)利用顺序表的基本操作,找出表中最大的和最小的数据元素(用于比较的字段为整数)。 2、编写一个程序实现在学生成绩中找出最高分和最低分,并符合下列要求: (1)数据元素为学生成绩(含姓名、成绩等字段)。 (2)要求尽可能少地修改第一题的程序来得到此题的新程序,即要符合第一题的所有要求。(这里用于比较的字段为分数) 实验二链表 实验目的: 熟悉链表的逻辑特性、存储表示方法的特点和链式表的基本操作。 实验要求: 了解并熟悉链式表的逻辑特性、存储表示方法和链式表的基本操作的实现和应用。

实验内容: 1、编写一个程序建立存放学生成绩的有序链表并实现相关操作,要求如下: (1)设学生成绩表中的数据元素由学生姓名和学生成绩字段组成,实现这样的线性表的链式存储表示。 (2)键盘输入10个(或若干个,特殊数据来标记输入数据的结束)数据元素,利用链表的基本操作建立学生成绩单链表,要求该表为有序表 并带有头结点。(用于比较的字段为分数)。 (3)输入关键字值x,打印出表中所有关键字值<=x的结点。(用于比较的关键字字段为分数)。 (4)输入关键字值x,删除表中所有关键字值<=x的结点。(用于比较的关键字字段为分数)。 (5)输入关键字值x,并插入到表中,使所在的链表仍为有序表。(用于比较的字段为分数)。 实验三栈的应用 实验目的: 熟悉栈的逻辑特性、存储表示方法和栈的基本操作。 实验要求: 了解并熟悉栈的逻辑特性、顺序和链式存储表示方法和栈的基本操作的实现和应用。 实验内容: (1)判断一个表达式中的括号(仅有一种括号,小、中或大括号) 是否配对。编写并实现它的算法。 (2)用不同的存储方法,求解上面的问题。 (3)* 若表达式中既有小括号,又有大括号(或中括号),且允许 互相嵌套,但不能交叉,写出判断这样的表达式是否合法的算 法。如 2+3*(4-{5+2}*3)为合法;2+3*(4-{5+2 * 3} 、 2+3*(4-[5+2 * 3)为不合法。

【汇编语言程序设计】试题及答案合集

《汇编语言程序设计试题及答案》合集 汇编语言程序设计试题及答案 1.对于有符号的数来说,下列哪个值最大(D) A:0F8H B:11010011B C:82 D:123Q 2.下列有关汇编语言中标号的命名规则中,错误的是(D) A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D:.号不可位于标号首 3.8088/8086存储器分段,每个段不超过(D ) A.64K个字 B.32K个字节 C.1兆个字节 D.64K个字节 4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式(B)A:寄存器寻址B:相对基址变址寻址 C:变址寻址D:基址变址寻址 5.若AX= - 15要得到AX=15应执行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX 6.8086/8088系统执行传送指令MOV时( A) A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 7.若要求一个操作数中的若干位维持不变,若干位置?1?,可以使用(B)A:NOT B:OR C:AND D:XOR 8.下列指令中段默认为堆栈段的是( C) A.MOV AX,[BX+SI+10] B.ADD AX,ES:[SI] C.SUB [BX],[BP][DI] D. MOV DX,[1000H] 9.关于8086/8088微机系列,下列说法哪个是正确的(D) A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C:在内存空间中,可以无限分配段,且段的大小不受限制。 D:段与段之间可以邻接,也可以重叠。 10.下列关于堆栈的说法,错误的是(D) A:以?先入后出?为原则。 B:栈区最高地址单元的前一个单元为栈底。 C:运行中SP寄存器动态跟踪栈顶位置。 D:压栈和弹出都是以字节为单位。 11.表示过程定义结束的伪指令是( A) A.ENDP B.ENDS C.END D.ENDM 12.BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $-BUF1 符号COUNT等价的值是( B) A.6 B.18 C.16 D.9 13.下列标志位中,可以用来判断计算结果正负的是(B) A:PF B:SF C:DF D:OF 14.下列指令正确的是( CD) A. MOV [100H], [BX] B.MOV DS, ES C. ADD V[BX], CX D.MOV AX, 34H 15.下列哪个寄存器是属于指针寄存器(C) A:SI B:DX C:SP D:ES 二、填空题 (每小题4 分,共 20 分) 1.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出) FLD DW 10, -20, 30, -60, -71, 80, 79, 56 _LEA SI,FLD______ MOV CX, 8 XOR AX, AX

实验指导书

苯甲酸红外光谱的测绘—溴化钾压片法制样 一、实验目的 1、了解红外光谱仪的基本组成和工作原理。 2、熟悉红外光谱仪的主要应用领域。 3、掌握红外光谱分析时粉末样品的制备及红外透射光谱测试方法。 4、熟悉化合物不同基团的红外吸收频率范围.学会用标准数据库进行图谱检索 及化合物结构鉴定的基本方法。 二、实验原理 红外光谱分析是研究分子振动和转动信息的分子光谱。当化合物受到红外光照射,化合物中某个化学键的振动或转动频率与红外光频率相当时,就会吸收光能,并引起分子永久偶极矩的变化,产生分子振动和转动能级从基态到激发态的跃迁,使相应频率的透射光强度减弱。分子中不同的化学键振动频率不同,会吸收不同频率的红外光,检测并记录透过光强度与波数(1/cm)或波长的关系曲线,就可得到红外光谱。红外光谱反映了分子化学键的特征吸收频率,可用于化合物的结构分析和定量测定。 根据实验技术和应用的不同,我们将红外光划分为三个区域:近红外区(0.75~2.5μm;13158~40001/cm),中红外区(2.5~25μm;4000~4001/cm)和远红外区(25~1000μm;400~101/cm)。分子振动伴随转动大多在中红外区,一般的红外光谱都在此波数区间进行检测。 傅立叶变换红外光谱仪主要由红外光源、迈克尔逊干涉仪、检测器、计算机和记录系统五部分组成。红外光经迈克尔逊干涉仪照射样品后,再经检测器将检测到的信号以干涉图的形式送往计算机,进行傅立叶变换的数学处理,最后得到红外光谱图。

傅立叶变换红外光谱法具有灵敏度高、波数准确、重复性好的优点,可以广泛应用于有机化学、金属有机化学、高分子化学、催化、材料科学、生物学、物理、环境科学、煤结构研究、橡胶工业、石油工业(石油勘探、润滑油、石油分析等)、矿物鉴定、商检、质检、海关、汽车、珠宝、国防科学、农业、食品、生物医学、生物化学、药学、无机和配位化学基础研究、半导体材料、法庭科学(司法鉴定、物证检验等)、气象科学、染织工业、日用化工、原子能科学技术、产品质量监控(远距离光信号光谱测量:实时监控、遥感监测等)等众多方面。 三、仪器和试剂 1、Nicolet 5700 FT-IR红外光谱仪(美国尼高力公司) 2、压片机(日本岛津公司) 3、压片模具(日本岛津公司) 4、玛瑙研钵(日本岛津公司) 5、KBr粉末(光谱纯,美国尼高力公司) 6、苯甲酸(分析纯) 四、实验步骤 1、样品的制备(溴化钾压片法)

汇编语言程序设计

汇编语言基础《汇编语言程序设计》第01章在线测试 A B C D 、微机中每个存储单元具有一个地址,其中存放一个____量。 A B C D 、设段地址为5788H,该字节的物理地址_____。 A B C D 、汇编语言源程序中,每个语句由项组成,不影响语句功能的是_____。 A B C D 、下列标号不合法的是_____。 A B C D

B、生成的代码序列短小 C、运行速度快 D、编程容易 E、便于移植 2、8086段寄存器有_______。 A、IP B、DS C、CS D、ES E、SS 3、使用MASM 6.x版本的“ML /Fl eg101.asm”命令,如果源程序eg101.asm没有语法错误,则将生成_________文件。 A、目标代码文件 B、可执行文件 C、列表文件 D、调试文件 E、库文件 4、汇编语言中,______可以作为有效的名字,如标号、变量名等。 A、0fffh B、var00 C、loop1 D、test E、add 5、汇编语言中,程序员不能将______作为用户标识符。 A、DS

正确错误、有效地址是指存储器操作数的物理地址。 正确错误、采用汇编语言书写的一个源程序文件,需要使用汇编程序,例如MASM 正确错误 按逻辑段组织程序,需要执行的指令应该在代码段中。 正确错误、使用简化段定义源程序格式,必须具有语句,且位于所有简化段定义语句之前。 正确错误 《汇编语言程序设计》第02章在线测试 A B C D

2、伪指令DW定义的是______量的变量。 A、字节 B、字 C、双字 D、4字 3、将变量var定义如下,“var db 26h, 4ah”,欲以字属性存取该变量值,应采用______var。 A、offset B、byte ptr C、word ptr D、seg 4、语句“xyz db ˊABˊ, ˊCDˊ, ˊEˊ,ˊFˊ”汇编后占用的存储空间是______个字节。 A、4 B、5 C、6 D、8 5、在伪指令语句“number dw 1234h”中的number 项称为______。 A、标号 B、操作符 C、名字 D、操作数 第二题、多项选择题(每题2分,5道题共10分) 1、如下________寻址方式的操作数来自主存储器。 A、立即数寻址 B、寄存器寻址 C、直接寻址 D、寄存器相对寻址 E、寄存器间接寻址 2、“mov [bx+10h],al”指令的两个操作数采用的寻址方式有_______。 A、寄存器间接 B、寄存器 C、寄存器相对 D、基址变址 E、立即数

结构试验指导书2015

试验一静态应变测试工艺及静态应变仪的操作方法 一、试验目的及要求 1.掌握电阻应变片的选用原则、方法及其粘贴技术; 2.熟悉静态应变仪的操作规程; 3.掌握静态电阻应变仪单点测量的基本原理; 4.学会电阻应变仪的半桥测量接线方法。 二、试验设备及仪表 电桥 兆欧表 万用电表 粘结剂 电阻应变片 电烙铁及其它工具 导线若干 Bz-2206型静态电阻应变仪 标准钢梁(等强度梁) 三、试验内容及原理 1. 电阻应变片的粘贴技术 (1)、外观检查;用放大镜仔细检查应变片结构,检查丝栅有无短路、有无锈蚀斑痕、有无弯折;测试应变片的阻值,检查其阻值是否和提供的电阻应变片阻值相符; (2)、贴片前表面的处理:将欲贴应变片部位表面用砂纸打光,并将其表面打出与等强度梁轴线成450的细纹,然后用药棉沾丙酮将表面擦洗干净,细至药棉上无污迹为止; (3)、画线定位:在贴片处,根据测量方向定位画线(如图2); (4)、在粘贴应变片处滴一小滴502胶(注意应变片正反面),将应

变片贴在预定位置上,用一小块塑料布盖在应变片上,用手轻轻挤压应变片,将多余的胶水挤出(注意不要让胶水粘在手上); (5)、检查贴片质量:先观察应变片下是否有气泡、漏粘现象,检查引出线是否粘在试件上,再用万用表检查应变片的绝缘度,绝缘度要求大于100MΩ,若不符合要求,则用吹风机烘烤(注意温度不能超过600),若仍不能达到要求,则需要重新贴片; (6)、接线:先贴端子,将应变片的引线、导线分别焊在端子的对应接头上; (7)、在导线的一端进一步检查片子的绝缘度及阻值; (8)、防潮处理:用凡士林把应变片、端子封好; 2. 静态电阻应变仪的操作原理 静态电阻应变仪的读数ε仪与各桥臂应变片的应变值εi有下列关系: ε仪=ε1-ε2-ε3+ε4 半桥接线与测量 如果应变片R1接于应变仪AB接线柱,温度补偿片R2接于BC接线柱,则构成外半桥,如图3;内半桥由应变仪内部两个精密无感绕线电阻组成,应变仪读出的数值为ε仪=ε1。 四、试验步骤 1. 按要求粘贴应变片(轴线上),测量等强度梁的厚度及各部分尺寸; 2. 按半桥接法接通桥路,预调应变仪,使所接测点读数为零,如果实在不能调零,则记下初始读数。 3. 加载试验:分级加载5N、10N、15N、20N、25N、30N共6级。逐级记取读数。 4. 重复上述步骤3次,取每级荷载下应变的平均值。并在每一次试验后记下残余应变值。 五、数据处理与分析

汇编语言程序设计课后习题解答宋人杰2版

第1章汇编语言基础知识 1.简述汇编语言源程序、汇编程序、和目标程序的关系。 答:用汇编语言编写的程序称为汇编源程序;汇编源程序在汇编程序的翻译下转换成计算机语言变成目标程序。 2. 简述汇编语言的优缺点。 答:(1) 汇编语言的优点: ①可有效地访问、控制计算机各种硬件设备,如磁盘、存储器、CPU、I/O端口等。. ②目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。 ③可与高级语言配合使用,应用十分广泛。 (2) 汇编语言的缺点: ①通用性和可移植性较差 ②相对于高级语言来说较繁锁、易出错、不够直观。 3.CPU的寻址能力为8KB,那么它的地址总线的宽度为多少? 答:13 4. 1KB的存储器有多少个存储单元? 答:1024个字节。 5. 指令中的逻辑地址由哪两部分组成? 答:指令中的逻辑地址由段基址和偏移量组成。 6. 以下为用段基址:偏移量形式表示的内存地址,试计算它们的物理地址。 (1) 12F8:0100 (2) 1A2F:0103 (3) 1A3F:0003 (4) 1A3F:A1FF 答: (1) 13080H (2) 1A3F3H (3) 1A3F3H (4) 245EFH 7. 自12FA:0000开始的内存单元中存放以下数据(用十六进制形式表示): 03 06 11 A3 13 01,试分别写出12FA:0002的字节型数据、字型数据及双字型数据 的值。 答:字节型数据:11H 字型数据:0A311H 双字型数据:0113A311H 8. 内存中某单元的物理地址是19318H,段基地址为1916H,则段内偏移地址为 多少?若段内偏移地址为2228H,则段基地址为多少? 答:若段基地址为1916H,则段内偏移地址为01B8H;若段内偏移地址为2228H,则段基地址为170FH 9. 在实模式环境中,一个段最长不能超过多少字节? 答:64KB 10. 实模式可寻址的内存范围是多少? 答:1MB

汇编语言程序设计

汇编语言程序设计 一、选择题 (共72题) 1、 用于指针及变址寄存器的有()。 A、 AX,BX,CX,DX B、 SP,BP,IP C、 CS,DS,SS D、 PSW 考生答案:B 2、 完成把汇编语言源程序模块转换为目标模块的程序是()。 A、 编辑程序 B、 汇编程序 C、 连接程序 D、 调试程序 考生答案:B 3、 指令JMP FAR PTR DONE中的寻址方式属于()。 A、 段内转移直接寻址 B、 段内转移间接寻址 C、 段间转移直接寻址 D、 段间转移间接寻址 考生答案:C 4、 对于下列程序段: AGAIN:MOV AL,[SI]

MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用()指令完成同样的功能。 A、 REP MOVSB B、 REP LODSB C、 REP STOSB D、 REPE SCASB 考生答案:A 5、 在程序执行过程中,IP寄存器中始终保存的是()。 A、 上一条指令的首地址 B、 下一条指令的首地址 C、 正在执行指令的首地址 D、 需计算有效地址后才能确定地址 考生答案:B 6、 在汇编语言程序的开发过程中使用宏功能的顺序是()。 A、 宏定义,宏调用 B、 宏定义,宏展开 C、 宏定义,宏调用,宏展开 D、 宏定义,宏展开,宏调用 考生答案:C 7、 CPU要访问的某一存储单元的实际地址称()。 A、 段地址

偏移地址 C、 物理地址 D、 逻辑地址 考生答案:C 8、 AND、OR、XOR、NOT为四条逻辑运算指令,下面解释正确的是()。 A、 指令XOR AX,AX执行后,AX内容不变,但设置了标志位 B、 指令OR DX,1000H执行后,将DX最高位置1,其余各位置0 C、 指令AND AX,OFH执行后,分离出AL低四位 D、 NOT AX,执行后,将AX清0 考生答案:C 9、 完成对CL寄存器的内容乘以2的正确操作是()。 A、 ROL CL,1 B、 MUL 2 C、 SHL CL,1 D、 SHR CL,1 考生答案:C 10、 检查两个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP A L,BL”指令后应跟的分支指令是()。 A、 JE LOP1 B、 JAE LOP1 C、 JC LOP1 D、 JGE LOP1 考生答案:B 11、 已知变量VAR为字型,则TYPEVAR=()。

最新PLC实验指导书.pdf

PLC实验指导书 实验课程类别:课程内实验 实验课程性质:必修 适用专业:自动化 适用课程:《可编程控制器》、《电气控制与PLC》 实验用PLC机型:欧姆龙CPM1A和CPM2A 开课院、系及教研室:电气信息学院自动化及电气工程教研室 PLC硬件的连接和软件的使用 1.PLC实验系统硬件的组成和线路的连接 整个实验系统由PLC系统和实验区组成。 PLC系统包括OMRON型PLC主机CPM1A一台、适配器CPM1-CIFO1一个、串口线一 根(包括9芯针、孔接头各一个);或CPM2A一台,串口线一根。 实验区包括开关量输入区、混料实验区、交通灯实验区、电机控制实验区和电梯(直线) 实验区等,每个实验区有不同的输入按键、指示灯和相应的插孔。 另外,实验面板上面有24V电源插孔,24V和GND;还有一排输入端子排DIGITAL INPUT 00~23、输入的公共端子1M、2M、3M、4M接24V;输出端子排DIGITAL OUTPUT 00~15,其公共端子1L、1L接GND;另有插接线若干。 开关量信号单元介绍: 输入信号分为不带自锁按键和带自锁按键,各有8个,共16个,按键按下时是高电平还 是低电平由公共端决定,不带自锁按钮的公共端是COMS1,带自锁按键的公共端是 COMS2,按键的公共端子COMS1、COMS2接GND。 输出信号是2组输出指示灯和一个蜂鸣器声音信号,其中一组指示灯的信号是低电平点 亮,标示为LED1-LED4,另一组指示灯的信号是高电平点亮,标示为LED5-LED8。 声音信号的接口标示为BEEP,接通低电平信号时蜂鸣器响。 具体线路的连接如下: (1)电源开关下的两根线为220V电源线,与PLC主机的L1和L2相连。 (2)PLC输入端的0CH(0通道)00~11端子分别与实验面板上端子排的INPUT00~11相连,1CH(1通道)00~05端子分别与实验面板上端子排的INPUT12~17相连。 (3)PLC输出端的10CH(输出0通道)00~07端子分别与实验面板上端子排的OUTPUT00~07相连,11CH(1通道)00~03端子分别与实验面板上端子排的 OUTPUT10~13相连。 (4)需要联机调试或下载程序时将适配器与PLC主机相连接,用串口线将适配器与电脑的任意一串口相连接。 2.PLC编程软件的简要介绍 在工程工作区内,用户可以实现对以下项目的查看与操作: 符号:可编程控制器所使用的所有全局和本地符号。 I/O表:与可编程控制器相连的所有机架和主框的输入输出。 设定:所有有关可编程控制器的设置。

2017数据结构实验指导书

《数据结构》实验指导书 贵州大学 电子信息学院 通信工程

目录 实验一顺序表的操作 (3) 实验二链表操作 (8) 实验三集合、稀疏矩阵和广义表 (19) 实验四栈和队列 (42) 实验五二叉树操作、图形或网状结构 (55) 实验六查找、排序 (88) 贵州大学实验报告 (109)

实验一顺序表的操作 实验学时:2学时 实验类型:验证 实验要求:必修 一、实验目的和要求 1、熟练掌握线性表的基本操作在顺序存储和链式存储上的实现。 2、以线性表的各种操作(建立、插入、删除等)的实现为重点。 3、掌握线性表的动态分配顺序存储结构的定义和基本操作的实现。 二、实验内容及步骤要求 1、定义顺序表类型,输入一组整型数据,建立顺序表。 typedef int ElemType; //定义顺序表 struct List{ ElemType *list; int Size; int MaxSize; }; 2、实现该线性表的删除。 3、实现该线性表的插入。 4、实现线性表中数据的显示。 5、实现线性表数据的定位和查找。 6、编写一个主函数,调试上述算法。 7、完成实验报告。 三、实验原理、方法和手段 1、根据实验内容编程,上机调试、得出正确的运行程序。 2、编译运行程序,观察运行情况和输出结果。 四、实验条件 运行Visual c++的微机一台 五、实验结果与分析 对程序进行调试,并将运行结果进行截图、对所得到的的结果分析。 六、实验总结 记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等,并将其写入实验报告中。

【附录----源程序】 #include #include using namespace std; typedef int ElemType; struct List { ElemType *list; int Size; int MaxSize; }; //初始化线性表 bool InitList(List &L) { L.MaxSize=20; L.list=new ElemType[L.MaxSize]; for(int i=0;i<20&&L.list==NULL;i++) { L.list=new ElemType[L.MaxSize]; } if(L.list==NULL) { cout<<"无法分配内存空间,退出程序"<L.Size+1||pos<1) { cout<<"位置无效"<

实验一基础汇编语言程序设计

实验一基础汇编语言程序设计 实验目的 1.学习和了解TEC-XP十六位机监控命令的用法; 2.学习和了解TEC-XP十六位机的指令系统; 3.学习简单的TEC-XP十六位机汇编程序设计。 实验内容 1.使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容; 2.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。 3.学习联机使用TEC-XP教学试验系统和仿真终端软件。 实验要求 在使用该教学机之前,应先熟悉教学机的各个组成部分及其使用方法。 实验步骤 1.关闭电源,将大板上的COMl口与PC机的串口相连; 2.接通电源,在PC机上运行PCEC.EXE文件,设置所用PC机的串口为“l”或“2”,其它的设置一般不用改动,直接回车即可; 3.置控制开关为001110(连续、内存读指令、组合逻辑、16位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。其它实验相同; 4.按一下“RESET”按键,再按一下“START”’按键,主机上显示: 5.用R命令查看寄存器内容或修改寄存器的内容 1.用R命令查看寄存器或修改寄存器内容 1)在命令行提示符状态下输入: R↙;显示寄存器的内容 注:寄存器的内容在运行程序或执行命令后会发生变化。

2)在命令行提示符状态下输入: R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格, 也可有—个或数个空格 主机显示: 寄存器原值:xxxx 在后面输入新的值0036 再用R命令显示寄存器内容,则R0的内容变为0036。 2.用D命令显示存储器内容 在命令行提示符状态下输入: D 2000↙ 会显示从2000H地址开始的连续128个字的内容; 连续使用不带参数的D命令,起始地址会自动加128(即80H)。

过控实验指导书最新本科

《过程控制系统》 安阳工学院 电子信息与电气工程学院

一、实验目的 1.掌握双容水箱特性的阶跃响应曲线测试方法; 2.根据由实验测得双容液位的阶跃响应曲线,确定其特征参数K、T1、T2及传递函数;3.掌握同一控制系统采用不同控制方案的实现过程。 二、实验条件 1.THJ-3型高级过程控制系统实验装置; 2.计算机、组态王工控组态软件、RS232/485转换器1只、串口线1根; 3.万用表1只。 三、实验原理 图2-1 双容水箱对象特性测试系统

G(s)=G 1(s)G 2 (s)=1 2 1212 k k K T1T1(T1)(T1) s s s s ?= ++++ (2-1) 式中K=k 1 k 2 ,为双容水箱的放大系数,T 1 、T 2 分别为两个水箱的时间常数。 本实验中被测量为中水箱的液位,当上水箱输入量有一阶跃增量变化时,两水箱的液位变化曲线如图2-2所示。由图2-2可见,上水箱液位的响应曲线为一单调上升的指数函数(图2-2(a));而下水箱液位的响应曲线则呈S形曲线(图2-2(b) ),即下水箱的液位响应滞后了,它滞后的时间与阀F1-10和F1-11的开度大小密切相关。 图2-2 双容水箱液位的阶跃响应曲线 (a)中水箱液位(b)下水箱液位 双容对象两个惯性环节的时间常数可按下述方法来确定。在图2-3所示的阶跃响应曲线上求取: (1) h 2 (t)| t=t1 =0.4 h 2 (∞)时曲线上的点B和对应的时间t 1 ; (2) h 2 (t)| t=t2 =0.8 h 2 (∞)时曲线上的点C和对应的时间t 2 。 图2-3 双容水箱液位的阶跃响应曲线 然后,利用下面的近似公式计算式 阶跃输入量 输入稳态值 = ∞ = O h x ) ( K2 (2-2) 2.16 t t T T2 1 2 1 + ≈ + (2-3) ) 55 .0 74 .1( ) T (T T T 2 1 2 2 1 2 1- ≈ +t t (2-4) 0.32〈t 1 /t 2 〈0.46 由上述两式中解出T 1 和T 2 ,于是得到如式(2-1)所示的传递函数。 在改变相应的阀门开度后,对象可能出现滞后特性,这时可由S形曲线的拐点P 处作一切线,它与时间轴的交点为A,OA对应的时间即为对象响应的滞后时间τ。于是得到双容滞后(二阶滞后)对象的传递函数为: G(S)= )1 )(1 ( 2 1 + +S T S T K S eτ- (2-5)

数据结构实验指导书2014(1)

《数据结构》实验指导书 专业:____________班级:_______________组序:_____________ 学号:______________姓名:_______________ 中国矿业大学管理学院 2014 年9 月

上篇程序设计基础 实验一 Java编程环境 【实验目的】 1.掌握下载Java sdk软件包、Eclipse软件的安装和使用方法 2.掌握设置Java程序运行环境的方法 3.掌握编写与运行Java程序的方法 4.了解Java语言的概貌 【实验内容】 一 JDK下载与安装 1. 下载JDK 为了建立基于SDK的Java运行环境,需要先下载免费SDK软件包。SDK包含了一整套开发工具,其中包含对编程最有用的是Java编译器、Applet查看器和Java解释器。下载链接 https://www.360docs.net/doc/fb16470359.html,。 2.安装SDK 运行下载的JDK软件包,在安装过程中可以设置安装路径及选择组件,默认的组件选择是全部安装,安装成功后,其中bin文件夹中包含编译器(javac.exe)、解释器(java.exe)、Applet查看器(appletviewer.exe)等可执行文件,lib文件夹中包含了所有的类库以便开发Java程序使用,demo文件夹中包含开源代码程序实例。 安装成功后,文件和子目录结构如图1所示。其中bin文件夹中包含编译器(javac.exe)、解释器(java.exe)、Applet查看器(appletviewer.exe)等可执行文件,lib文件夹中包含了所有的类库以便开发Java程序使用,sample文件夹包含开源代码程序实例,src压缩文件中包含类库开源代码。 图1 二.设置环境变量

8086汇编语言程序设计

实验1 简单汇编语言程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握简单汇编语言程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG 工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG 工具调试程序,验证程序的正确性。 1. 若X、Y、R、W 是存放8 位带符号数字节单元的地址,Z 是16 位字单元的 地址。试编写汇编程序,完成Z←((W-X) ÷5-Y)?(R+ 2) 。 2.试编写一个程序,测试某数是否是奇数。如该数是奇数,则把DL 的第0 位置1,否则将该位置0。 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验2 分支及循环程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握分支程序和循环程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编写汇编程序,统计某存储区若干个数据中英文字母的个数,并将结果在屏幕上显示。 2.从键盘任意输入一组字符数据,请编写汇编程序将该组数据加密后在屏幕上显示。参考加密方法是:每个数乘以2。(说明:本题的加密方法,同学们可以自己拟定) 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验3 子程序程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握子程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编程以十进制形式和十六进制形式显示AX的内容,并把两个显示功能分别封装成子程序dispDEC和dispHEX。 2.设在以EXAMSCORE为首地址的数据缓冲区依次存放某班10名同学5门功课的成绩,现要统计各位同学的总分,并将总分放在该学生单科成绩后的单元,并调用第1个程序封装好的子程序,以十进制方式显示统计情况,显示格式自行设计。请编程完成此功能。数据缓冲区参考数据定义如下: EXAMSCORE DB 01 ;学号 DB 89,76,54,77,99 ;单科成绩 DW ? ;该学生的总分 DB 02 ;学号 DB 79,88,64,97,92 ;单科成绩 DW ? ;该学生的总分 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

汇编语言程序设计

汇编语言程序设计 实验报告 实验名称上机过程及顺序结构与分支结构程序设计实验班级 学号 姓名 日期2017年10月26号 成绩 评阅人 软件学院

一、实验目的与意义 理解并熟练掌握汇编语言程序设计过程中的编辑、汇编、链接和调试等各个步骤,提高对汇编课程内容的理解和汇编语言的掌握,通过上机练习加深对课程内容的理解和掌握。通过汇编语言编制的程序上机调试、运行检验程序设计是否正确。熟悉和掌握编辑、汇编、连接和调试四个实用程序的使用方法,掌握调试程序中的几个常用命令的使用方法。熟悉其基本的指令操作,debug调试操作命令以及分支结构、顺序结构和循环结构的程序设计。 二、实验环境 操作系统:Microsoft Windows8 集成环境:Masm for Windows 上机地点:信息楼B405教室 三、实验的预习内容 预习的主要内容: 1. 使用DEBUG命令的方法; 2. 熟悉掌握从理论上定义数据的类型(即DB,DW,DD,); 3. 分支结构和顺序结构的步骤以及相关的指令; 4. 常用的标志位状态及相应的作用; 实验思路: 在对题目进行分析后,分析出解题方法,并做出与实验思路相对应的程序框图。依照程序框图的内容输入相对应的代码,最终在调试代码后,发现并解决一系列的汇编语言错误。进一步优化算法。实验之前必须了解十进制、十六进制和ASCII码之间的转换。预习查表法相关命令,掌握顺序程序的结构,从键盘输入数据的命令及显示到屏幕上的命令。 实验一: 题目1:将程序编辑、汇编、连接并通过集成环境中的debug调试,观察运行结果;用E命令修改指定地址的数据,再用G命令执行程序查看变化,用A 命令将加法指令修改成减法指令,再将其编译运行,查看寄存器值变化的异同。 题目2:分别用DB、DW和DD数据段9H,0FAH,41H,27H,编译链接之后生成exe文件,再用debug的r命令找到数据段地址,用d命令指定数据段地址,观察汇编后在机器内部对应的存储情况。 实验二: 先设置数据段地址和堆栈段地址;设置堆栈段指针;读取一个字符然后存储在AL中;用BX来存储AL中字符对应的数值;将BX中的值作为偏移地址;并在数据段中查找对应字符串;最终输出结果结束程序。 实验三: 先初始化数据段地址与堆栈段地址;设置堆栈段指针;然后将数据段中的data1放入AL中;读取数据段中的data2并判断data2是否大于0;然后读取数

实验指导书

《数控机床》 实 验 指 导 书 (简本) 蚌埠学院机电系李大胜2008年9月修订

实验一数控车床操作模拟(计算机仿真) 一、实验目的和要求 数控加工在制造业中占有非常重要的地位,数控机床是一种高效的自动化设备,它可以按照预先编制好的零件数控加工程序自动地对工件进行加工。宇航数控加工仿真系统可以在计算机屏幕上仿真完成数控加工程序的输入输出、数控机床操作、工件加工、虚拟测量等数控加工全过程,而且在数控加工仿真系统中,机床操作面板和操作步骤与相应的实际数控机床完全相同,学生在这种虚拟工业环境中可以学习掌握典型数控车床的加工操作方法,通过数控加工仿真系统可以使培训得到实物操作训练的目的,本次实验主要要求学生了解宇航仿真软件的使用和熟悉配备主流数控系统的数控车床的操作及对刀方法。 二、实验内容 1、了解数控车床的基本运动、加工对象及其用途; 2、了解数控车床操作面板各按键(CNC界面)的功用; 3、掌握数控车床的调整及加工前的准备工作、尤其要熟练掌握FANUC0i系统的多种对刀方法; 三、实验仪器 软件要求:宇航数控仿真系统30节点 硬件要求:微机30台 四、实验内容及步骤 YHCNC仿真系统及虚拟机床操作(FANUC 0i) 1、机床操作面板 机床操作面板位于窗口的右下侧,如下图所示,主要用于控制机床运行状态,由模式选择按钮、运行控制开关等多个部分组成,每一部分的详细说明如下: FANUC 0i面板 AUTO:自动加工模式。EDIT:编辑模式。MDI:手动数据输入。 INC:增量进给。 HND:手轮模式移动机床。 JOG:手动模式,手动连续移动机床。 REF:回参考点。

汇编语言程序设计(第四版)第3章【课后答案】

汇编语言程序设计第四版 【课后习题答案】--囮裑為檤 第3章汇编语言程序格式 〔习题3.1〕伪指令语句与硬指令语句的本质区别是什么?伪指令有什么主要作用? 〔解答〕 伪指令语句与硬指令语句的本质区别是能不能产生CPU动作; 伪指令的作用是完成对如存储模式、主存变量、子程序、宏及段定义等很多不产生CPU动作的说明,并在程序执行前由汇编程序完成处理。 〔习题3.2〕什么是标识符,汇编程序中标识符怎样组成? 〔解答〕 为了某种需要,每种程序语言都规定了在程序里如何描述名字,程序语言的名字通常被称为标识符; 汇编语言中的标识符一般最多由31个字母、数字及规定的特殊符号(如-,$,?,@)组成,不能以数字开头。 〔习题3.3〕什么是保留字,汇编语言的保留字有哪些类型,并举例说明。 〔解答 保留字是在每种语言中规定了有特殊意义和功能的不允许再做其它用处的字符串;汇编语言的保留字主要有硬指令助记、伪指令助记符、运算符、寄存器名以及预定义符号等。汇编语言对大小写不敏感。如定义字节数和字符串的DB就是伪指令助记符。 〔习题3.4〕汇编语句有哪两种,每个语句由哪4个部分组成? 〔解答〕 汇编语句有执行性语句和说明性语句; 执行性语句由标号、硬指令助记符、操作数和注释四部分组成; 说明性语句由名字、伪指令助记符、参数和注释四部分组成 〔习题3.5〕汇编语言程序的开发有哪4个步骤,分别利用什么程序完成、产生什么输出文件。 〔解答〕 ⒈编辑文本编辑程序汇编语言源程序.asm ⒉汇编汇编程序目标模块文件.obj ⒊连接连接程序可执行文件.exe或.com

⒋调试调试程序应用程序 〔习题3.6〕区分下列概念: (1)变量和标号 (2)数值表达式和地址表达式 (3)符号常量和字符串常量 〔解答〕 (1)变量是在程序运行过程中,其值可以被改变的量;标号是由用户自定义的标识符,指向存储单元,表示其存储内容的逻辑地址。 (2)数值表达式一般是由运算符连接的各种常数所构成的表达式,地址表达式是由名字、标号以及利用各种的操作符形成的表达式。 (3)在程序中,为了使常量更便于使用和阅读,经常将一些常量用常量定义语句定义为符号常量,被一对双引号括起来的若干个字符组成的字符序列被称为字符串常量。 〔习题3.7〕假设myword是一个字变量,mybyte1和mybyte2是两个字节变量,指出下列语句中的错误原因。 (1)mov byte ptr [bx],1000 (2)mov bx,offset myword[si] (3)cmp mybyte1,mybyte2 (4)mov al,mybyte1+mybyte2 (5)sub al,myword (6)jnz myword 〔解答〕 (1)1000超出了一个字节范围 (2)寄存器的值只有程序执行时才能确定,而offset是汇编过程计算的偏移地址,故无法确定,改为lea bx,myword[si] (3)两个都是存储单元,指令不允许 (4)变量值只有执行时才确定,汇编过程不能计算 (5)字节量AL与字量myword,类型不匹配 (6)Jcc指令只有相对寻址方式,不支持间接寻址方式 〔习题3.8〕OPR1是一个常量,问下列语句中两个AND操作有什么区别? AND AL,OPR1 AND 0feh 〔解答〕

相关文档
最新文档