电子科技大学_汇编实验报告

电子科技大学_汇编实验报告
电子科技大学_汇编实验报告

电子科技大学计算机工程学院标准实验报告

(实验)课程名称

电子科技大学教务处制表

电子科技大学

实验报告

实验一

学生姓名:穆萨·图拉克学号:2012060090033 指导教师:

实验地点:主楼A2-412 实验时间:19:00~

一、实验室名称:

二、实验项目名称:汇编源程序的上机调试操作基础训练

三、实验学时:

四、实验原理:(包括知识点,电路图,流程图)

DEBUG 的基本调试命令;汇编数据传送和算术运算指令

MASM宏汇编开发环境使用调试方法

五、实验目的:

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

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

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

过程

六、实验内容:(介绍自己所选的实验内容)

1. DEBUG命令的使用

2. 程序的调试与运行

3. 编写程序计算以下表达式:Z=(5X+2Y-7)/2设X、Y的值放在字

变量V ARX、V ARY中,结果存放在字节单元V ARZ中。

七、实验器材(设备、元器件):

WinXP PC机,MASM,50 ,VisulASM软件平台。

八、实验步骤:(编辑调试的过程)

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

2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时继续第3步。

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

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

九、实验数据及结果分析:(实验运行结果介绍或者截图,对不同的结果进行分析)

程序说明:

功能:本程序完成Z=(5X+2Y-7)/2这个等式的计算结果求取。其中X 与Y是已知量,Z是待求量。

结构:首先定义数据段,两个DB变量VARX与VARY(已经初始化),

以及结果存放在VARZ,初始化为?。然后定义堆栈段,然后书写代码段,代码段使用顺序程序设计本程序,重点使用MOV和IMUL以及XOR,IDIV完成程序设计。

详细内容见程序注释。

程序清单:

DATA SEGMENT

VARX DB10

VARY DB10

VARZ DB?

DATA ENDS

STACK SEGMENT PARA STACK

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK

MAIN:

MOV AX,DATA

MOV DS,AX

MOV AL,VARX

MOV AH,VARY

SAL AL,1

SAL AL,1

ADD AL,VARX

SAL AH,1

ADD AL,AH

SUB AL,7

SAR AL,1

MOV VARZ,AL

MOV AH,4CH

INT21H

CODE ENDS

END MAIN

程序框图:

开始

AX与AX进行异或(置零)CX与CX进行异或(置零)

V ARX →AL

5 →CL

AL = AL * CL

AL →DL

AX与AX进行异或(置零)V ARY →AL

2 →CL

AL = AL * CL

AL + DL →AL

AL - 7 →AL

2 →CL

CL / 2 = CL

AL →V ARZ

结束

调试说明:

将汇编语言(.asm文件)通过masm命令转换为目标程序(.obj 文件),通过link命令转换为目标程序可执行程序(.exe文件); 这次试验还要用-p参数以及d参数

显示结果为:

十、实验结论:(联系理论知识进行说明)

通过本次实验,我们学习了解掌握了DEBUG 的基本命令及其功能,学习了数据传送和算术运算指令的用法,熟悉了在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。完成了Z = (5*X + 2*Y - 7)/ 2 算术式的编程计算,使用到了以上学习到的知识,并且利用了顺序程序设计的思想。通过本次实验,大大提升了对汇编程序设计这门课实践意义的理解,提高了编程能力和设计水平。

报告评分:指导教师签字:

电子科技大学

实验报告

实验二

学生姓名:穆萨·图拉克学号:2012060090033 指导教师:

实验地点:主楼A2-412 实验时间:19:00~

一、实验室名称:

二、实验项目名称:分支程序与循环程序设计

三、实验学时:

四、实验原理:(包括知识点,电路图,流程图)

分支程序设计基本规范与调试方法,

循环程序设计与调试方法;分配与使用寄存器的相关方法

五、实验目的:

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

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

3. 掌握循环程序设计与调试方法

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

六、实验内容:(介绍自己所选的实验内容)

1. 根据输入的字母进行大小写转换(若是输入小写字母则转换成为大写字母,反之),若输入的不是字母则提示出错并重新输入。

2. 从键盘上输入三个一位十进制数,将其中大于均值的数显示出来。

3. 显示九九表(任意形式均可)

4. 键盘输入1-7,对应输出Monday-Sunday。

七、实验器材(设备、元器件):

WinXP PC机,MASM,50 ,VisulASM软件平台。

八、实验步骤:(编辑调试的过程)

1. 编写源程序文件;

2. 汇编,若发现语法错误或者格式错误则修改;

3. 链接,形成可执行文件;

4. 运行程序,得到正确结果;

5. 撰写实验报告:

1)实验目的;

2)实验要求;

3)实验步骤;

4)实验中涉及知识介绍;

5)画出流程图;

6. 写出源程序清单,并附注释;

7. 写出调试过程及运行结果并分析;

8. 总结实验中遇到的问题及解决方法;

九、实验数据及结果分析:(实验运行结果介绍或者截图,对不同的结果进行分析)

程序说明:本程序完成求九九乘法表,就相当于C语言中用两个for循环

程序清单:

data SEGMENT

a DB1

b DB?

data ENDS

code SEGMENT

ASSUME CS:code,DS:data

main:

MOV AX,data;

MOV DS,AX

loop1: ;循环标志

MOV AL,a;

MOV CL,AL;

MOV b,1;

loop_in:

MOV AH,2;

OR b,30h;

MOV DL,b

INT21h

MOV DL,'*';

INT21h

OR a,30h;

MOV DL,a; ;a的或运算存放到DL中

MOV AH,2

INT21h

MOV DL,'=';

INT21h

SUB a,30h;

SUB b,30h;

MOV AL,a;a*

MOV BL,b;b

MUL BL ;a*b赋给BL寄存器

MOV BL,10;

DIV BL ;AL/BL %->ah,/->al

MOV BL,AH;

MOV AH,2

CMP AL,00h; ;AL的内容与0比较

JE loop2;

OR AL,30h;

MOV DL,AL

INT21H

loop2:

OR BL,30h;

MOV AH,2

MOV DL,BL

INT21h

MOV AH,2

MOV DL,' '

INT21h

INC b

LOOP loop_in ;跳转到loop_in标志位置

MOV AH,2

MOV DL,13

INT21h

MOV AH,2

MOV DL,10

INT21h

INC a

CMP a,10

JB loop1

MOV AH,4ch

INT21h

code ENDS

END main

