四川大学网络教育学院 计算机综合实践报告(全部5个实验)

四川大学网络教育学院 计算机综合实践报告(全部5个实验)
四川大学网络教育学院 计算机综合实践报告(全部5个实验)

实验一DEBUG调试工具熟悉、使用

一、实验题目熟悉、使用DEBUG调试工具

二、实验日期:2013/12/16

三、实验目的

1.了解并逐步熟悉汇编语言的编辑方法及特点.

2.复习8088汇编语言的段结构、常用的指令与伪指令、存储空

间的分配等。

3.掌握汇编语言的编辑、汇编及连接的过程。

4.了解并逐步掌握运用DEBUG进行调试汇编语言程序。

5.借助DEBUG调试工具来发现汇编语言程序的错误所在并加以

改正。

四、实验内容:

1、进入DEBUG

方法1:在Windows开始菜单中单击运行命令,直接在运行对话框中输入"DEBUG"

方法2:在运行对话框中输入"CMD"启动DOS命令窗口后输入"DEBUG"

方法3:在程序、附件、命令提示符,启动DOS命令窗口后输入"DEBUG"

2、DEBUG命令格式

DEBUG的每个命令都是一个字母,后跟一个或多个参数。下面对DEBUG命令作几点说明。

·字母不分大小写。

·只使用16进制数,且不能带后缀H。

·以空格或逗号作为命令各项之间的分隔符。分隔符只在两个数值之间是必须的。

·可以用Ctrl-C或Ctrl-Break终止命令的执行。

·若输入的命令有语法错误,则提示“Error”,并用“^”指出错误位置。

3、常用的Debug功能

用Debug的R命令查看、改变CPU寄存器的内容;

用Debug的D命令查看内存中的内容;

用Debug的E命令改写内存中的内容;

用Debug的U命令将内存中的机器指令翻译成汇编指令;

用Debug的T命令执行一条机器指令

用Debug的A命令以汇编指令的格式在内存中写了一条机器指令

4、用Debug的R命令查看、改变CPU寄存器的内容;

R命令用来显示和修改寄存器的值,包括以下两种格式。(1)R

显示所有寄存器和8个标志位的值,并反汇编CS:IP所指的指令。

(2)R<寄存器名>

显示指定寄存器的值,并等待用户键入新的值,按回车键结束R命令。

5、用Debug的D命令查看内存中的内容;

D命令可以查看内存中的内容,D命令的格式较多,只介绍本次实验中用到的格式,8086/8088CPU能够访问1M内容,D命令可以显示0000:0000H-FFFF:FFFFH中的任何一个单元的内存

如果想知道内存10000H处的内容,可以用"d段地址:偏移地址"的格式来查看,如输入

-d1000:0

使用d1000:9查看1000:9处的内容。

使用d1000:09查看1000:0-1000:9的内容

一进入Debug,可直接使用D命令直接查看,将列出Debug预设的地址处的内容

6、用Debug的E命令改写内存中的内容;

使用"e起始地址数据数据数据..."的格式来进行

如将内存1000:0-1000:9单元中的内容分别写为0、1、2、

3、4、5、6、7、8、9

-e1000:00123456789

也可以采用提问方式一个一个修改内存中的内容,如

输入e1000:0,按Enter键输入修改的数据,再按空格键输入下一个要修改的数据,最后Enter键结束操作。

输入字符串的格式:如-e1000:101'a'2"c++"3"IBM"将输入1a2c++3IBM到相应单元

向内容中写入机器码,如b80100(代表mov ax,0001), b90200(代表mov cx,002),01c8(代表add ax,cx),那么输入

-e1000:0b80100b9020001c8就将该程序输入内容1000:0处,然后使用u命令-u1000:0可以将内存单元中的内容翻译成汇编指令。如果要执行该程序,首先用r命令将cs修改成1000,ip 修改成0,再执行t命令,单步执行程序。执行T命令时,CPU执行CS:IP执行的指令并将IP加1.

7、用Debug的A命令以汇编指令的形式在内存中写了机器指令

示例:用A命令,输入下列程序并运行

-a1000:0

mov ax,1

mov bx,2

mov cx,3

add ax,bx

add ax,cx

add ax,ax

直接按Enter键结果输入。用r命令将cs修改成1000,ip修改成0,再执行t命令,单步执行程序。执行T命令时,CPU 执行CS:IP执行的指令并将IP加1.

实验二设计汇编语言程序

一.实验题目设计汇编语言程序

二.实验日期:2013/12/17

三.实验目的

字符串统计程序设计

双字乘法程序设计

四.实验内容

1.字符串统计。

在数据段中建立一个缓冲区BUFFER,变量VER,编程使得程序

具有如下功能:从键盘输入一个子字符串存入VER,从键盘

输入包含一个或几个子字符串的字符串存入BUFFER。统计

BUFFER中的字符串含有多少个子字符串以及每个子字符串的

位置。

2.双字乘法程序。

设计一个程序实现32位带符号双精度数乘法运算。由于只有8位和16位的乘法指令。因此32位乘法运算是不能直接用指令实现的。但可以用16位乘法指令,通过4次想乘然后把部分积想加。对于带符号数,可以先根据绝对值求得积。然后判断积的符号,若积为负数,应将其用补码表示。

五、程序设计

1、字符串统计程序设计

#include

using namespace std;

int main()

{

char a;int b=0,c=0,d=0,e=0,f=0;

cout<<"请输入一行任意字符:";

a=cin.get();

while(a!='\n')

{

if(a<0||a>=128)

b++;

else if(a>='a'&&a<='z'||a>='A'&&a<='Z')

c++;

else if(a=='')

d++;

else if(a>='0'&&a<='9')

e++;

else f++;

a=cin.get();

}

cout<<"总共有"<

cout<<"中文"<<"\t"<<"英文"<<"\t"<<"空格"<<"\t"<<"数字"<<"\t"<<"其他"<

cout<

return0;

}

分别统计出英文字母,空格,数字和其他字符的个数。

2、双字乘法程序设计

data segment

x dw1,2;被乘数

y dw3,4;乘数

z dw4dup(?);积

data ends

code segment

assume ds:data,cs:code

start:

mov ax,data

mov ds,ax

mov ax,x

mul y

mov z,ax

mov z+2,dx

mov ax,x+2

mul y

mov z+4,ax mov z+6,dx mov ax,x

mul y+2

add z+4,ax adc z+6,dx mov ax,x+2 mul y+2

adc z+8,ax adc z+10,dx adc z+12,0 mov ax,4c00h int21h code ends end start

实验三8253定时器/计数器接口与数字电子琴

一、实验题目8253定时器/计数器接口与数字电子琴

二、实验日期:2013/12/18

三、实验目的

改变定时器2的计数值来改变声音频率,通过编程来获得声调(频率)和节奏(延时长短),使计算机演奏出乐曲来。

四、实验内容

设计程序让微机演奏一段简单乐曲

利用DOS的键盘管理功能。将微机变为一个具有简单功能的电子琴(选作)。

五、程序设计

硬件设计

