华中科技大学汇编实验报告-推荐下载
8份华中科技大学检测技术实验报告

编者寄语内含8篇华中科技大学检测技术实验报告,基本涵盖各个实验。
其中最后一篇含有书上的各种设计性实验,可供大家参考。
华科的孩子,没事偷着乐吧。
电气学科大类《信号与控制综合实验》实验报告(基本实验一:检测技术基本实验)姓名学号专业班号指导教师日期实验成绩评阅人实验二十二差动变压器的标定一、实验目的通过实验学习差动变压测试系统的组成和标定方法。
二、实验原理差动变压器由衔铁、初级线圈、次级线圈和线圈骨架等组成。
初级线圈作为差动变压器激励用,相当于变压器的原边;次级线圈由两个结构尺寸和参数相同的相同线圈反相串接而成,相当于变压器的副边。
差动变压器是开磁路,工作是建立在互感基础上。
由于零残电压的存在会造成差动变压器零点附近的不灵敏区,电压经过放大器会使放大器末级趋向饱和,影响电路正常关系,因此必须采用适当的方法进行补偿。
零残电压中主要包含两种波形成份:1、基波分量:这是由于差动变压器两个次级绕组因材料或工艺差异造成等效电路参数(M、L、R)不同,线圈中的铜损电阻及导磁材料的铁损,线圈中线间电容的存在,都使得激励电流与所产生的磁通不同相。
2、高次谐波:主要是由导磁材料磁化曲线非线性引起,由于磁滞损耗和铁磁饱和的影响,使激励电流与磁通波形不一致,产生了非正弦波(主要是三次谐波)磁通,从而在二次绕组中感应处非正弦波的电动势。
减少零残电压的办法有:1、从设计和工艺制作上尽量保证线路和磁路的对程;2、采用相敏检波电路;3、选用补偿电路。
相敏检波器工作原理:相敏检波电路如图所示,图○1为输入信号端,○2为交流参考电压输入端,○3为输出端。
○4为直流参考电压输入端。
⑤、⑥为整形电路将正弦信号转换成的方波信号,使相敏检波器中的电子开关正常工作。
当○2、○4端输入控制电压信号时,通过差动放大器的作用使D和J处于开关状态,从而把○1端输入的正弦信号转换成半波整流信号。
相敏检波器原理图三、实验所需部件差动变压器、音频振荡器、电桥、差动放大器、移相器、相敏检波器、低通滤波器、电压表、示波器、测微仪四、实验步骤(一)了解相敏检波器工作原理1.调节音频振荡器输出频率为5KHZ,输出幅值2V,将音频振荡器00端接相敏检波器的输入端①,相敏检波器的输出端③与低通滤波器的输入端连接,低通滤波器的输出端接数字电压表2V。
华中科技大学电力系统综合实验报告

电力系统综合实验报告第一部分综合实验台1、实验目的通过实验加深对电力系统暂态稳定性内容的理解,在对不同类型短路数据的分析中锻炼独立思考的能力,进一步了解不同短路故障对电力系统的危害。
实验方式为在理想实验台上模拟最简单的电力系统暂态稳定性问题,以期巩固学生在前一阶段的学习中对相关内容的掌握。
2、实验原理与接线电力系统中不同类型的短路故障引起的最大短路电流可由下式得到,推导过程可参见《电力系统分析》一书相关章节内容。
单相接地短路:I f=3E aj(X ff1+X ff2+X ff0)两相相间短路:I f=√3E aj(X ff1+X ff2)两相接地短路:I f=√3√1−X ff2//X ff0X ff2+X ff0•E aj(X ff1+X ff2//X ff0)三相对称短路:I f=E aj(X ff1)如下图1实验接线模拟了单机无穷大系统。
图1单机无穷大系统3、实验结果与数据分析⑴、不同故障类型对短路电流影响在下表中根据QF1~QF6的开断来选择单机无穷大系统的运行方式。
XL1接入双回线运行、XL2接入双回线运行。
表格 1 短路切除时间0.5s单相接地短路实验数据根据以上表格得出以下结论:1)在各种不同类型的短路中,系统以双回线运行时短路电流较系统单回线运行时短路电流更大,与序网分析结果一致。
2)在各种不同类型的短路中,XL1接入时短路电流相对XL2接入时短路电流更小,以单相短路为例进行分析,可知接入XL阻抗越小,短路电流越大。
判断实验台设置中XL1大于XL2。
3)对比各组实验数据,发现短路电流大小在不同短路类型中呈现有以下关系。
两相相间短路>两相接地短路>三相接地短路>单相接地短路根据相关实验原理分析,由于X ff1≈X ff2≫X ff0,一般有三相接地短路>两相接地短路>单相接地短路>两相相间短路。
实验台中元件参数不可测量,经分析判断本次实验中负序阻抗偏小导致了两相短路电流偏大的现象发生。
华科模具实验报告(3篇)