程流程图:

调试说明:

将汇编语言(.asm文件)通过masm命令转换为目标程序(.obj 文件),通过link命令转换为目标程序可执行程序(.exe文件);

显示结果为:

十、实验结论:(联系理论知识进行说明)

通过本次实验,掌握了分支程序的结构特点,学习了分支程序的设计和调试方法,掌握了循环程序的结构特点并学习了循环程序的设计和调试方法,运用了循环程序设计的思想,本实验的原理框图较为复杂,但是框图给出了明确的思路和解题方向,是很好的学习方法。本次程序设计实验运用了数个跳转指令,JL ,JLE ,跳转指令在循环程序设计过程中具有很重要的特点。

报告评分:

指导教师签字:

电子科技大学

实验报告

实验三

学生姓名:穆萨·图拉克学号:2012060090033 指导教师:

实验地点:主楼A2-412 实验时间:19:00~

一、实验室名称:

二、实验项目名称:数制、码制和子程序的编程与调试

三、实验学时:

四、实验原理:(包括知识点,电路图,流程图)

数制、码制和子程序设计基本规范与调试方法;

MASM宏汇编开发环境使用方法;

循环程序设计与调试方法;

分配与使用寄存器的相关方法

五、实验目的:

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

2. 熟练使用DEBUG调试程序。

3. 掌握十六进制数与ASCII码之间,ASCII码与BCD码之间的转

换。

4. 掌握用DOS功能调用,实现字符的输入和显示。

5. 掌握子程序的编程与调试方法。

六、实验内容:(介绍自己所选的实验内容)

1、从键盘输入两个2位十进制正数,相加,结果以十六进制数形

式显示在屏幕上。(要求结果显示完整的算式)

2、从键盘输入两个2位十进制正数转换成组合BCD码后,相加,

结果以十进制形式显示在屏幕上。(要求结果显示完整的算式)

3、从键盘输入两个2位十六进制数,相加,结果以十进制形式显

示在屏幕上。(要求结果显示完整的算式)

七、实验器材(设备、元器件):

WinXP PC机,MASM,50 ,VisulASM软件平台。

八、实验步骤:(编辑调试的过程)

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

2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到

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

3、写出源程序清单(含注解)和执行结果(截图)。

4、画出对应的流程图

九、实验数据及结果分析:(实验运行结果介绍或者截图,对不同的结果进行分析)

程序说明:本实验输入两个子程序,一个是将十六进制数转换成二进制数的子程序,还有就是讲二进制数转换为十进制数的。在程序运行的时候我们首先输入两个十六进制数,然后分别转换为二进制数(利用子程序)之后加法计算出二进制结果然后我们再利用子程序B 转出十进制最终结果。

程序清单:

DATA SEGMENT

MSG1 DB13,10,'Please input hex number_1: $';输入提示字符串

MSG2 DB13,10,'Please input hex number_2: $';输入提示字符串

CRLF DB13,10,'$'

NN DB?,?

MM DB?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV AX, DATA

MOV DS,AX

LEA DX, MSG1

MOV AH,9

INT21H

CALL IN_CHAR ;调用IN_CHAR

MOV MM,AL

LEA DX, MSG2 ;

MOV AH,9

INT21H ;返回DOS

CALL IN_CHAR

MOV NN,AL

LEA DX, CRLF

MOV AH,9

INT21H

MOV AL, MM

CALL OUT_NUM

MOV DL,'+'

MOV AH,2

INT21H

MOV AL, NN

CALL OUT_NUM

MOV DL,'='

MOV AH,2

INT21H

MOV AL, NN

ADD AL, MM ;MN与NN相加

MOV AH,0

ADC AH,0 ;带进位的相加

CALL OUT_1

EXIT:

MOV AH,4CH

INT21H;返回DOS

IN_CHAR:

LEA BX, NN

MOV CX,2

IN_1:

MOV AH,1;调用1号功能,键盘输入数据INT21H

CMP AL,'0';判断位变量转移

JB IN_1

CMP AL,'F'

JA IN_1

CMP AL,'9'

JBE LNUM

CMP AL,'A'

JB IN_1

SUB AL,7

LNUM:

SUB AL,30H

MOV[BX],AL

INC BX

LOOP IN_1

XCHG AL, NN

MOV BL,16

MUL BL

ADD AL, NN

RET

OUT_NUM:

MOV AH,0;存放计算结果

OUT_1:

MOV DX,0

程序框图:

调试说明:

将汇编语言(.asm文件)通过masm命令转换为目标程序(.obj 文件),通过link命令转换为目标程序可执行程序(.exe文件); 显示结果为:

十、实验结论:(联系理论知识进行说明)

本实验完成了数制,码制子程序调试设计及其应用程序的设计与调试运行实验,学习了汇编语言程序设计过程中的数据输入方法和字符串存储特点,以及利用码制转换将两个十六进制数相加并以十进制形式输出。

报告评分:

指导教师签字:

电子科技大学

实验报告

实验四

学生姓名:穆萨·图拉克学号:2012060090033 指导教师:

实验地点:主楼A2-412 实验时间:19:00~

一、实验室名称:串操作指令及其应用程序的设计与调试运行

二、实验项目名称:

三、实验学时:

四、实验原理:(包括知识点,电路图,流程图)

串操作程序设计基本规范与调试方法;

MASM宏汇编开发环境使用方法

循环程序设计与调试方法;分配与使用寄存器的相关方法五、实验目的:

汇编实验报告(详细版)

计算机组成与汇编语言(实验报告) 内容: 实验一、六、七、八 院系专业:计算机学院计算机科学与技术 姓名:xxxxxxxxx 学号: 2011004xxxxx 完成时间:2012年12月1日

计算机组成与汇编语言实验报告 姓名xxxx 学号2011004xxxxx 计分 专业软件工程班级xxxx 实验日期2012年 12 月 1日实验名称实验一数制转换 实验目的 ●熟悉各种进制数据之间的相互转换方法。 ●掌握二-十进制数据的相互转换程序设计。 实验内容 1.将编写好的程序1输入、编译、连接并运行。 程序1清单 #include #include #include void main() { int i,l,s0=0,s=0; char a[17]; while(l!=16) { printf("请输入一个16位的二进制数:\n"); gets(a); l=strlen(a); for(i=0;i<16;i++) { if(a[i]!='0'&&a[i]!='1') {