利用实验板上的8253计数/定时器和8255并行接口,定时器8253利用工作方式3产生一定频率信号,通过可编程的并行外围接口芯片8255控制频率信号的通断。

8255的A口设置为输出,8255的A口的低两位用来控制扬声器驱动,当输出端口的PA0位为“1”或为“0”时,将使控制驱动器的与门电路接通或关闭,使8253所发出的音频信号能到达驱动器或被阻断。这样通过控制PA0的变化,可使扬声器接通和断开,控制扬声器是否能发出声音。此外,通过控制PA0的通断时间,就能发出不同的音长。8255的PA1位为“1”时,控制8253定时器产生驱动扬声器发声的音频信号,该位为“0”则不发信号。8253有三个定时器,分为0号、1号和2号定时器,驱动扬声器的是0号定时器,该定时器

工作在方式3,是一个频率发生器,它负责向扬声器发送指定频率的脉冲信号。当8255的PA0和PA1都为1时,8253发出指定频率的声音信号的前提下,声音信号通过与门到达驱动器驱动扬声器发声。

硬件原理图如图1所示:

图1硬件原理图扬声器驱动电路如图2所示。

图2扬声器驱动电路

软件设计

系统要求实现2个功能,电子琴和音乐盒的功能。两者发声的方法一样,只是一个数据是从键盘读取的,另一个是已经保存好的数据。首先我们可以用一个子程序实现单个音调的产生,对8253输入不同的计数初值生成不同频率的波形,然后延时一段时间。电子琴程序主要是读取键盘按键,根据键值产生不同的音调即可。而乐曲的播放先将乐曲的音符编码表和节拍编码表建立好的,然后在播放时读取数据。

1.单音调子程序SOUND

单音调子程序的调用前需要进行以下几个方面工作:

8253计数器与门扬声器驱动扬声

8255PA0

8255PA1门控

控制喇叭Q0

1)确定相应的音调所对应的频率,查表可以得到,再由频率得到对应的8253计数初值。

2)确定音长,即一个音符所持续的时间。

在单音调子程序中实现发出一个音符的声音,持续所需的时间,流程图如图3所示:

读取8253计数初值和音长

8253置初值

开启与门和8253GATE

延时

关闭与门和8253GATE

返回

图3单音调子程序流程图

2.音乐盒程序

音乐盒的乐曲播放程序中需要有两组数据支持:一组是频率数据,一组是节拍时间数据。音符的频率可以通过简谱从频率表中查得。节拍时间就是音符的持续时间,取决于乐曲的速度和每个音符的节拍数据。如4/4(四四拍)中,每小节包括4拍,全音符持续4拍,二分音符持续2拍,四分音符持续一拍,八分音符持续半拍等。

有了音调与频率和时间的关系后,就可以按照乐曲的曲谱将每个音符的频率和持续的时间定义成两组数据表,然后编程依次取出表中的频率值和节拍值,调用单音调子程序就可依次产生各个音调,播放出乐曲。

在程序中存储几个乐曲数据,根据音乐盒子菜单选择相应的乐曲

演奏,读取对应的数据输出。

乐曲《两只老虎》的简谱如下:

两只老虎

1=C4/4

1231|1231|345-|

345-|565431|565431|

251-|251-|

对应的频率数据表Freq、节拍数据表Time如下:

TWOTIGERS_FRE DW2DUP(524,588,660,524,0);乐曲的频率表

DW2DUP(660,698,784,0)

DW2DUP(784,880,784,698,660,524,0)

DW2DUP(588,392,524,0),1

TWOTIGERS_TIME DW10DUP(100),200,100,100,200;乐曲的时间表

DW2DUP(50,50,50,50,100,100)

DW2DUP(100,100,200)

outb_p(0x34,0x43);

outb_p(LATCH&0xff,0x40);

outb_p(LATCH>>8,0x40);

outb(inb_p(0x21)&~0x01,0x21);//允许接收定时器中断

}

void do_timer(void)

{

这是定时器主程序,用于每隔一段时间后进行某些操作

}

[8253.asm]:

//以下是nasm格式的汇编代码,这个中断处理函数必须用汇编timer_interrupt:

push gs

push fs

push es

push ds

push ebp

push edi

push esi

push edx

push ecx

push ebx

push eax

;如果你不在操作系统下使用,以下三行必须删除,否则必须把0x10更改为内核段选择符

mov eax,0x10

mov ds,ax

mov es,ax

mov al,0x20

out0xa0,al;发送EOI

out0x20,al

call do_timer

pop ebx

pop ecx

pop edx

pop esi

pop edi

pop ebp

pop ds

pop es

pop fs

pop gs

xor eax,eax

iretd

实验四实时时钟实验

一、实验目的:

掌握ARM7嵌入式系统实验箱的使用方法;掌握LPC2148的内部定时器模块的使用方法;掌握LPC2148的RTC模块的使用方法。

二、实验内容:

学习使用LPC2148的内部定时器以及RTC模块;自行编程实现利用RTC模块在串口调试助手上显示当前时间,自行编程实现利用定时器模块在串口调试助手上显示9-0的倒计时,间隔1S

三、实验原理:

1、定时器模块:对TOTC设置,即设置定时器的值,TOPR,设置预分频值,TOMCR设置匹配模式,复位并中断,TOMR,设置匹配值,TOTCR,启动寄存器。

2、RTC模块。设置RTC基准时钟分频器。初始化RTC时钟值,如year,month。报警中断设置,如CIIR,AMR等。启动RTC,即CCR 的CLKKEN位置位。读取完整时间寄存器值或等待中断。

四、实验步骤:

1.在D:\ARM7_Tool\Debug_Tool\R340安装RTC驱动;

2.打开对应的IAR工作空间RS232_SMG;

3.修改主程序使其达到实验内容的要求并仿真直至程序无误;

4.将程序烧入试验箱中,运行;

5.打开D:\ARM7_Tool\Debug_Tool\串口调试助手V2.2

6.我的电脑-管理-设备管理器-端口(com和lpt)-观测串口号com4,修改串口调试助手对应的串口号,选择十六进制发送,手动发送。五、实验程序:

RTC实时时钟:

#include"includes.h"

#include

#include

#define UART_BPS9600

uint8strymd[16]="";

uint8strhms[16]="::"; void DelayNS(uint32dly){

uint32i;

for(;dly>0;dly--);

for(i=0;i<5000;i++);

}

void UART0_Ini(void){

U0LCR=0x83;

U0DLM=0x00;

U0DLL=0x14;

U0LCR=0x03;

}

void UART0_SendByte(uint8data)

{

U0THR=data;

while((U0LSR&0x40)==0);

}

uint8UART0_RcvByte(viod){

uint8rcv_data;

while((U0LSR&0x01)==0);

rcv_data=U0RBR;

return rcv_data;

}

void UART0_SendStr(uint8const*str){ while(1){

if(*str=='\0')break;

UART0_SendByte(*str++);}

}

void RTCIni(void){

PREINT=95;

PREFRAC=0;

YEAR=2005;

MONTH=6;

DOM=10;

HOUR=8;

MIN=30;

SEC=0;

CIIR=0x01;

CCR=0x01;

}