第1篇实验日期:2021年10月25日实验地点:华中科技大学模具实验室实验人员:张三、李四、王五指导教师:赵老师一、实验目的1. 了解模具的基本结构、工作原理和设计方法。
2. 掌握模具零件的加工工艺和加工方法。
3. 培养学生的实际操作能力和创新思维。
二、实验原理模具是用于将金属材料或其他材料塑造成所需形状的工具。
本实验以塑料模具为例,介绍模具的基本结构、工作原理和设计方法。
三、实验内容及步骤1. 模具结构分析(1)模具的基本结构:模具由模腔、模架、导向装置、冷却系统、加热系统、顶出装置等部分组成。
(2)模腔:模腔是模具的核心部分,用于成型塑料制品。
本实验中,模腔采用热流道设计。
(3)模架:模架是模具的骨架,用于支撑模腔和其他部件。
(4)导向装置:导向装置用于保证模具在成型过程中各部件的相对位置准确。
(5)冷却系统:冷却系统用于降低模具温度,提高成型速度和产品质量。
(6)加热系统:加热系统用于提高塑料熔体的流动性,提高成型质量。
(7)顶出装置:顶出装置用于将成型好的塑料制品从模腔中顶出。
2. 模具零件加工工艺(1)模具零件的加工方法:本实验采用数控机床加工模具零件。
(2)加工工艺:模具零件加工工艺包括粗加工、半精加工、精加工和光整加工。
3. 实验步骤(1)根据模具设计图纸,确定模具零件的加工工艺和加工方法。
(2)在数控机床上进行模具零件的加工,包括粗加工、半精加工、精加工和光整加工。
(3)加工完成后,对模具零件进行检验,确保其尺寸和形状符合设计要求。
(4)将加工好的模具零件组装成模具,进行试模。
(5)根据试模结果,对模具进行调整,直至达到设计要求。
四、实验结果与分析1. 实验结果通过实验,成功加工出符合设计要求的模具零件,并组装成模具。
在试模过程中,产品成型质量良好,符合设计要求。
2. 分析(1)在模具零件加工过程中,严格按照加工工艺进行操作,确保加工精度。
(2)在模具组装过程中,注意各部件的相对位置,保证模具的装配精度。
华中科技大学数据结构实验报告