printf("输入的二进制数不正确!!"); break; } } } if(a[15]=='1') s++; for(i=1;i<16;i++) { if(a[15-i]=='1') s+=(1<

说明:如果不是16位二进制则会提示错误。 2.将编写好的程序2输入、编译、连接并运行。 程序2清单 #include #include void main() { int t0,t1,t2,t3,i,j; int a[16]; printf("请输入一个十进制数:"); scanf("%d",&t0); t1=t0; for(i=0;i<16;i++) { t2=t1/2; if(t2>1) a[i]=t1%2; else if(t1==1) { a[0]=1; for(i=1;i<16;i++) a[i]=0; } else if(t1==2) { a[i]=0; a[i+1]=1; for(j=i+2;j<16;j++)

电子科技大学 汇编 实验报告

计算机专业类课程 实 验 报 告 课程名称:汇编语言程序设计 学院:计算机科学与工程 专业:计算机科学与技术 学生姓名:郭小明 学号:2011060100010 日期:2013年12月24日

电子科技大学 实验报告 实验一 学生姓名:郭小明学号:2011060100010 一、实验室名称:主楼A2-412 二、实验项目名称:汇编源程序的上机调试操作基础训练 三、实验原理: DEBUG 的基本调试命令;汇编数据传送和算术运算指令 MASM宏汇编开发环境使用调试方法 四、实验目的: 1. 掌握DEBUG 的基本命令及其功能 2. 学习数据传送和算术运算指令的用法 3.熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程五、实验内容: 编写程序计算以下表达式: Z=(5X+2Y-7)/2 设X、Y的值放在字节变量VARX、VARY中,结果存放在字节单元VARZ中。 1.编辑源程序,建立一个以后缀为.ASM的文件. 2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时继续第3步。 3.连接目标程序,产生可执行程序。

4.用DEBUG程序调试可执行程序,记录数据段的内容。 六、实验器材(设备、元器件): PC机,MASM软件平台。 七、实验数据及结果分析: 程序说明: 功能:本程序完成Z=(5X+2Y-7)/2这个等式的计算结果求取。其中X 与Y 是已知量,Z是待求量。 结构:首先定义数据段,两个DB变量VARX与VARY(已经初始化),以及结果存放在VARZ,初始化为?。然后定义堆栈段,然后书写代码段,代码段使用顺序程序设计本程序,重点使用MOV和IMUL以及XOR,IDIV完成程序设计。详细内容见程序注释。 程序清单:

建模与仿真实验报告

重庆大学 学生实验报告 实验课程名称物流系统建模与仿真 开课实验室物流工程实验室 学院自动化年级12 专业班物流工程2班学生姓名段竞男学号20124912 开课时间2014 至2015 学年第二学期 自动化学院制

《物流系统建模与仿真》实验报告

(2)属性窗口(Properties Window) 右键单击对象,在弹出菜单中选择 Properties;用于编辑和查看所有对象都拥有的一般性信息。 (3)模型树视图(Model Tree View) 模型中的所有对象都在层级式树结构中列出;包含对象的底层数据结构;所有的信息都包含在此树结构中。 4)重置运行 (1)重置模型并运行 (2)控制仿真速度(不会影响仿真结果) (3)设置仿真结束时间 5)观察结果 (1)使用“Statistics”(统计)菜单中的Reports and Statistics(报告和统计)生成所需的 各项数据统计报告。 (2)其他报告功能包括:对象属性窗口的统计项;记录器对象;可视化工具对象;通过触发器 记录数据到全局表。

五、实验过程原始记录(数据、图表、计算等) 1、运行结果的平面视图: 2、运行结果的立体视图 3、运行结果的暂存区数据分析结果图:

第一个暂存区 第二个暂存区 由报表分析可知5次实验中,第一个暂存区的平均等待时间为11.46,而第二个暂存区的平均等待时间为13.02,略大于第一个暂存区,由此可见,第二个暂存区的工作效率基本上由第一个暂存区决定。 4、运行结果三个检测台的数据分析结果图,三个检测台的state饼图: (1)处理器一:

汇编实验报告

南华大学 实验名称:汇编语言程序设计实验 学院:计算机学院 专业班级:本2010 电气信息类03班 学号:20104030342 姓名:谢志兴 指导教师:刘芳菊 日期:2012 年 6 月10 日

实验一DEBUG的熟悉 一、实验目的 (1)学习使用DEBUG的命令; (2)使用DEBUG命令在数据段中查看程序运行的结果; (3)利用DEBUG运行简单的程序段。 二、实验内容 1)输入程序观察寄存器变化 使用DEBUG命令,将下面的程序段写入内存,逐条执行,观察每条指令执行后,CPU中相关寄存器的内容变化。注意用T命令执行时,CS: IP寄存器的内容。 MOV AX, 4E20 ADD AX, 1416 MOV BX, 2000 ADD AX, BX MOV BX, AX ADD AX, BX MOV AX, 001A MOV BX, 0026 ADD AL, BL ADD AH, BL ADD BH, AL MOV AH, 0 ADD AL, BL ADD AL, 9C 2)输入下面的程序,这是一个两个数相与的程序。结果存放在MSG2单元中,偏移地址为?值为多少? DSEG SEGMENT MSG1 DW 7856H, 2038H MSG2 DW? DSEG ENDS CSEG SEGMENT ASSUME CS: CSEG, DS: DSEG

START: MOV AX, DSEG MOV DS, AX MOV AX, MSG1 AND AX, MSG1+2 MOV MSG2, AX MOV AL, 0 MOV AH, 4CH INT 21H CSEG ENDS END START 程序的跟踪执行操作 在DOS下直接输入文件主名就可以执行文件了,有的程序会显示结果,可能执行后什么结果都没有,是因为程序中没有显示命令。那么如何查看程序的运行结果呢? 程序执行过程的跟踪操作步骤如下: (1)在DOS下输入:DEBUG 文件名.EXE (2)在DEBUG提示符下输入U命令 如果程序中有数据段,可以看到反汇编后第一句可执行语句为: A地址:B地址MOV AX, K地址如:1261:0000 MOV AX, 1260 其中:K地址就是数据段的段寄存器内容,A地址为代码段段寄存器地址,B地址为程序第一条指令的偏移地址。 (3)可以用T命令单步执行指令,执行到MOV AH, 4CH时结束,也可以用G命令执行整个程序,输入:G=B地址(如:G=0000) (4)用D命令查看程序执行后数据段的变化 输入:D K地址:0 (如:D1260:0)

电子科大电子技术实验报告