struct DATE{

uint16year;

uint8mon;

uint8day;//uint8dow;

};

struct TIME{

uint8hour;

uint8min;

uint8sec;

};

void GetTime(struct DATE*d,struct TIME*t){ d->year=YEAR;

d->mon=MONTH;

d->day=DOM;

t->hour=HOUR;

t->min=MIN;

t->sec=SEC;

}

void timefuz(struct DATE*d,struct TIME*t){ strymd[0]=d->year/1000+'0';

strymd[1]=d->year/100%10+'0';

strymd[2]=d->year/10%10+'0';

strymd[3]=d->year%10+'0';

strymd[5]=d->mon/10+'0';

strymd[6]=d->mon%10+'0';

strymd[8]=d->day/10+'0';

strymd[9]=d->day%10+'0';

strhms[0]=t->hour/10+'0';

strhms[1]=t->hour%10+'0';

strhms[3]=t->min/10+'0';

strhms[4]=t->min%10+'0';

strhms[6]=t->sec/10+'0';

strhms[7]=t->sec%10+'0';}

int main(void){

RTCIni();

struct DATE*d;

struct TIME*t;

d=(struct DATE*)malloc(sizeof(struct DATE));

t=(struct TIME*)malloc(sizeof(struct TIME));

while(1){

while((T0IR&0x01)==0);

T0IR=0x01;

GetTime(d,t);

timefuz(d,t);

UART0_SendStr(strymd);

UART0_SendStr(strhms);}

free(d);

free(t);

return0;}

TIMR显示0-10秒

C 上机实验报告 实验三

实验三类与对象 1.实验目的 1.掌握类的定义和使用 2.掌握类的定义和对象的声明 3.复习具有不同访问属性的成员的访问方式 4.观察构造函数和析构函数的执行过程 5.学习类的组合使用方法 6.使用VC++的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。 2.实验要求 1.定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,定义为 enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。 2.定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom 为CDROM类的一个对象,定义并实现这个类。 3.(选做)设计一个用于人事管理的People(人员)类。考虑到通用性这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、组合。 3.实验内容 1.首先定义枚举类型CPU_Rank,例如enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},再定义CPU 类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。在主程序中定义一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名:lab4_1.cpp 2.使用debug调试功能观察程序lab4_1.cpp的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。 3.调试操作步骤如下: 1)单击Build|StartDebug|StepInto命令,或按下快捷键F11,系统进入单步执行状态,程序开始运行,一个DOS窗口出现,此时VisualStudio中光标停在main()函数的入口处; 2)从Debug菜单或Debug工具栏中单击StepOver,此时,光标下移,程序准备执行CPU对象的初始化; 3)单击StepInto,程序准备执行CPU类的构造函数; 4)连续单击StepOver,观察构造函数; 5)此时程序准备执行CPU对象的run()函数,单击StepInto,程序进入run()成员函数,连续单击StepOver,直到回到main()函数。 6)继续执行程序,参照上述的方法,观察程序的执行顺序,加深对类的构造函数、析构函数、成员函数的执行顺序的认识。 7)再试试Debug菜单栏中别的菜单项,熟悉Debug的各种方法。

关于计算机实验报告的参考范文

关于计算机实验报告的参考范文 篇一 一、实验题目 文件和文件夹的管理 二、实验目的 1.熟悉Windows XP的文件系统。 2.掌握资源管理器的使用方法。 3.熟练掌握在Windows XP资源管理器下,对文件(夹)的选择、新建、移动、复制、删除、重命名的操作方法。 三、实验内容 1.启动资源管理器并利用资源管理器浏览文件。 2.在D盘创建文件夹 3.在所创建文件夹中创建Word文件。 4.对所创建文件或文件夹执行复制、移动、重命名、删除、恢复、创建快捷方式及设置共享等操作。 四、实验步骤 (一)文件与文件夹管理 1.展开与折叠文件夹。右击开始,打开资源管理器,在左窗格中点击“+”展开,点击“—”折叠 2.改变文件显示方式。打开资源管理器/查看,选择缩略、列表,排列图标等

3.建立树状目录。在D盘空白处右击,选择新建/文件夹,输入经济贸易学院,依次在新建文件夹中建立经济类1103 4..创建Word并保存。打开开始/程序/word,输入内容。选择文件/另存为,查找D盘/经济贸易学院/1103班/王帅,单击保存 5.复制、移动文件夹 6.重命名、删除、恢复。右击文件夹,选择重命名,输入新名字;选择删除,删除文件 7.创建文件的快捷方式。右击王帅文件夹,选择发送到/桌面快捷方式 8.设置共享文件。右击王帅,选择属性/共享/在网络上共享这个文件/确定 9.显示扩展名。打开资源管理器/工具/文件夹选项/查看/高级设置,撤销隐藏已知文件的扩展名 (二)控制面板的设置。 1.设置显示属性。右击打开显示属性/桌面、屏幕保护程序 2.设置鼠标。打开控制面板/鼠标/按钮(调整滑块,感受速度)、指针 3.设置键盘。打开控制面板/键盘/速度(调整滑块,感受速度)、硬件 4.设置日期和时间打开控制面板/日期和时间

计算机实训实验报告.doc

计算机实训实验报告 计算机实训实验报告一、实习时间20Xx年X月18日到X月10日二、 实习地点中**** * 三、实习目的通过理论联系实际,巩固所学的知 识,提高处理实际问题的能 力,为顺利毕业进行做好充分的准备,并为自己能顺利与社会环境接轨做准备。 四、实习内容能对电脑交易和具体的电脑安装步骤进行了解,并查阅资 料巩 固自我缺漏的电脑经验。 能将具体的计算机知识应用到实际中,在电脑交易的同时,将 自己的所学所想所感付诸实践。 能够熟练掌握一定的计算机技巧,比如安装系统,安装插线, 识别型号,处理图形和flash等。 能够与别人进行一定程度的计算机交流,并且提供各种买卖信 息以及电脑性能好坏的识别。 能够推销贩卖计算机,并且积累丰厚的社会交流经验和提升自 我的语言表达能力。 五、实习体会职高生活让我对计算机理论知识有了一定的了解。但实践 出真 知,唯有把理论与实践相结合,才能更好地为社会服务。 经过实践和实习,我对未来充满了美好的憧憬,在未来的日子, 我将努力做到以下几点: 、继续学习,不断提升理论涵养。