课程实验报告课程名称:数据结构实验专业班级:信息安全201502学号:姓名:指导教师:报告日期:2016年10月28 日计算机科学与技术学院目录1基于顺序存储结构的线性表实现 (1)1.1问题描述 (1)1.2系统设计 (3)1.3系统实现 (7)1.4实验小结 (16)2 基于二叉链表的二叉树实现 (17)2.1问题描述 (17)2.2系统设计 (20)2.3系统实现 (23)2.4实验小结 (40)指导教师评定意见 (42)附录A 基于顺序存储结构线性表实现的源程序 (44)附录B 基于二叉链表二叉树实现的源程序 (52)1 基于顺序存储结构的线性表实现1.1 问题描述采用顺序表的物理结构,构造一个具有菜单的功能演示系统。
其中,在主程序中完成函数调用所需实参值的准备和函数执行结果的显示。
定义了线性表的初始化表、销毁表、清空表、判定空表、求表长和获得元素等基本运算对应的函数,并给出适当的操作提示显示,可选择以文件的形式进行存储和加载,即将生成的线性表存入到相应的文件中,也可以从文件中获取线性表进行操作。
1.1.1 线性表的基本概念线性表是最常用且最简单的一种数据结构,即n个数据元素的有限序列。
线性表中元素的个数n定义为线性表的长度,n=0时成为空表。
在非空表中的每个数据元素都有一个确定的位置,如a1是第一个数据元素,an是最后一个数据元素,ai是第i个数据元素。
线性表的存储结构分为线性存储和链式存储。
1.1.2 逻辑结构与基本运算线性表的数据逻辑结构定义如下:ADT List{数据对象:D={ai|ai∈ElemSet,i=1,2,……,n,n≥0}数据关系:R1={ <ai-1,ai> | ai-1,ai∈D,i=2,……,n}}依据最小完备性和常用性相结合的原则,以函数形式定义了包括线性表的初始化表、加载表、保存表、销毁表、清空表、判定空表、求表长、获得元素、查找元素、获得前驱、获得后继、插入元素、删除元素、遍历表 14 个基本运算,要求分别定义函数来实现上述功能,具体功能运算如下:⑴初始化表:函数名称是InitaList(L);初始条件是线性表L不存在已存在;操作结果是构造一个空的线性表。
华中科技大学汇编实验报告-推荐下载

课程实验报告课程名称:汇编语言程序设计实验实验名称:实验一简单程序设计 TD的使用实验时间: 2016-3-22,14:00-17:30 实验地点:南一楼804室74号实验台指导教师:张勇专业班级:计算机科学与技术201409班学号:U201414813 姓名:唐礼威同组学生:无报告日期:2016年 3 月23日原创性声明本人郑重声明:本报告的内容由本人独立完成,有关观点、方法、数据和文献等的引用已经在文中指出。
除文中已经注明引用的内容外,本报告不包含任何其他个人或集体已经公开发表的作品或成果,不存在剽窃、抄袭行为。
特此声明!学生签名:日期:成绩评定实验完成质量得分(70分)(实验步骤清晰详细深入,实验记录真实完整等)报告撰写质量得分(30分)(报告规范、完整、通顺、详实等)总成绩(100分)指导教师签字:日期:查和对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查,并中资试卷目录1实验目的与要求 (1)2实验内容 (1)3实验过程 (2)3.1任务1 (2)3.1.1设计思想及存储单元分配 (2)3.1.2流程图 (2)3.1.3源程序 (2)3.1.4实验步骤 (2)3.1.5实验记录 (2)3.2任务2 (4)3.2.1设计思想及存储单元分配 (4)3.2.2流程图 (4)3.2.3源程序 (4)3.2.4实验步骤 (4)3.2.5实验记录 (4)3.3任务3 (6)3.3.1设计思想及存储单元分配 (6)3.3.2流程图 (6)3.3.3源程序 (6)3.3.4实验步骤 (7)3.3.5实验记录 (7)4体会 (7)参考文献 (8)1实验目的与要求掌握汇编源程序编译工具、汇编程序、连接程序、调试工具的使用;理解数、符号、寻址方式等在计算机内的表现形式;理解指令执行与标志位之间的关系;熟悉常用的DOS功能调用。
2实验内容任务1. 《80X86汇编语言程序设计》教材中P31的1.14题。
华科操作系统实验报告