电子科技大学 电子技术实验报告 学生姓名:班级学号:考核成绩:实验地点:仿真指导教师:实验时间: 实验报告内容:1、实验名称、目的、原理及方案2、经过整理的实验数据、曲线3、对实验结果的分析、讨论以及得出的结论4、对指定问题的回答 实验报告要求:书写清楚、文字简洁、图表工整,并附原始记录,按时交任课老师评阅实验名称:负反馈放大电路的设计、测试与调试

一、实验目的 1、掌握负反馈电路的设计原理,各性能指标的测试原理。 2、加深理解负反馈对电路性能指标的影响。 3、掌握用正弦测试方法对负反馈放大器性能的测量。 二、实验原理 1、负反馈放大器 所谓的反馈放大器就是将放大器的输出信号送入一个称为反馈网络的附加电路后在放大器的输入端产生反馈信号,该反馈信号与放大器原来的输入信号共同控制放大器的输入,这样就构成了反馈放大器。单环的理想反馈模型如下图所示,它是由理想基本放大器和理想反馈网络再加一个求和环节构成。 反馈信号是放大器的输入减弱成为负反馈,反馈信号使放大器的输入增强成为正反馈。四种反馈类型分别为:电压取样电压求和负反馈,电压取样电流求和负反馈,电流取样电压求和负反馈,电流取样电流求和负反馈。 2、实验电路

实验电路如下图所示,可以判断其反馈类型累电压取样电压求和负反馈。 3.电压取样电压求和负反馈对放大器性能的影响 引入负反馈会使放大器的增益降低。负反馈虽然牺牲了放大器的放大倍数,但它改善了放大器的其他性能指标,对电压串联负反馈有以下指标的改善。 可以扩展闭环增益的通频带 放大电路中存在耦合电容和旁路电容以及有源器件内部的极间电容,使得放大器存在有效放大信号的上下限频率。负反馈能降低和提高,从而扩张通频带。 电压求和负反馈使输入电阻增大 当 v一定,电压求和负反馈使净输入电压减小,从而使输入电流 s

汇编实验报告

XXXX大学 实验报告 课程名称汇编语言程序设计成 绩 实验学时 评语: 指导教师: 年月日 班级: 学号: 姓名: 地点: 时间:

实验一汇编语言编程实验 一、实验目的 (1)掌握汇编语言的编程方法 (2)掌握DOS功能调用的使用方法 (3)掌握汇编语言程序的调试运行过程 二、实验内容 1. 将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完 成必要提示信息的显示。 2. 在屏幕上显示自己的学号姓名信息。 3. 循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输 入”Q”或“q”时结束。 4. 实验中使用的DOS功能调用: INT 21H AH 值功能调用参数结果 1 键盘输入并回显AL=输出字符 2 显示单个字符(带Ctrl+Break检查) DL=输出字符光标在字符后面 6 显示单个字符(无Ctrl+Break检查) DL=输出字符光标在字符后面 8 从键盘上读一个字符AL=字符的ASCII码 光标跟在串后面 9 显示字符串DS:DX=串地址, ‘$’为结束字符 4CH 返回DOS系统AL=返回码 例如,实现键盘输入并回显的完整代码: MOV AH 01H INT 21H 三、实验结果 1. 将指定数据区的字符串数据”Let us go !”以ASCII码形式显示在屏幕上,并通过 DOS功能调用完成必要提示信息的显示: 2. 在屏幕上显示自己的学号姓名信息 3.循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输 入”Q”或“q”时结束。

四、实验原理 DATA SEGMENT MES DB 'NUMBER: 03099018 ',0AH,0DH,'NAME: Feng Xiaokang',0AH,0DH,'$' CENT DB 'Let us go !','$' ENTE DB 0AH,0DH,'$' INFO DB 'Origin: ','$' ASCI DB 'ASCII : ','$' MSG1 DB 'If you want to quit please press...q/Q...',0AH,0DH,'$' MSG2 DB 0AH,0DH,'Char: $' RS DB ' ASCII: $' SD DB '' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;存储数据 MOV DS,AX MOV DX,OFFSET MES ;显示数据 MOV AH,09H INT 21H MOV DX,OFFSET MSG1 MOV AH,09H INT 21H MOV DX, OFFSET CENT MOV SI, DX T: MOV AL,[SI] CMP AL,'$' JZ C1 AND AL,0F0H ;取高4位 MOV CL,4 SHR AL,CL CMP AL,0AH ;是否是A以上的数 JB A ADD AL,07H A: ADD AL,30H MOV DL,AL ;show character MOV AH,02H INT 21H

重庆大学汇编实验报告3

《汇编语言程序设计》实验报告 年级、专业、班级姓名 实验题目实验3:汇编程序的循环结构的使用 实验时间2013年4月15 实验地点DS1421 实验成绩实验性质□验证性 设计性□综合性教师评价: □算法/实验过程正确;□源程序/实验内容提交□程序结构/实验步骤合理;□实验结果正确;□语法、语义正确;□报告规范; 其他: 评价教师签名: 一、实验目的 通过一个排序算法,来熟悉和掌握利用汇编语言实现循环处理能力的程序。 二、实验项目内容 1 编写一个整数数组内的元素排序的程序 2 需要排序数组大小为10个DW的整数 3 按照从低到高输出这10个数字 4 要求撰写必要程序模块设计图和主要的流程 三、实验过程或算法(源程序) assume cs:code,ds:data data segment dw 1234h,2a45h,345bh,45c7h,5678h,4321h,5432h,6543h,7654h,0d765h table db '0123456789abcde' data ends stack segment db 32 dup(0) stack ends code segment start: mov ax,data mov ds,ax

mov di,0 mov ax,stack mov ss,ax mov sp,32 mov cx,9 s0: mov ax,ds:[si] push cx s1: add si,2 cmp ax,ds:[si] jb change s2: loop s1 xchg ax,ds:[si] xchg ax,ds:[di] mov si,0 mov di,0 pop cx loop s0 mov ax,data mov ds,ax mov si,0 call show mov ax,4c00h int 21h change: mov ax,ds:[si] mov di,si jmp s2 show: push es push di push ax push bx push cx push dx mov ax,0b800h mov es,ax mov di,160*12+2*10 mov cx,10 show1: push cx

汇编实验报告