在信息时代,学习是不断地汲取新信息,获得事业进步的动力。 作为一名青年学子更应该把学习作为保持工作积极性的重要途径。走 上工作岗位后,我会积极响应单位号召,结合工作实际,不断学习理论、业务知识和社会知识,用先进的理论武装头脑,用精良的业务知识提升能力,以广博的社会知识拓展视野。 二、努力实践,自觉进行角色转化。 只有将理论付诸于实践才能实现理论自身的价值,也只有将理 论付诸于实践才能使理论得以检验。同样,一个人的价值也是通过实践活动来实现的,也只有通过实践才能锻炼人的品质,彰显人的意志。 必须在实际的工作和生活中潜心体会,并自觉的进行这种角色的转换。 三、提高工作积极性和主动性实习,是开端也是结束。展现在自己面前 的是一片任自己驰骋 的沃土,也分明感受到了沉甸甸的责任。在今后的工作和生活中,我将继续学习,深入实践,不断提升自我,做好个人工作计划,努力创造业绩,继续创造更多的价值。 最后感谢单位领导和部门领导以及同事对我的支持和帮助,我 会继续努力的。 计算机实训实验报告二新疆农业大学实习报告实习课程名称(课号): 毕业实习 院:计算机与信息工程学院专业、级:信息管理与信息系统024 导教师:张XX 告人:柳XX 学号:XXXX 年XX月XX日时间:XX年XX月XX日实习主要内容:因为 时间的原因,和工商联没有计算机中心, 因此我没能介入到网络管理的每一个方面,重点完成了针对计算机维护、网络安全的实习。现将我在工商联实习的心得总结如下: 计算机维护分为硬件维护和软件维护两个方面。工商联的计算

四川大学电分实验报告

四川大学电气信息学院 实验报告书课程名称:电力系统分析 实验项目:单机—无穷大系统稳态运行实验与电力系统暂态稳定实验专业班级:电气工程及其自动化专业09303015 班级实验时间:2011年12月12日星期一 评阅老师: 成绩评定: 报告撰写人:张骏安学号:0943031056 电气信息学院专业中心实验室

单机—无穷大系统稳态运行实验 一、实验目的 1.了解和掌握对称稳定情况下,输电系统的各种运行状态与运行参数的数值变化范围; 2.了解和掌握输电系统稳态不对称运行的条件;不对称度运行参数的影响;不对称运行对发电机的影响等。 二、原理与说明 电力系统稳态对称和不对称运行分析,除了包含许多理论概念之外,还有一些重要的“数值概念”。为一条不同电压等级的输电线路,在典型运行方式下,用相对值表示的电压损耗,电压降落等的数值范围,是用于判断运行报表或监视控制系统测量值是否正确的参数依据。因此,除了通过结合实际的问题,让学生掌握此类“数值概念”外,实验也是一条很好的、更为直观、易于形成深刻记忆的手段之一。本实验系统是一种物理模型。原动机采用直流电动机来模拟,当然,它们的特性与大型原动机是不相似的。原动机输出功率的大小,可通过给定直流电动机的电枢电压来调节。实验系统用标准小型三相同步发电机来模拟电力系统的同步发电机,虽然其参数不能与大型发电机相似,但也可以看成是一种具有特殊参数的电力系统的发电机。发电机的励磁系统可以用外加直流电源通过手动来调节,也可以切换到台上的微机励磁调节器来实现自动调节。实验台的输电线路是用多个接成链型的电抗线圈来模拟,其电抗值满足相似条件。“无穷大”母线就直接用实验室的交流电源,因为它是由实际电力系统供电的,因此,它基本上符合“无穷大”母线的条件。 为了进行测量,实验台设置了测量系统,以测量各种电量(电流、电压、功率、频率)。为了测量发电机转子与系统的相对位置角(功率角),在发电机轴上装设了闪光测角装置。此外,台上还设置了模拟短路故障等控制设备。 三、实验电路图 四、实验项目和方法 (1)单回路稳态对称运行实验 ①合上EAL-02 上的状态开关QF2、QF6、QF4、QFS,使系统运行在单回路状态下; ②按照实验十进行启机、建压、并网; ③通过调速器中的“加速”“减速”按钮改变原动机功率,通过励磁调节器中“增磁”、

计算机网络实验报告 答案讲解

计算机网络实验报告 专业计算机科学与技术 班级计102 学号109074057 姓名王徽军 组号一组D 指导教师毛绪纹 安徽工业大学计算机学院 二○一二年十二月

目录 实验总体说明 (3) 实验一以太网帧的构成 (3) 实验三路由信息协议RIP (8) 实验四传输控制协议TCP (10) 实验五邮件协议SMTP、POP3、IMAP (12) 实验六超文本传输协议HTTP (14)

实验总体说明 1.实验总体目标 配合计算机网络课程的教学,加强学生对计算机网络知识(TCP/IP协议)的深刻理解,培养学生的实际操作能力。 2.实验环境 计算机网络协议仿真实验室: 实验环境:网络协议仿真教学系统(通用版)一套 硬件设备:服务器,中心控制设备,组控设备,PC机若干台 操作系统:Windows 2003服务器版 3.实验总体要求 ●按照各项实验内容做实验,记录各种数据包信息,包括操作、观察、记录、分析, 通过操作和观察获得直观印象,从获得的数据中分析网络协议的工作原理; ●每项实验均提交实验报告,实验报告的内容可参照实验的具体要求,但总体上应包 括以下内容:实验准备情况,实验记录,实验结果分析,算法描述,程序段,实验过程中遇到的问题以及对思考问题的解答等,实验目的、实验原理、实验步骤不需要写入实验报告中。 实验一以太网帧的构成 实验时间:_____________ 成绩:________________ 实验角色:_____________ 同组者姓名:______________________________

练习一:领略真实的MAC帧 q....U 00000010: 85 48 D2 78 62 13 47 24 58 25 00 00 00 00 00 00 .H襵b.G$X%...... 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 ............ 练习二:理解MAC地址的作用 ●记录实验结果 表1-3实验结果 本机MAC地址源MAC地址目的MAC地址是否收到,为什么 主机B 8C89A5-7570BB 8C89A5-757113 8C89A5-7570C1 是,主机A与主机B接在同一共享模块 主机D 8C89A5-771A47 8C89A5-757113 8C89A5-7570C1 是,主机C与主机D接在同一共享模块 主机E 8C89A5-757110 无无否,与主机A、C都不在同一共享模块 主机 F 8C89A5-7715F8 无无否,与主机A、C都不在同一共享模块 练习三:编辑并发送MAC广播帧 ●结合练习三的实验结果,简述FFFFFF-FFFFFF作为目的MAC地址的作用。 答:该地址为广播地址,作用是完成一对多的通信方式,即一个数据帧可发送给同一网段内的所有节点。 练习四:编辑并发送LLC帧 ●实验结果 帧类型发送序号N(S)接受序号N(R) LLC 001F 0 ●简述“类型和长度”字段的两种含义 答:一是如果字段的值小于1518,它就是长度字段,用于定义下面数据字段的长度;二是如果字段的值大于1536,用于定义一个封装在帧中的PDU分组的类型。 思考问题: 1.为什么IEEE802标准将数据链路层分割为MAC子层和LLC子层? 答:出于厂商们在商业上的激烈竞争,IEEE的802委员会未能形成一个统一的、最佳的局域网标准,而是被迫制定了几个不同标准,如802.4令牌总线网、802.5令牌环网等。为了使数据链路层能更好地适应多种局域网标准,802委员会就将局域网的数据链路层拆成两个子层,即逻辑链路控制

四川大学自动装置实验报告

自动装置实验报告实验项目同步发电机并车实验 同步发电机励磁控制实验学院电气信息学院 任课老师肖先勇 班级103 姓名 学号