华科操作系统实验报告一、实验目的操作系统是计算机系统的核心组成部分,对于理解计算机的工作原理和提高计算机应用能力具有重要意义。
本次华科操作系统实验的主要目的是通过实际操作和实践,深入理解操作系统的基本概念、原理和功能,掌握操作系统的核心技术和应用方法,提高我们的实践能力和问题解决能力。
二、实验环境本次实验使用的操作系统为Windows 10 和Linux(Ubuntu 2004),开发工具包括 Visual Studio Code、GCC 编译器等。
实验硬件环境为个人计算机,配置为英特尔酷睿 i7 处理器、16GB 内存、512GB 固态硬盘。
三、实验内容1、进程管理进程创建与销毁进程调度算法模拟进程同步与互斥2、内存管理内存分配与回收算法实现虚拟内存管理3、文件系统文件操作与管理文件系统的实现与优化4、设备管理设备驱动程序编写设备分配与回收四、实验步骤及结果1、进程管理实验进程创建与销毁首先,使用 C 语言编写程序,通过系统调用创建新的进程。
在程序中,使用 fork()函数创建子进程,并在子进程和父进程中分别输出不同的信息,以验证进程的创建和执行。
实验结果表明,子进程和父进程能够独立运行,并输出相应的信息。
进程调度算法模拟实现了先来先服务(FCFS)、短作业优先(SJF)和时间片轮转(RR)三种进程调度算法。
通过模拟多个进程的到达时间、服务时间和优先级等参数,计算不同调度算法下的平均周转时间和平均等待时间。
实验结果显示,SJF 算法在平均周转时间和平均等待时间方面表现较好,而 RR 算法能够提供较好的响应时间和公平性。
进程同步与互斥使用信号量和互斥锁实现了进程的同步与互斥。
编写了生产者消费者问题的程序,通过信号量控制生产者和消费者对缓冲区的访问,避免了数据竞争和不一致的情况。
实验结果表明,信号量和互斥锁能够有效地实现进程间的同步与互斥,保证程序的正确性。
2、内存管理实验内存分配与回收算法实现实现了首次适应(First Fit)、最佳适应(Best Fit)和最坏适应(Worst Fit)三种内存分配算法。
华科汇编第一次实验报告
汇编实验报告姓名:班级:CS1209 学号:一、实验目的(1) 掌握汇编源程序开发的过程:编译、汇编MASM、连接LINK、用TD调试。
(2)编写简单的汇编代码,加强对汇编语言的理解。
二、实验内容及要求(1)、《80X86汇编语言程序设计》P299中的程序实例。
要求:重复7.4.3节中的整个过程,初步掌握TD的使用方法。
(2)、《80X86汇编语言程序设计》P31中的1.14题。
要求:直接在TD中输入指令进行求和(如MOV AH, x1、MOV AL, x2、ADD AH, AL),记录执行指令后标志位SF、OF、CF、ZF的值(验证自己的作业情况)。
(3)、编写程序缓冲区BUF中有若干个有符号短整数(2个字节),找出其中的绝对值最大的数并存放到变量RESULT中。
要求:在BUF中定义不同的正负数,用TD查看变量RESULT的值是否正确。
三、实验步骤题目一,从键盘中输入一个字符,若该字符为‘1’,则在下一行输出字符串‘11111111111!’后返回DOS;若该字符为‘2’,则在下一行输出字符串‘22222222222!‘后返回DOS;若该字符为其他字符,则在下一行输出字符串’Other Character’后返回DOS。
通过TD调试找出下面代码的错误并改正。
1、用记事本建立汇编源程序文件WAN.ASM.386STACK SEGMENT USE16 STACKDB 200 DUP(0)STACK ENDSDATA SEGMENT USE16BUF1 DB 0AH,0DH,'1111111111! $'BUF2 DB 0AH,0DH,'2222222222! $'BUF3 DB 0AH,0DH,'Other Character!',0AH,0DHDATA ENDSCODE SEGMENT USE16ASSUME DS:DATA,CS:CODE,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AH,1INT 21H ;等待从键盘输入一个字符CMP AL,'1'JE A1CMP AL,'2'JE A2JMP A3A1: LEA DX,BUF1MOV AH,9INT 21HA2: LEA DX,BUF2MOV AH,9INT 21HA3: LEA DX,BUF3MOV AH,9INT 21HEXIT: MOV AH,4CHINT 21HCODE ENDSEND START2.编译连接该程序3.运行程序中出现了如下问题。
华中科技大学电力系统综合实验报告汇编
电力系统综合实验报告第一部分综合实验台1、实验目的通过实验加深对电力系统暂态稳定性内容的理解,在对不同类型短路数据的分析中锻炼独立思考的能力,进一步了解不同短路故障对电力系统的危害。
实验方式为在理想实验台上模拟最简单的电力系统暂态稳定性问题,以期巩固学生在前一阶段的学习中对相关内容的掌握。
2、实验原理与接线电力系统中不同类型的短路故障引起的最大短路电流可由下式得到,推导过程可参见《电力系统分析》一书相关章节内容。
单相接地短路:两相相间短路:两相接地短路:三相对称短路:如下图1实验接线模拟了单机无穷大系统。
图1单机无穷大系统3、实验结果与数据分析⑴、不同故障类型对短路电流影响在下表中根据QF1~QF6的开断来选择单机无穷大系统的运行方式。
XL1接入双回线运行、XL2接入双回线运行。
表格 1 短路切除时间0.5s单相接地短路实验数据表格 3 短路切除时间0.5s两相接地短路实验数据根据以上表格得出以下结论:1)在各种不同类型的短路中,系统以双回线运行时短路电流较系统单回线运行时短路电流更大,与序网分析结果一致。
2)在各种不同类型的短路中,XL1接入时短路电流相对XL2接入时短路电流更小,以单相短路为例进行分析,可知接入XL阻抗越小,短路电流越大。
判断实验台设置中XL1大于XL2。
3)对比各组实验数据,发现短路电流大小在不同短路类型中呈现有以下关系。
两相相间短路两相接地短路三相接地短路单相接地短路根据相关实验原理分析,由于,一般有三相接地短路两相接地短路单相接地短路两相相间短路。
实验台中元件参数不可测量,经分析判断本次实验中负序阻抗偏小导致了两相短路电流偏大的现象发生。
4)小组实验中发现通过实验台面板调节似乎无法改变内部默认参数,继电器动作阈值无法重新整定,动作电流始终为5A,导致实验中多次出现未按预期跳闸的现象发生。
可能因为设备老化或内部模块未连接。
⑵、不同故障切除时间对短路电流影响表格 5 不同短路切除时间最大短路电流记录由I第二部分 动模实验记录的量:故障线路首端和末端电压电流(6个波形)电压电流的测量可以通过电压电流表计模型测量,也可以通过断路器和节点测量。
华中科技大学汇编实验报告2
课程实验报告课程名称:汇编语言程序设计实验实验名称:实验二分支程序、循环程序的设计实验时间: 2016-3-29,14:00-17:30 实验地点:南一楼804室63号实验台指导教师:张勇专业班级:计算机科学与技术201409班学号: U201414813 姓名:唐礼威同组学生:无报告日期: 2016年 3 月 30日原创性声明本人郑重声明:本报告的内容由本人独立完成,有关观点、方法、数据和文献等的引用已经在文中指出。
除文中已经注明引用的内容外,本报告不包含任何其他个人或集体已经公开发表的作品或成果,不存在剽窃、抄袭行为。
特此声明!学生签名:日期:成绩评定指导教师签字:日期:目录1实验目的与要求 (1)2实验内容 (1)3实验过程 (2)3.1任务1 (2)3.1.1设计思想及存储单元分配 (2)3.1.2流程图 (3)3.1.3源程序 (3)3.1.4实验步骤 (6)3.1.5实验记录 (7)4体会 (8)参考文献 (9)1实验目的与要求1、熟悉分支、循环程序的结构及控制方法,掌握分支、循环程序的调试方法;2、加深对转移指令及一些常用的汇编指令的理解;3、加深对常用DOS功能调用指令的理解,进一步熟悉TD的使用。
2实验内容设计实现一个学生成绩查询的程序。
1、实验背景在以BUF为首址的字节数据存储区中,存放着n个学生的课程成绩表(百分制),每个学生的相关信息包括:姓名(占10个字节,结束符为数值0),语文成绩(1个字节),数学成绩(1个字节),英语成绩(1个字节),平均成绩(1个字节)。
例如:N EQU 1000BUF DB ‘zhangsan’,0,0 ;学生姓名,不足10个字节的部分用0填充DB 100, 85, 80,? ; 平均成绩还未计算DB ‘lisi’,6 DUP(0)DB 80, 100, 70,?DB N-3 DUP( ‘TempValue’,0,80,90,95,?) ;除了3个已经具体定义了学生信息的成绩表以外,其他学生的信息暂时假定为一样的。
华中科技大学汇编实验报告6
华中科技大学汇编实验报告6————————————————————————————————作者:————————————————————————————————日期:ﻩ课程实验报告课程名称:汇编语言程序设计实验实验名称:实验六输入输出与中断处理程序设计实验时间: 2016-4-26,14:00-17:30实验地点:南一楼804室74号实验台指导教师:张勇专业班级:计算机科学与技术201409班学号: U201414813姓名:唐礼威同组学生:无报告日期:2016年 5 月2日原创性声明本人郑重声明:本报告的内容由本人独立完成,有关观点、方法、数据和文献等的引用已经在文中指出。
除文中已经注明引用的内容外,本报告不包含任何其他个人或集体已经公开发表的作品或成果,不存在剽窃、抄袭行为。
特此声明!学生签名:日期:成绩评定实验完成质量得分(70分)(实验步骤清晰详细深入,实验记录真实完整等)报告撰写质量得分(30分)(报告规范、完整、通顺、详实等)总成绩(100分) 指导教师签字:日期:ﻬ目录1ﻩ实验目的与要求 (1)2实验内容ﻩ13实验过程2ﻩ3.1任务12ﻩ3.1.1ﻩ设计思想及存储单元分配........................................................... 错误!未定义书签。
3.1.2ﻩ流程图..................................................................................................................... 23.1.3ﻩ源程序2ﻩ3.1.4实验步骤 (3)3.1.5实验记录3ﻩ3.2ﻩ任务2.................................................................................................. 错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程实验报告课程名称:汇编语言程序设计实验实验名称:实验一简单程序设计 TD的使用实验时间: 2016-3-22,14:00-17:30 实验地点:南一楼804室74号实验台指导教师:张勇专业班级:计算机科学与技术201409班学号:U201414813 姓名:唐礼威同组学生:无报告日期:2016年 3 月23日原创性声明本人郑重声明:本报告的内容由本人独立完成,有关观点、方法、数据和文献等的引用已经在文中指出。
除文中已经注明引用的内容外,本报告不包含任何其他个人或集体已经公开发表的作品或成果,不存在剽窃、抄袭行为。
特此声明!学生签名:日期:成绩评定实验完成质量得分(70分)(实验步骤清晰详细深入,实验记录真实完整等)报告撰写质量得分(30分)(报告规范、完整、通顺、详实等)总成绩(100分)指导教师签字:日期:查和对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查,并中资试卷目录1实验目的与要求 (1)2实验内容 (1)3实验过程 (2)3.1任务1 (2)3.1.1设计思想及存储单元分配 (2)3.1.2流程图 (2)3.1.3源程序 (2)3.1.4实验步骤 (2)3.1.5实验记录 (2)3.2任务2 (4)3.2.1设计思想及存储单元分配 (4)3.2.2流程图 (4)3.2.3源程序 (4)3.2.4实验步骤 (4)3.2.5实验记录 (4)3.3任务3 (6)3.3.1设计思想及存储单元分配 (6)3.3.2流程图 (6)3.3.3源程序 (6)3.3.4实验步骤 (7)3.3.5实验记录 (7)4体会 (7)参考文献 (8)1实验目的与要求掌握汇编源程序编译工具、汇编程序、连接程序、调试工具的使用;理解数、符号、寻址方式等在计算机内的表现形式;理解指令执行与标志位之间的关系;熟悉常用的DOS功能调用。
2实验内容任务1. 《80X86汇编语言程序设计》教材中P31的1.14题。
要求:(1) 直接在TD中输入指令,完成两个数的求和、求差的功能(可以省略实验报告中的程序框图)。
求和/差后的结果放在(AH)中。
(2) 请事先指出执行指令后(AH)、标志位SF、OF、CF、ZF的内容。
(3) 记录上机执行后的结果,与(2)中对应的内容比较。
(4)求差运算中,若将A、B视为有符号数,且A>B, 标志位有何特点?若将A、B视为无符号数,且A>B, 标志位又有何特点?任务2. 《80X86汇编语言程序设计》教材中P45的2.3题。
要求:(1)可以省略实验报告中的程序框图和源程序。
(2)分别记录执行到“MOV CX,10”和“INT 21H”之前的(BX), (BP),(SI),(DI)各是多少。
(3)记录程序执行到退出之前数据段开始40个字节的内容,指出程序运行结果是否与设想的一致。
(4)在标号LOPA前加上一段程序,实现新的功能:先显示提示信息“Press anykey to begin!”, 然后,在按了一个键之后继续执行LOPA处的程序。
任务3. 《80X86汇编语言程序设计》教材中P45的2.4题的改写。
要求:(1) 实现的功能不变,对数据段中变量访问时所用到的寻址方式中的寄存器改成32位寄存器。
(2) 内存单元中数据的访问采用变址寻址方式。
(3) 记录程序执行到退出之前数据段开始40个字节的内容,检查程序运行结果是否与设想的一致。
(4)在TD代码窗口中观察并记录机器指令代码在内存中的存放形式,并与TD 中提供的反汇编语句及自己编写的源程序语句进行对照,也与任务2做对比。
(相似语句记录一条即可,重点理解机器码与汇编语句的对应关系,尤其注意操作数寻址方式的形式)。
(5)观察连续存放的二进制串在反汇编成汇编语言语句时,从不同字节位置开始反汇编,结果怎样?理解IP/EIP指明指令起始位置的重要性3实验过程3.1任务13.1.1设计思想及存储单元分配寄存器分配:一个AH,运算后的结果存储在AH中。
3.1.2流程图无3.1.3源程序无3.1.4实验步骤1. 使用编辑程序EDIT.EXE录入源程序,存盘文件名为CUBE.ASM。
2. 使用MASM5.0或6.0汇编源文件。
即MASM CUBE;3. 观察提示信息,若出错,则用编辑程序修改错误,存盘后重新汇编,直至不再报错为止。
4. 使用连接程序LINK.EXE将汇编生成的CUBE.OBJ文件连接成执行文件。
即LINK CUBE;5. 若连接时报错,则依照错误信息修改源程序。
之后重新汇编和连接,直至不再报错并生成CUBE.EXE文件。
6. 执行该程序。
即在命令行提示符后输入CUBE后回车,观察执行现象。
3.1.5实验记录(包括实验条件、输入/输出、错误和修改等信息的记录)1、实验环境条件:P3 1GHz,256M内存;WINDOWS 2000命令行窗口;EDIT.EXE2.0;MASM.EXE 6.0;LINK.EXE 5.2; TD.EXE 5.0。
2、求和运算:mov ah,00110011badd ah,01011010b执行前:在add ah ,01011010b 下一句设一断点,运行至断点停止执行后:分析结果:右边标志寄存器区o 变为1,说明有溢出,c 为0,说明没有进位3、求差运算:mov ah ,01100101badd ah ,10100011b执行后:分析结果:c 变为1,说明产生进位3.2任务23.2.1设计思想及存储单元分配用到4个数据段BUF1-BUF4,一开始用4个寄存器SI 、DI 、BX 、BP 依次存储BUF 第一个值,到后面用循环给BUF1-BUF4空间赋以不同的值。
3.2.2流程图无3.2.3源程序无3.2.4实验步骤1. 使用编辑程序EDIT.EXE 录入源程序,存盘文件名为CUBE.ASM 。
2. 使用MASM5.0或6.0汇编源文件。
即MASM CUBE ;3. 观察提示信息,若出错,则用编辑程序修改错误,存盘后重新汇编,直至不再报错为止。
4. 使用连接程序LINK.EXE 将汇编生成的CUBE.OBJ 文件连接成执行文件。
即LINK CUBE ;5. 若连接时报错,则依照错误信息修改源程序。
之后重新汇编和连接,直至不再报错并生成CUBE.EXE 文件。
6. 执行该程序。
即在命令行提示符后输入CUBE 后回车,观察执行现象。
3.2.5实验记录1、按f8进行单步调试,直到光标移到“MOV CX ,10”Bx 变为0014,bp 变为001E ,si 为0000,di 变为000A在mov ah ,4c一行按下f2设置断点,按下f9,将运行至该行,再按下f8,执行至“INT21H ”之前Bx变为001E,bp变为0028,si为000A,di变为0014个字节的内容:2、记录程序执行到退出之前数据段开始400、1、2、3、4、5、6、7、8、91、2、3、4、5、6、7、8、9、104、5、6、7、8、9、10、11、12、13可见与预期结果相符。
3、在代码中改写:在数据段中加入BUF5 DB 0AH,0DH,’Press any key to begin!$’再在LOPA前加上LEA DX,BUF5MOV AH,9INT 21H实现9号功能调用,在屏幕输出字符串在LOPA前加上MOV AH,1INT 21H号功能调用,等待从键盘输入一个字符,一旦输入,继续程序执行,截图:实现13.3任务33.3.1设计思想及存储单元分配AL每循环一次+1,再赋给BUF[ESI]相应的值,寄存器CX来控制循环次数。
3.3.2流程图无3.3.3源程序.386STACK SEGMENT USE16 STACKDB 200 DUP(0)STACK ENDSDATA SEGMENT USE16BUF1 DB 0,1,2,3,4,5,6,7,8,9BUF2 DB 10 DUP(0)BUF3 DB 10 DUP(0)BUF4 DB 10 DUP(0)DATA ENDSCODE SEGMENT USE16ASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV ESI,0MOV CX,10LOPA: MOV AL,BUF1[ESI]MOV BUF2[ESI],ALINC ALMOV BUF3[ESI],ALADD AL,3MOV BUF4[ESI],ALINC ESIDEC CXJNZ LOPAMOV AH,4CHINT 21HCODE ENDSEND START3.3.4实验步骤1. 使用编辑程序EDIT.EXE录入源程序,存盘文件名为CUBE.ASM。
2. 使用MASM5.0或6.0汇编源文件。
即MASM CUBE;3. 观察提示信息,若出错,则用编辑程序修改错误,存盘后重新汇编,直至不再报错为止。
4. 使用连接程序LINK.EXE将汇编生成的CUBE.OBJ文件连接成执行文件。
即LINK CUBE;5. 若连接时报错,则依照错误信息修改源程序。
之后重新汇编和连接,直至不再报错并生成CUBE.EXE文件。
6. 执行该程序。
即在命令行提示符后输入CUBE后回车,观察执行现象。
3.3.5实验记录设断点在int 21那行,打开dump观察数据区的值如下:对比任务2中结果可知符合。
4体会这是汇编的第一次上机,总体来说比较顺利,因为在上机之前任务2和任务3的代码都早已写好,上机主要是熟悉编程和调试环境,学会如何将一个.asm文件编译成.obj文件,再将obj文件链接成一个exe文件,熟悉了td的环境及操作过程,对td的调试过程有一定的了解,主要是go to到指定的一行,和f2设置断点,以及单步执行,熟悉了td界面的各个区域及里面包含的内容,能够通过观察td里面的内容与代码联系起来分析。
总体来说,这次实验收获颇丰。
参考文献[1] 王元珍等.80x86汇编语言程序设计.版本(第1版)[2] 王晓虹等.汇编语言程序设计教程.版本(第1版)。