实验一 DOS常用命令及8088/86指令使用 实验目的 通过实验掌握下列知识: 1、DOS命令: CD,DIR,DEL,RENAME,COPY。 2、8088指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG 3、DEBUG命令: A,D,E,F,H,R,T,U。 4、BCD码,ASCII码及用十六进制数表示二进制码的方法。 5、8088寄存器: AX,BX,CX,DX,F,IP。 实验类型:验证 内容及步骤 一、DOS常用命令练习 1、开机后,切换到命令提示符窗口下,出现提示符后键入命令DIR, 查看此目录下所有文件。 2、键入命令CD..进入上级目录,再查看此目录下所有文件。 3、将一张3.5寸软盘插到 A驱动器中,用DIR命令查看盘上文件。 4、用命令 COPY https://www.360docs.net/doc/8a10047475.html, BUG 复制一个文件。 5、用命令 RENAME BUG BG 将BUG 文件改为BG。 6、用命令 DEL BG 将文件BG删除。 在操作时要注意提示信息,并按提示操作。 二、DEBUG 命令使用 1、键入 DEBUG 进入 DEBUG 控制状态,显示提示符 '- '。 2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。 3、用命令 D100 10F 观察内存中的十六进制码及屏幕右边的ASCII字符。 4、用命令 F110 11F 41 重复上二项实验,观察结果并比较。 5、用命令 E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的十六进制数是什么字符的ASCII码? 6、用H命令检查下列各组十六进制数加减结果并和你的手算结果比较: (1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758H,347FH 7、用R命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。 8、用R命令将AX,BX内容改写为1050H及23A8H。 三、8088常用指令练习 1、传送指令 用A命令在内存100H处键入下列内容: -A 0100↙ ****:0100 MOV AX,1234↙ ****:0103 MOV BX,5678↙ ****:0106 XCHG AX,BX↙ ****:0108 MOV AH,35↙ ****:010A MOV AL,48↙

汇编实验报告..

合肥工业大学计算机与信息学院 实验报告 课程:汇编语言程序设计专业班级: 学号: 姓名:

实验一Debug程序的使用 一.实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 二.实验内容 1、利用DEBUG程序中的“E”命令,将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H 单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 三.实验过程和程序 1、启动DOS操作系统 2、运行https://www.360docs.net/doc/8a10047475.html,程序(若当前盘为C) C:>DEBUG↙ – ;(“–”为DEBUG提示符,仅当屏幕出现该提示符后,才可输入DEBUG命令) 3、用“A”命令编辑和汇编源程序 –A ↙ 186E:0100 MOV AX,[0200]↙ 186E:0103 MOV BX,[0202]↙ 186E:0107 ADD AX,[0204]↙ 186E:010B ADC BX,[0206]↙ 186E:010F MOV [0208],AX↙ 186E:0112 MOV [020A],BX↙ 186E:0116 ↙ 4、用“U”命令反汇编验证源程序 –U CS:0100↙ 186E:0100 A10002 MOV AX,[0200] 186E:0103 8B1E0202 MOV BX,[0202] 186E:0107 03060402 ADD AX,[0204] 186E:010B 131E0602 ADC BX,[0206] 186E:010F A30802 MOV [0208],AX 186E:0112 891E0A02 MOV [020A],BX 186E:0116 – 注意:

电子科技大学通信原理实验实验报告2

电子科技大学通信学院 最佳接收机(匹配滤波器) 实验报告 班级 学生 学号 教师任通菊

最佳接收机(匹配滤波器)实验 一、实验目的 1、运用MATLAB软件工具,仿真随机数字信号在经过高斯白噪声污染后最佳的恢复的方法。 2、熟悉匹配滤波器的工作原理。 3、研究相关解调的原理与过程。 4、理解高斯白噪声对系统的影响。 5、了解如何衡量接收机的性能及匹配滤波器参数设置方法。 二、实验原理 对于二进制数字信号,根据它们的时域表达式及波形可以直接得到相应的解调方法。在加性白高斯噪声的干扰下,这些解调方法是否是最佳的,这是我们要讨论的问题。 数字传输系统的传输对象是二进制信息。分析数字信号的接收过程可知,在接收端对波形的检测并不重要,重要的是在背景噪声下正确的判断所携带的信息是哪一种。因此,最有利于作出正确判断的接收一定是最佳接收。 从最佳接收的意义上来说,一个数字通信系统的接收设备可以看作一个判决装置,该装置由一个线性滤波器和一个判决电路构成,如图1所示。线性滤波器对接收信号进行相应的处理,输出某个物理量提供给判决电路,以便判决电路对接收信号中所包含的发送信息作出尽可能正确的判决,或者说作出错误尽可能小的判决。 图1 简化的接收设备 假设有这样一种滤波器,当不为零的信号通过它时,滤波器的输出能在某瞬间形成信号的峰值,而同时噪声受到抑制,也就是能在某瞬间得到最大的峰值信号功率与平均噪声功率之比。在相应的时刻去判决这种滤波器的输出,一定能得到最小的差错率。 匹配滤波器是一种在最大化信号的同时使噪声的影响最小的线性滤波器设计技术。注意:该滤波器并不保持输入信号波形,其目的在于使输入信号波形失 t输出信号值相对于均方根(输出)噪声值达到真并滤除噪声,使得在采样时刻 最大。

汇编实验报告