同步发电机并车实验 一、实验目的 1.加深理解同步发电机准同期并列原理,掌握准同期并列条件; 2.掌握微机准同期控制器及模拟式综合整步表的使用方法; 3.熟悉同步发电机准同期并列过程; 4.观察、分析有关波形。 二、原理与说明 将同步发电机并入电力系统的合闸操作通常采用准同期并列方式。准同期并列要求在合闸前通过调整待并机组的电压和转速,当满足电压幅值和频率条件后,根据“恒定越前时间原理”,由运行操作人员手动或由准同期控制器自动选择合适时机发出合闸命令,这种并列操作的合闸冲击电流一般很小,并且机组投入电力系统后能被迅速拉入同步。根据并列操作的自动化程度不同,又分为手动准同期、半自动准同期和全自动准同期三种方式。 正弦整步电压是不同频率的两正弦电压之差,其幅值作周期性的正弦规律变化。它能反映两个待并系统间的同步情况,如频率差、相角差以及电压幅值差。线性整步电压反映的是不同频率的两方波电压间相角差的变化规律,其波形为三角波。它能反映两个待并系统间的频率差和相角差,并且不受电压幅值差的影响,因此得到广泛应用。 手动准同期并列,应在正弦整步电压的最低点(同相点)时合闸,考虑到断路器的固有合闸时间,实际发出合闸命令的时刻应提前一个相应的时间或角度。 自动准同期并列,通常采用恒定越前时间原理工作,这个越前时间可按断路器的合闸时间整定。准同期控制器根据给定的允许压差和允许频差,不断地检查准同期条件是否满足,在不满足要求时闭锁合闸并且发出均压均频控制脉冲。当所有条件均满足时,在整定的越前时刻送出合闸脉冲。 三、实验项目和方法 (一)机组启动与建压 1.检查调速器上“模拟调节”电位器指针是否指在0位置,如不在则应调到0位置;2.合上操作电源开关,检查实验台上各开关状态:各开关信号灯应绿灯亮、红灯熄。调速器面板上数码管在并网前显示发电机转速(左)和控制量(右),在并网后显示控制量(左)

计算机网络实验报告3

课程名称计算机网络 实验项目实验三传输控制协议TCP 实验仪器网络协议仿真教学系统 系别计算机学院 专业 班级/学号 学生姓名 实验日期 成绩_______________________ 指导教师

课程名称计算机网络 实验项目实验三传输控制协议TCP 实验仪器网络协议仿真教学系统 系别计算机系 专业 班级/学号 学生姓名 实验日期 成绩_______________________ 指导教师高卓

实验三 传输控制协议TCP 一、实验目的: 1. 掌握TCP 协议的报文格式 2. 掌握TCP 连接的建立和释放过程 3. 掌握TCP 数据传输中编号与确认的过程 4. 掌握TCP 协议校验和的计算方法 5. 理解TCP 重传机制 二、实验原理: 一. TCP 报文格式 16位源端口号 16位目的端口号 32位序号 32位确认序号 4位首部长度 保留(6位) U R G A C K P S H R S T S Y N F I N 16位窗口大小 16位校验和 16位紧急指针 选项 数据 二. TCP 连接的建立 TCP 是面向连接的协议。 在面向连接的环境中,开始传输数据之前,在两个终端之间必须先建立一个连接。对于一个要建立的连接,通信双方必须用彼此的初始化序列号seq 和来自对方成功传输确认的应答号ack (指明希望收到的下一个八位组的编号)来同步,习惯上将同步信号写为SYN ,应答信号写为ACK 。 整个同步的过程称为三次握手,如图: 三. TCP 连接的释放 对于一个已经建立的连接,TCP 使用四次握手来结束通话(使用一个带有FIN 附

四川大学化工原理实验报告

竭诚为您提供优质文档/双击可除四川大学化工原理实验报告 篇一:xxxx学院化工原理实验报告 贵州理工学院化工原理实验报告 学院:化学工程学院专业:化工职教班级:化职131 篇二:化工原理实验报告张 资源与环境工程学院 精馏分离实训报告 姓名:张x 学号:xxxxxxxxx 专业:应用化工 班级:xxx 指导教师:张xx 20XX年12月 日24 目录 1.精馏实验 1.1精馏的原理

1.1.1精馏的分类 1.1.2精馏的计算方法 1.1. 2.1概述 1.1.3理论塔板数的计算方法 1.1.3.1图算法 1.1.3.2捷算法 1.1.3.3严格计算法 1.2实验目的 1.3实验原理 1.4实验材料 1.5实验过程 1.6实验结果 2.总结 1.精馏实验 精馏是一种利用回流使液体混合物得到高纯度分离的蒸馏方法,是工业上应用最广的液体混合物分离操作,广泛用于石油、化工、轻工、食品、冶金等部门。 1.1精馏的原理双组分混合液的分离是最简单的精馏操作。典型的精馏设备是连续精馏装置,包括精馏塔、再沸器、冷凝器等。精馏塔供汽液两相接触进行相际传质,位于塔顶的冷凝器使蒸气得到部分冷凝,部分凝液作为回流液返回塔底,其余馏出液是塔顶产品。位于塔底的再沸器使液体部分

汽化,蒸气沿塔上升,余下的液体作为塔底产品。进料加在塔的中部,进料中的液体和上塔段来的液体一起沿塔下降,进料中的蒸气和下塔段来的蒸气一起沿塔上升。在整个精馏塔中,汽液两相逆流接触,进行相际传质。液相中的易挥发组分进入汽相,汽相中的难挥发组分转入液相。对不形成恒沸物的物系,只要设计和操作得当,馏出液将是高纯度的易挥发组分,塔底产物将是高纯度的难挥发组分。进料口以上的塔段,把上升蒸气中易挥发组分进一步提浓,称为精馏段;进料口以下的塔段,从下降液体中提取易挥发组分,称为提馏段。两段操作的结合,使液体混合物中的两个组分较完全地分离,生产出所需纯度的两种产品。当使n组分混合液较完全地分离而取得n个高纯度单组分产品时,须有n-1个塔。 精馏之所以能使液体混合物得到较完全的分离,关键在于回流的应用。回流包括塔顶高浓度易挥发组分液体和塔底高浓度难挥发组分蒸气两者返回塔中。汽液回流形成了逆流接触的汽液两相,从而在塔的两端分别得到相当纯净的单组分产品。塔顶回流入塔的液体量与塔顶产品量之比,称为回流比,它是精馏操作的一个重要控制参数,它的变化影响精馏操作的分离效果和能耗。 1.1.1精馏的分类精馏操作按不同方法进行分类。根据操作方式,可分为连续精馏和间歇精馏;根据混合物的组分数,可分为二元精馏和多元精馏;根据是否在混合物中加入

四川大学电力系统自动装置实验报告

电力系统自动装置实验报告 学院: 电气信息学院 专业: 电气工程及其自动化 班级: 102班 学号: 1143031233 姓名: 杨宁 老师:肖先勇

同步发电机并车实验 一、实验目的 1、加深理解同步发电机准同期并列原理,掌握准同期并列条件; 2、熟悉同步发电机准同期并列过程; 3、观察、分析有关波形。 二、原理与说明 将同步发电机并入电力系统的合闸操作通常采用准同期并列方式。准同期并列要求在合闸前通过调整待并机组的电压和转速,当满足电压幅值和频率条件后,根据“恒定越前时间原理”,由运行操作人员手动或由准同期控制器自动选择合适时机发出合闸命令,这种并列操作的合闸冲击电流一般很小,并且机组投入电力系统后能被迅速拉入同步。根据并列操作的自动化程度不同,又分为手动准同期、半自动准同期和全自动准同期三种方式。 正弦整步电压是不同频率的两正弦电压之差,其幅值作周期性的正弦规律变化。它能反映两个待并系统间的同步情况,如频率差、相角差以及电压幅值差。线性整步电压反映的是不同频率的两方波电压间相角差的变化规律,其波形为三角波。它能反映两个待并系统间的频率差和相角差,并且不受电压幅值差的影响,因此得到广泛应用。 手动准同期并列,应在正弦整步电压的最低点(同相点)时合闸,考虑到断路器的固有合闸时间,实际发出合闸命令的时刻应提前一个相应的时间或角度。 自动准同期并列,通常采用恒定越前时间原理工作,这个越前时间可按断路器的合闸时间整定。准同期控制器根据给定的允许压差和允许频差,不断地检查准同期条件是否满足,在不满足要求时闭锁合闸并且发出均压均频控制脉冲。当所有条件均满足时,在整定的越前时刻送出合闸脉冲。 三、实验项目、方法及过程 (一)机组启动与建压 1、检查调速器上“模拟调节”电位器指针是否指在0位置,如不在则应调到0 位置; 2、合上操作电源开关,检查实验台上各开关状态:各开关信号灯应绿灯亮、红灯 熄。调速器面板上数码管在并网前显示发电机转速(左)和控制量(右),在 并网后显示控制量(左)和功率角(右)。调速器上“并网”灯和“微机故障” 灯均为熄灭状态,“输出零”灯亮;

郑大计算机实验报告答案

习题及实验(一) 第一部分习题 一、简答题 1计算机的发展阶段: 四个发展阶段: 第一个发展阶段:1946-1956年电子管计算机的时代。1946年第一台电子计算机问世美国宾西法尼亚大 学,它由冯·诺依曼设计的。占地170平方,150KW。运算速度慢还没有人快。是计算机发展历史上的一个里程碑。(ENIAC)(electronic numerical integator and calculator)全称叫“电子数值积分和计算机”。 第二个发展阶段:1956-1964年晶体管的计算机时代:操作系统。 第三个发展阶段:1964-1970年集成电路与大规模集成电路的计算机时代 (1964-1965)(1965-1970) 第四个发展阶段:1970-现在:超大规模集成电路的计算机时代。 第一代计算机 1946 1957 电子管运算速度较低,耗电量大存储容量小。 第二代计算机 1958 1964 晶体管体积小,耗电量较少,运算速度高,价格下降。第三代计算机 1965 1971 中小规模集成电路体积功能进一步减少,可靠性及速度进一步提高。 第四代计算机 1972年至今大规模及超大规模集成电路性能到规模提高,价格大幅度降低,广泛应用于社会生活的各个领域,走进办公室和家庭 2.主要应用:计算机的应用极其广泛,早期的计算机主要体现在科学计算机,数据处理,计算机控制等几个方面.随着微型计算机的发慌和迅速普及,计算机的应用

已渗透到国民经济各个总门及社会生活的各个方面现代计算机除了传统的应用外,还应用于以下几个大方面. 1.办化自动化 2.计算机辅助系统 3.虚拟现实 4.人工智能 5.电子商务 3. 1.管理系统中的各种资源,包括硬件资源和软件资源。 1)监视资源 2)决定分配资源策略 3)分配资源 4)回收资源 2.为用户提供友好的界面。 1)命令行界面 2)图形化界面 4.操作系统大致可分为6种类型。 简单操作系统。分时系统。实时操作系统。网络操作系统。分布操作系统。智能操作系。目前微机上常见的操作系统有DOS、OS/2、UNIX、XENIX、LINUX、Windows、Netware等。 5. 系统软件,应用软件。 系统软件:用以实现计算机系统的管理、控制、运行、维护,并完成应用程序的装入、编译等任务的程序。系统软件是开发和运行应用软件的平台,系统软件的核心是操作系统。

计算机应用实验报告

计算机应用实验报告 LG GROUP system office room 【LGA16H-LGYY-LGUA8Q8-LGA162】

实验一乘法运算实验 一、实验目的: 1、了解调试程序DEBUG的常用命令和功能。 2、掌握多字节乘法运算程序的编写方法。 3、学会程序调试方法。 二、实验原理 三、实验内容: 将两个无符号数相乘,将结果数存入规定地址。

四、实验报告内容: 1、实验用源程序: 开机选择“开始”→“运行”→输入“command”→输入“debug”调出debug应用程序。 Debug源程序: D 2000:0000 ;查看部分内存内容 E 2000:0000 2A 30 15 1B ;写入数据 D 2000:0000 ;查看输入后的数据 A 回车 ;写程序 MOV AX,2000 MOV DS,AX MOV AX,[0000] MOV BX,[0002] MUL BX ;让AX乘以DX,结果存入DX:AX MOV [0004],AX MOV [0007],DX INT 20H ;正常中断程序 Ctrl+M ;退出编程,由键盘输入 G ;运行程序 D 2000:0000 ;查看程序运行结果 2、实验结果分析 输出结果显示为72-61 18-05结果正确。 实验中遇到的问题,在debug里输入程序要细心,如果输入有误为保证结果的正确应重新打开debug程序。实验中发现输入的大小写对程序的结果没有影响。

实验二除法运算实验 一、实验目的: 1、了解调试程序DEBUG的常用命令和功能。 2、掌握多字节除法运算程序的编写方法。 3、学会程序调试方法。 二、实验内容: 将两个无符号数相除,将结果数存入规定地址。 被除数和除数的存放地址及数据如下: 三、实验报告内容: 1、实验用源程序 按照实验一中的方法调出debug: Debug源程序: D 2000:0000 ;查看部分内存内容 E 2000:0000 5D 7C 5D 4C 3B 2A ;写入数据 D 2000:0000 ;查看输入后的数据 A ;写程序 MOV AX,2A3B MOV DX,4C5D MOV BX,7C5D MOV AX,[0010] MOV DX,[0012] MOV BX,[0014] DIV BX ;被除数DX:AX除BX,商存入AX,余数存到DX MOV [0016],AX

四川大学微机原理冒泡法排序实验报告

《微机原理与接口技术实验报告》 学院:电气信息学院 班级:电力 老师: 学号: 姓名:

目录 1.实验目的 (1) 2.实验内容 (1) 3.程序流程图 (2) 4.程序清单与注释 (4) 5.运行结果 (10) 6.实验心得 (11)