XI`AN TECHNOLOGICAL UNIVERSITY 实验报告

西安工业大学实验报告 一、实验目的 1、学习和掌握利用TD-TIPE连机软件调试汇编程序。 2、了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用。 二、实验原理 基本输入输出实验。编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。 三、实验步骤、数据记录及处理 1.步骤: (1)硬件测试; (2)获得端口地址; (3)写出源程序, 2.源代码 (1)程序一 SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE

START: MOV DX, 0646H MOV AL, 90H OUT DX, AL AA1: MOV DX, 0640H IN AL, DX CALL DELAY MOV DX, 0642H OUT DX, AL JMP AA1 DELAY: PUSH CX MOV CX, 0F00H AA2: PUSH AX POP AX LOOP AA2 POP CX RET CODE ENDS END START (2)程序二 SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV DX, 0646H MOV AL, 90H OUT DX, AL AA1: MOV DX, 0640H IN AL, DX

电子科技大学实验报告撰写模板

电子科技大学 实验报告 ( 2018 - 2019 - 2 ) 学生姓名:学生学号:指导老师: 实验学时:1.5h 实验地点:基础实验大楼425 实验时间:2019.4.9 14:30—16:00 报告目录 一、实验课程名称:电路实验I 1.实验名称:BJT放大器设计与测试 二、实验目的: 1. 了解BJT管的基本放大特性。 2. 掌握BJT共射放大电路的分析与设计方法。 3. 掌握放大电路静态工作点的测试方法。 4. 掌握放大电路放大倍数(增益)的测试方法。 5. 掌握放大电路输入、输出电阻的测试方法。 6. 掌握放大电路幅频特性曲线的测试方法。 三、实验器材(设备、元器件): GDS1152A型数字示波器一台。 EE1641B1型函数发生器一台。

通用面包板一个。 1kΩ电阻;10mH电感;0.047μF电容若干。 四、实验原理:

3、测试方法 (1)静态工作点调整与测试 对直流电压的测量一般用数字万用表。测量静态工作点时测出晶体管各管脚对地的电压。 (2)放大倍数的测试 用晶体管毫伏表或者示波器直接测量输出、输入电压,由 Av=vo/vi 即可得到。(3)放大器输入电阻的测试

在放大器输入端口串入一个取样电阻R,用两次电压法测量放大器的输入电阻Ri。 (4)放大器输出电阻的测试 在放大器输出端口选择一个合适的负载电阻RL,用两次电压法分别测量空载与接上负载时的输出电压,计算输出电阻Ro。 (5)放大器频率特性的测试 用点频法测试法测量放大器的频率特性,并求出带宽。 五、实验内容: (1)静态工作点的测试 (2)电压增益测试 (3)输入电阻测试 (4)输出电阻测试 (5)幅频特性测试 六、实验数据及结果分析: 1、静态工作点调整与测试 令VCC=+12V,用万用表测量VE、VB、VC,计算VBE、IEQ、VCE,数据记入表格中。 2、放大倍数的测试 用函数发生器输出一个正弦波信号作为放大器的输入信号,设置信号频率 f =1kHz,(有效值)Ui=5mV,测量U0 ,计算放大器的电压放大倍数(增益)Av。数据填入表中,定量描绘输出波形图。

重庆大学计算机网络实验报告

《计算机网络》实验报告 一、实验目的 掌握3种UTP线缆的制作;了解3类UTP线缆的作用并能将其用于实际的网络组网;了解与布线有关的标准与标准组织 了解计算机网络组网的层次化原则;掌握局域网组网中从物理层到网络层所应完成的一般任务;掌握PING和IPCONFIG等命令的使用 学会简单组网;培养初步的协同工作能力 二、实验项目内容 5类UTP与6类UTP双绞线; 布线有关的标准组织及标准; 3种UTP线缆的作用和线图:直连线(Straight-thru),交叉线(Crossover)和反接线(Rollover); 制作直连线并进行网络互联的练习; 计算机网络组网的一般任务和层次化原则; 按要求进行网络拓扑连接和配置; PING和IPCONFIG实用网络工具

三、实验过程或算法(源程序) 按照网线的制作步骤制作网线: 准备工作:准备RJ45卡线钳一把,水晶头,网线; 制作步骤:共有四步,可以简单归纳为四个字:“剥”,“理”,“插”,“压” 1.剥线:剥线的长度为13mm~15mm,不宜太长或太短; 2.理线:按顺序整理平,遵守规则,否则不能正常通信; 3.插线:一定要平行插入到线顶端,以免触不到金属片; 4.检测:发射器和接收器两端的灯同时亮为正常。 (2)组网 在交换机上用做好的网线连接相邻的电脑,最后在cmd中用Ping命令检查是否连接成功。 四、实验结果及分析和(或)源程序调试过程 (1)结果及分析 有两种网线水晶头接线的方式:交叉线和直连线。我选择的是直连线式,按照双绞线颜色白橙,橙,白绿,蓝,白蓝,绿,白棕,棕的顺序插入并压制好,检验发现只有2,3,6,7连上了,然后跟同组的同学合力又做了两根,都能全部连上。把做好的网线连接到交换机上,成功验证了简单组网。 (2)个人小结

汇编实验报告

汇编语言程序设计 实验报告 学号:100511530 班级:电气信息类1005 姓名:陆淑琴 指导老师:李诗高

实验一、汇编语言上机的基本过程及环境 【实验目的】 (1)熟悉汇编语言的编辑、汇编、连接及调试的全过程,重点掌握使用DEBUG调试程序的方法。 (2)了解汇编语言的程序结构。 【实验内容】 (1)在数据段中定义两个数(数据自拟,包含有正数和负数),要求编写程序分别计算出这两个数的和、差、积、商,并用Debug的相关命令查询计算结果(包括对CF,OF,SF,ZF的影响)。 (2)首先对AX,BX,CX寄存器赋初值(数据自拟),再将AX寄存器的中间八位,BX的低四位和CX的高四位拼接成一个新的字,并把结果存入偏移地址为0000H的存储单元。其中BX的低四位作为结果字的高四位,CX的高四位作为结果字的低四位。并用Debug的相关命令查询内存单元的结果字。 源代码: DA TA SEGMENT val1 DW 1000h val2 DW 2000h maxv DW ? DA TA ENDS STACK SEGMENT STACK 'STACK'

DB 100H DUP(?) STACK ENDS CODE SEGMENT 'CODE' ASSUME CS:CODE, DS:DATA,SS:STACK .386 MAIN: MOV AX, DATA; MOV DS, AX PUSH val1 PUSH val2 CALL MAX ; POP maxv ;栈顶返回值出栈 MOV AX, 4c00H INT 21H MAX PROC PUSH BP ;执行该指令前堆栈情况 MOV BP, SP ;执行后堆栈情况 MOV AX, [BP+4] CMP AX, [BP+6] JA EXIT MOV AX, [BP+6] EXIT: MOV [BP+6], AX ;用栈顶返回值 POP BP RET 2 ;执行后堆栈情况 MAX ENDP CODE ENDS END MAIN 【实验步骤】 (1)用编辑软件(记事本、UltraEdit等)编辑一个扩展文件名为ASM的汇编语言源程序。 (2)用汇编程序MASM汇编上述的汇编语言源程序,形成目标代码文件。(扩展名为OBJ) (3)用连接程序LINK连接目标代码文件,形成可执行文件。(扩展名为EXE)(4)用DEBUG32调试可执行文件,观察执行结果,以验证其正确性。

实验报告总结(精选8篇)

《实验报告总结》 实验报告总结(一): 一个长学期的电路原理,让我学到了很多东西,从最开始的什么都不懂,到此刻的略懂一二。 在学习知识上面,开始的时候完全是老师讲什么就做什么,感觉速度还是比较快的,跟理论也没什么差距。但是之后就觉得越来越麻烦了。从最开始的误差分析,实验报告写了很多,但是真正掌握的确不多,到最后的回转器,负阻,感觉都是理论没有很好的跟上实践,很多状况下是在实验出现象以后在去想理论。在实验这门课中给我最大的感受就是,必须要先弄清楚原理,在做实验,这样又快又好。 在养成习惯方面,最开始的时候我做实验都是没有什么条理,想到哪里就做到哪里。比如说测量三相电,有很多种状况,有中线,无中线,三角形接线法还是Y形接线法,在这个实验中,如果选取恰当的顺序就能够减少很多接线,做实验就应要有良好的习惯,就应在做实验之前想好这个实验要求什么,有几个步骤,就应怎样安排才最合理,其实这也映射到做事情,不管做什么事情,就应都要想想目的和过程,这样才能高效的完成。电原实验开始的几周上课时间不是很固定,实验报告也累计了很多,第一次感觉有那么多实验报告要写,在交实验报告的前一天很多同学都通宵了的,这说明我们都没有合理的安排好自己的时间,我就应从这件事情中吸取教训,合理安排自己的时间,完成就应完成的学习任务。这学期做的一些实验都需要严谨的态度。在负阻的实验中,我和同组的同学连了两三次才把负阻链接好,又浪费时间,又没有效果,在这个实验中,有很多线,很容易插错,所以要个性仔细。 在最后的综合实验中,我更是受益匪浅。完整的做出了一个红外测量角度的仪器,虽然不是个性准确。我和我组员分工合作,各自完成自己的模块。我负责的是单片机,和数码显示电路。这两块都是比较简单的,但是数码显示个性需要细致,由于我自己是一个粗心的人,所以数码管我检查了很多遍,做了很多无用功。 总结:电路原理实验最后给我留下的是:严谨的学习态度。做什么事情都要认真,争取一次性做好,人生没有太多时间去浪费。 实验报告总结(二): 在分子生物学实验室为期两个月的实习使我受益匪浅,我不仅仅学习到了专业知识,更重要的是收获了经验与体会,这些使我一生受用不尽,记下来与大家共勉: 1.手脚勤快,热心帮忙他人。初来匝道,不管是不是自己的份内之事,都就应用心去完成,也许自己累点,但你会收获很多,无论是知识与经验还是别人的称赞与认可。 2.多学多问,学会他人技能。学问学问,无问不成学。知识和经验的收获能够说与勤学好问是成正比的,要记住知识总是垂青那些善于提问的人。 3.善于思考,真正消化知识。有知到识,永远不是那么简单的事,当你真正学会去思考时,他人的知识才能变成你自己的东西。 4.前人铺路,后人修路。墨守陈规永远不会有新的建树,前人的道路固然重要,但是学会另辟蹊径更为重要。

数字集成电路设计实验报告

哈尔滨理工大学数字集成电路设计实验报告 学院:应用科学学院 专业班级:电科12 - 1班 学号:32 姓名:周龙 指导教师:刘倩 2015年5月20日

实验一、反相器版图设计 1.实验目的 1)、熟悉mos晶体管版图结构及绘制步骤; 2)、熟悉反相器版图结构及版图仿真; 2. 实验内容 1)绘制PMOS布局图; 2)绘制NMOS布局图; 3)绘制反相器布局图并仿真; 3. 实验步骤 1、绘制PMOS布局图: (1) 绘制N Well图层;(2) 绘制Active图层; (3) 绘制P Select图层; (4) 绘制Poly图层; (5) 绘制Active Contact图层;(6) 绘制Metal1图层; (7) 设计规则检查;(8) 检查错误; (9) 修改错误; (10)截面观察; 2、绘制NMOS布局图: (1) 新增NMOS组件;(2) 编辑NMOS组件;(3) 设计导览; 3、绘制反相器布局图: (1) 取代设定;(2) 编辑组件;(3) 坐标设定;(4) 复制组件;(5) 引用nmos组件;(6) 引用pmos组件;(7) 设计规则检查;(8) 新增PMOS基板节点组件;(9) 编辑PMOS基板节点组件;(10) 新增NMOS基板接触点; (11) 编辑NMOS基板节点组件;(12) 引用Basecontactp组件;(13) 引用Basecontactn 组件;(14) 连接闸极Poly;(15) 连接汲极;(16) 绘制电源线;(17) 标出Vdd 与GND节点;(18) 连接电源与接触点;(19) 加入输入端口;(20) 加入输出端口;(21) 更改组件名称;(22) 将布局图转化成T-Spice文件;(23) T-Spice 模拟; 4. 实验结果 nmos版图

电子科技大学逆向工程实验报告作业资料

电子科技大学 实 验 报 告 学生姓名:马侬 学号:20152*03**0* 指导教师:何兴高 日期:2016.7.15

一.题目名称:简易记事本软件逆向分析 二.题目内容 由于记事本功能简单,稍有经验的程序员都可以开发出与记事本功能近似的小软件,所以在一些编程语言工具书上也会出现仿照记事本功能作为参考的示例。为了便于分析因此选取了一个简易的记事本,因此本实验将着重研究从源程序到机器码的详细过程而不注重程序本身的功能。另一方面简易源程序代码约130多行。本实验目的是了解源程序是怎么一步步变成机器码的又是怎么在计算机上运行起来的。 三.知识点及介绍 利用逆向工程技术,从可运行的程序系统出发,运用解密、反汇编、系统分析、程序理解等多种计算机技术,对软件的结构、流程、算法、代码等进行逆向拆解和分析,推导出软件产品的源代码、设计原理、结构、算法、处理过程、运行方法及相关文档等。随着用户需求的复杂度越来越高软件开发的难度也在不断地上升快速高效的软件开发已成为项目成败的关键之一。为了提高程序员的产品率开发工具的选择尤为重要因为开发工具的自动化程度可以大大减少程序员繁琐重复的工作使其集中关注他所面临的特定领域的问题。为此当前的IDE不可避地要向用户隐藏着大量的操作细节而这些细节包含了大量的有价值的技术。 四.工具及介绍: 在对软件进行逆向工程时,不可避免地需要用到多种工具,工具的合理使用,可以加快调试速度,提高逆向工程的效率。对于逆向工程的调试环节来说,没有动态调试器将使用的调试工作很难进行。可以看出,各种有效的工具在逆向工程中占据着相当重要的地位,有必要对它们的用法做一探讨。 PE Explorer简介:PE Explorer是功能超强的可视化Delphi、C++、VB程序解析器,能快速对32位可执行程序进行反编译,并修改其中资源。 功能极为强大的可视化汉化集成工具,可直接浏览、修改软件资源,包括菜单、对话框、字符串表等;另外,还具备有W32DASM 软件的反编译能力和PEditor 软件的PE 文件头编辑功能,可以更容易的分析源代码,修复损坏了的资源,可以处理PE 格式的文件如:EXE、DLL、DRV、BPL、DPL、SYS、CPL、OCX、SCR 等32 位可执行程序。该软件支持插件,你可以通过增加插件加强该软件的功能,原公司在该工具中捆绑了UPX 的脱壳插件、扫描器和反汇编器.,出口,进口和延迟导入表的功能,使您可以查看所有的可执行文件使用的外部功能,和其中包含的DLL或库的基础上进

汇编实验报告

实验三算术运算与代码转换程序设计 一、实验目的 1)掌握算术运算程序的设计方法。 2)掌握代码转换程序的设计方法。 3)进一步掌握各种程序结构。 4)熟练掌握和使用用DEBUG调试程序。 二、实验内容 1)编制两个多字节整数加法和减法程序,并将结果按十六进制形式显示在屏幕上。 2)编制程序实现二进制定点数与十进制数的ASCII码串之间转换,并将结果显示在屏幕上。 3)编写程序计算从键盘输入两个不超过四位的十进制数的和、差、积、商,并以十进制形式输出。 4)写程序把从键盘输入的四位十六进制数转换为压缩的BCD码,并显示输出。 5)编写一通用过程用来将十进制数(从键盘输入)转换为P(从键盘输入)进制数。 三、实验设备 PC机一台

四、实验步骤 1) 按程序流程图编制实验程序。 2) 输入源程序。 3) 汇编、连接程序,执行程序,检查结果。 4) 程序的执行可用DEBUG的G命令,也可用T命令单步跟踪执行。 5) 用D命令检查执行结果。 六、源程序 实验一 DATA SEGMENT NUM1 DB 22H,33H,44H,55H,66H,77H NUM1L DB 6H NUM2 DB 22H,22H,22H,22H NUM2L DB 4H OUTCOME1 DB 10H DUP(0) OUTCOME2 DB 10H DUP(0) N DB 0H DATA ENDS STACK1 SEGMENT PARA STACK DW 20H DUP(0) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START:MOV AX,DATA

电子科技大学软件技术基础实验报告2

电子科技大学通信与信息工程学院标准实验报告 (实验)课程名称软件技术基础实验 电子科技大学教务处制表

电子科技大学 实验报告 一、实验室名称:校公共机房 二、实验项目名称:链表程序设计 三、实验学时:4学时 四、实验原理: 使用VS2010等C语言集成开发环境(IDE),在微型计算机上对程序进行编辑、编译、连接与运行。通过上机练习掌握在链表的建立、插入删除等方法和过程。 五、实验目的: 1.熟练链表的概念和基本操作方法。 2.掌握课程平台使用方法。 六、实验内容: 上机完成链表的一系列操作,并用链表完成课后习题9,编程实验,调试运行程序并完成报告。 七、实验器材(设备、元器件): 硬件要求:普通pc机,1G内存,100G硬盘空间即可。 软件要求:Windows 7,包括C编译器的IDE。 八、实验步骤、实验编程与运行结果: 1.程序文件名为***.cpp,源程序清单如下: /*基础实验1,链表的建立,插入,删除*/ #include #include struct list

{ int info; struct list *next; }; struct list *Create(int *numnode) {//创建一个链表 struct list *head,*tail,*cnew; head=NULL; int num; printf("输入数据(以零结束):"); while(1) { scanf("%d",&num); if(num==0)//输入为零表示输入结束 break; cnew=(struct list*)malloc(sizeof(struct list)); cnew->info=num; cnew->next=NULL; if(head==NULL)//若为空则将头节点指向新节点 head=cnew; else tail->next=cnew;//将当前节点的next指向新的节点 tail=cnew; (*numnode)++; } return head; } void insert(struct list *h,int i,int x) { struct list *p,*t; int j; p=h; j=0; while(p!=NULL&&jnext; j++; }

汇编实验报告

汇编二次实验报告 姓名: 班级: 学号: 实验指导教师:陆勤

实验五 循环程序实验 一.实验目的 1.掌握循环程序的设计方法。 2.进一步熟悉利用debug 程序修改参数的方法,并检查和验证结果的正确性。 3.学会针对不同的问题,选用不同的组织循环的方法。 二.实验内容 1.编写一个程序,显示AL 寄存器中的两位十六进制数。 2.编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z 或a-z 字符,均显示”c ”;若是回车字符(其ASC Ⅱ码为0DH),则结束程序,若为其他字符则不显示,继续等待新的字符输入。 三.实验要求 1.画出两个程序的流程图,独立编写程序,列出相应的程序清单。 2.说明本实验是如何利用debug 进行调试的。 实验5.1 编写一个程序,显示AL 寄存器中的两位十六进制数 一.程序流程图 N Y 开始 AL 赋初值 分别取AL 高位十六进制数送DL DL>9? DL+07H DL DL+30H DL INT 21H 的02号功能调用显示字符 返回DOS 结束

二.实验步骤 步骤1:可以用汇编程序edit在磁盘上建立如下源程序shiyan5.asm 步骤2:源程序建立后,用汇编程序masm对汇编程序shiyan5.asm 进行汇编,汇编正确后产生二进制目标文件shiyan5.obj

步骤3:汇编程序已产生出二进制的目标文件,但obj文件不是可执行文件还必须使用连接程序(link)将obj文件转化为可执行的exe文件 步骤4:在建立了exe文件后,就可以直接从dos执行程序 三.实验代码 ;DISPHEX.ASM CODE SEGMENT ASSUME CS:CODE START: MOV AL,0EEH PUSH AX MOV DL,AL MOV CL,4 SHR DL,CL CMP DL,9 JBE NEXT1 ADD DL,7 NEXT1:ADD DL,30H MOV AH,2 INT 21H POP AX MOV DL,AL AND DL,0FH CMP DL,9 JBE NEXT2 ADD DL,7 NEXT2:ADD DL,30H MOV AH,2 INT 21H MOV AH,4CH INT 21H CODE ENDS END START

相关文档
最新文档