一、实验目的: 经过第一次试验,我们初次了解了DEBUG调试程序强大功能。 1.学习汇编语言循环结构语句的特点,重点掌握冒泡排序的方法。 2.理解并掌握各种指令的功能,编写完整的汇编源程序。 3.进一步熟悉DEBUG的调试命令。 二、实验内容: 用冒泡的方法对一组数据元素排序,它的基本方法是:将相邻的两个元素通过比较进行排序,通过多次,多遍的邻元素排序,实现整个一组数的排序。 对于5(N)个元素,整个排序通过4遍(=N-1)邻元素排序完成。每一遍的排序由若干次邻元素的排序组成。 4遍排序中,邻元素的排序依次为4,3,2,1遍。完成第一遍排序后,最大数沉底,已经到达它应占据的位置,不需要参加下一遍的排序。 实验要求: 1.编制程序,从键盘输入300,250,280,240,260这五个数,并思考如何输 入任意五个数,五个数可以有一位数,二位数,三位数,四位数,五位数,混合输入比较大小; 2.对这组数用冒泡法进行排序,并输出原始数据及排序后数据,两两数据之间 用空格分隔; 3.利用DEBUG调试工具,用D0命令,查看排序前后,内存数据的变化,以及会 用调试命令查看程序运算中寄存器中的值; 4.去掉最大和最小的两个值,求出其余值的平均值,并输出最大值,最小值和 平均值; 5.用压栈PUSH和出栈POP指令“先进后出”的特点,设计算法将平均值按位逐 个输出(即输出263); 6.用移位指令将平均值以二进制串的形式输出。 7.设计程序要有模块化的思想,用子程序实现不同的功能; 8.所有数据输出前要用字符串的输出指令,进行输出提示(如:zui da zhi shi : 300等),所有数据结果能清晰地显示在电脑屏幕上。

计算机实验报告

实验指导 实验一 Visual C++开发环境使用 大气科学专业实验日期 4月 18日姓名:学号 1.实验目的 (1)熟悉Visual C++集成开发环境。 (2)掌握C语言程序的书写格式和C语言程序的结构。 (3)掌握C语言上机步骤,了解C程序的运行方法。 (4)能够熟练地掌握C语言程序的调试方法和步骤 2. 实验内容 输入如下程序,实现两个数的乘积。 #include ; int main() { x=10,y=20 p=prodct(x,t) printf("The product is : ",p) int prodct(int a ,int b ) int c c=a*b return c } (1)在编辑状态下照原样键入上述程序。 (2)编译并运行上述程序,记下所给出的出错信息。 (3)再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。 3.分析与讨论 (1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。(2)总结C程序的结构和书写规则。 实验心得: 通过本次实验,我了解到C语言的特点,初步认识程序设计方法和程序设计一般步骤,掌握C语言程序编译、链接和运行过程,为我进一步学好C语言打下了基础。

实验二数据类型、运算符和表达式 大气科学专业实验日期4 月 25日姓名:刘园园学号327 1.实验目的 (1)理解常用运行符的功能、优先级和结合性。 (2)熟练掌握算术表达式的求值规则。 (3)熟练使用赋值表达式。 (4)理解自加、自减运算符和逗号运算符 (5)掌握关系表达式和逻辑表达式的求值 2.实验内容 (1)整数相除 #include<> int main() { int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("d=%d , e=%d ,f=%d\n",d,e,f); return 0; } (2)自加、自减运算 #include<> int main() { int a=5,b=8; printf("a++=%d\n",a++);

四川大学化工原理流体力学实验报告

化工原理实验报告流体力学综合实验 姓名: 学号: 班级号: 实验日期:2016、6、12 实验成绩:

流体力学综合实验 一、 实验目的: 1. 测定流体在管道内流动时的直管阻力损失,作出与Re 的关系曲线。 2. 观察水在管道内的流动类型。 3. 测定在一定转速下离心泵的特性曲线。 二、实验原理 1、求 与Re 的关系曲线 流体在管道内流动时,由于实际流体有粘性,其在管内流动时存在摩擦阻力,必然会引起 流体能量损耗,此损耗能量分为直管阻力损失与局部阻力损失。流体在水平直管内作稳态流 动(如图1所示)时的阻力损失可根据伯努利方程求得。 以管中心线为基准面,在1、2截面间列伯努利方程: 因u 1=u 2,z 1=z 2,故流体在等直径管的1、2两截面间的阻力损失为 ρP h f ?= 流体流经直管时的摩擦系数与阻力损失之间的关系可由范宁公式求得,其表达式为 22 u d l h f ??=λ 由上面两式得: 22u l d P ???= ρλ 而 μρdu = Re 由此可见,摩擦系数与流体流动类型、管壁粗糙度等因素有关。由因此分析法整理可形象地表示为 )(Re,d f ελ= 式中:f h -----------直管阻力损失,J/kg; λ------------摩擦阻力系数; d l .----------直管长度与管内径,m; P ?---------流体流经直管的压降,Pa; ρ-----------流体的密度,kg/m3; 1 1 2 2 图1 流体在1、2截面间稳定流动 f h gz u p P +++=++22221211 2gz 2u ρρ

实验5 循环及其应用实验报告答案

实验五循环及其应用 【实验类型】设计性 【实验学时】2学时 【实验目的】 1、熟悉掌握用while语句,do-while语句和for语句实现循环的方法。 2、掌握在程序设计中用循环语句实现一些常用算法(如穷举、迭代、递推等)。【实验内容】 编程序并上机调试运行。 1.输入两个正整数m和n,求它们的最大公约数和最小公倍数。 输入时,使m void main() {int hcf(int,int); int lcd(int,int,int); int m,n,h,x; printf("请输入两个整数m,n:\n"); scanf("%d,%d",&m,&n); h=hcf(m,n); x=lcd(m,n,h); printf("最大公约数是%d,\n最小公倍数是%d。\n",h,x); } int hcf(int m,int n) {int r; if((r=m%n)!=0) {m=n;n=r;} return(r); } int lcd(int m,int n,int h) {return (m*n/h);} (2) #include void main() {int hcf(int,int); int lcd(int,int,int); int m,n,h,x; printf("请输入两个整数m,n:\n");

scanf("%d,%d",&m,&n); h=hcf(m,n); x=lcd(m,n,h); printf("最大公约数是%d ,\n 最小公倍数是%d 。\n",h,x); } int hcf(int m,int n) { int t,r; if(n>m) {t=n;n=m;m=t;} while((r=m%n)!=0) {m=n;n=r;} return(n); } int lcd(int m,int n,int h) { int j; if(m>=n) j=m; else j=n; for(;!(j%m==0&&j%n==0);j++); return j; } 2.编写程序利用公式:! n 1!21!111e ++++= 求e 的近似值,精确到小数后6位 解: (1) #include void main() { int i=1; double e=1,k=1; do { e=e+1/k; i++; k=k*i; }while(1/k>=1e-6); printf("e 的近似值e=%f\n",e); } (2) #include void main() { int i;

四川大学微机原理实验报告

四川大学微机原理实验报告

微机原理实验报告 学院: 专业班级: 姓名 学号

实验一汇编语言编程基础 1.3汇编语言程序上机操作和调试训练 一.功能说明 运用8086汇编语言,编辑多字节非压缩型BCD数除法的简单程序,文件名取为*.ASM。 运用MASM﹒EXE文件进行汇编,修改程序中的各种语法错误,直至正确,形成*.OBJ文件。 运用LINK.EXE文件进行连接,形成*.EXE文件。 仔细阅读和体会DEBUG调试方法,掌握各种命令的使用方法。 运用DEBUG。EXE文件进行调试,使用单步执行命令—T两次,观察寄存器中内容的变化,使用察看存储器数据段命令—D,观察存储器数据段内数值。 再使用连续执行命令—G,执行程序,检查结果是否正确,若不正确可使用DEBUG的设置断点,单步执行等功能发现错误所在并加以改正。 二.程序流程图 设置被除数、商的地址指针 设置单位除法次数计数器 取被除数一位作十进制调整 作字节除法、存商 N 被除数各位已除完? Y

显示运算结果 结束 三.程序代码 修改后的程序代码如下: DATA SEGMENT A D B 9,6,8,7,5 B DB 5 C DB 5 DUP (0) N EQU 5 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV AX,DATA MOV DS,AX MOV ES,AX CLD LEA SI,A LEA DI,C MOV CX,N MOV AH,0 LP1: LODSB AAD DIV B STOSB LOOP LP1 MOV CX,N LEA DI,C LP2: MOV DL,[DI] ADD DL,30H MOV AH,2 INT 21H INC DI LOOP LP2 MOV AH,4CH INT 21H CODE ENDS END START 四.实验感想和收获

北理大学计算机实验基础-实验三实验报告表

北理大学计算机实验基础-实验三实验报告表

实验三实验报告表 实验名称:字符编码与信息交换 学号姓名班级:实验时间:年月日 实验报告表3-1 西文字符显示过程编码记录表 输入字符ASCII码(十进制数)内存信息(二进制)显示字形码(十六进制) A 65 01000001 000000800140 5 53 00110101 0FE008000800 < 60 00111100 000000060018 实验报告表3-2 汉字显示过程编码记录表 编码类型输入字符1:“字”输入字符2:“形” 汉字输入法全拼输入双拼 汉字输入码ZI X; 机内码(十六进制)D7D6H D0BEH 国际码(十六进制)5756 503E 区位码(十六进制)3736 301E 字形码(十六进制)0008 0000 0006 0000 0001 C000 0000 C000 0000 C000 0400 800C 07FF FFFE 0C00 001C 0C00 0010 1C00 0020 3800 01C0 01FF FFC0 0000 0380 0000 0700 0000 0C00 0000 1800 0000 0000 0000 0000 0000 2018 0000 703C 1FFF 8030 0183 0060 0183 00C0 0183 0180 0183 0100 0183 0200 0183 0400 0183 0804 0183 201E 0183 701C 3FFF F838 0183 0060

0000 6000 0000 6004 0000 600E 7FFF FFFF 0000 6000 0000 6000 0000 6000 0000 6000 0000 6000 0000 6000 0000 6000 0000 6000 0000 6000 003F E000 000F C000 0001 C000 0183 00C0 0183 0180 0183 0300 0303 0400 0303 1806 0303 2007 0303 000E 0603 001C 0603 0038 0403 0060 0403 00C0 0803 0380 1003 0600 3003 0C00 0000 3000 0000 C000 实验报告表3-3 不同字体的字型码 字体“字”的字型码 (十六进制表示) “形”的字型码(十六进制表示) 宋体0008 0000 0006 0000 0001 C000 0000 C000 0000 C000 0400 800C 07FF FFFE 0C00 001C 0C00 0010 1C00 0020 3800 01C0 01FF FFC0 0000 0380 0000 0700 0000 0C00 0000 1800 0000 0000 0000 0000 0000 2018 0000 703C 1FFF 8030 0183 0060 0183 00C0 0183 0180 0183 0100 0183 0200 0183 0400 0183 0804 0183 201E 0183 701C 3FFF F838 0183 0060

四川大学微机原理实验报告..

微机原理实验报告 学院: 专业班级: 姓名 学号

实验一汇编语言编程基础 1.3汇编语言程序上机操作和调试训练 一.功能说明 运用8086汇编语言,编辑多字节非压缩型BCD数除法的简单程序,文件名取为*.ASM。 运用MASM﹒EXE文件进行汇编,修改程序中的各种语法错误,直至正确,形成*.OBJ文件。 运用LINK.EXE文件进行连接,形成*.EXE文件。 仔细阅读和体会DEBUG调试方法,掌握各种命令的使用方法。 运用DEBUG。EXE文件进行调试,使用单步执行命令—T两次,观察寄存器中内容的变化,使用察看存储器数据段命令—D,观察存储器数据段内数值。 再使用连续执行命令—G,执行程序,检查结果是否正确,若不正确可使用DEBUG的设置断点,单步执行等功能发现错误所在并加以改正。 二.程序流程图 设置被除数、商的地址指针 设置单位除法次数计数器 取被除数一位作十进制调整 作字节除法、存商 N 被除数各位已除完? Y 显示运算结果 结束 三.程序代码 修改后的程序代码如下: DATA SEGMENT A D B 9,6,8,7,5 B DB 5 C DB 5 DUP (0) N EQU 5 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV AX,DATA MOV DS,AX

MOV ES,AX CLD LEA SI,A LEA DI,C MOV CX,N MOV AH,0 LP1: LODSB AAD DIV B STOSB LOOP LP1 MOV CX,N LEA DI,C LP2: MOV DL,[DI] ADD DL,30H MOV AH,2 INT 21H INC DI LOOP LP2 MOV AH,4CH INT 21H CODE ENDS END START 四.实验感想和收获 通过这次试验,我对微机原理上级试验环境有了初步的认识,可以较为熟练地对汇编语言进行编译,汇编及连接,同时也学会了用DEBUG调试程序,收获很大。 在这次试验中我也遇到了一些困难。在刚开始我发现自己无法打开MASM.EXE,计算机提示是由于版本不兼容。我这才想起来我的操作系统是64位的,和该软件版本不兼容。不过我并没有放弃,经过我的摸索之后,我发现用DOSBOX这个程序可以解决我的电脑运行不了该程序的问题。在解决了第一个难题后,我开始着手改正试验1.3中的语法错误和逻辑错误,但是无论我怎么修改却始终都无法通过编译,并且基本上每句话都有编译错误。根据我多年编程的经验来看,这应该是中文输入法在搞鬼,之后我耐心地把程序重新输了一遍,果然通过了编译,并且之后的连接也进行的很顺利。在用DEBUG调试时发现得出的结果也很正确。 尽管这次的实验内容非常简单,仅仅是教会我们一些基本的操作,但我却明显感觉到了汇编语言和C语言等高级语言所不同的地方。越是底层,基础的东西就越不人性化,用C语言一行代码就能实验的功能在汇编语言中可能要花上数十行。看来汇编语言的学习不是几周就能速成的,必须要有长年累月的积淀才能掌握。

相关文档
最新文档