南信大 Visual C++可视化 实验4

南京信息工程大学实验(实习)报告实验(实习)名称 Windows应用程序及Windows绘图实验(实习)日期 4.8 得分指导教师李燕系计算机专业计科年级 11级班次姓名学号

一目的要求

(1)掌握Windows应用程序的编写方法

(2)熟悉绘图的基本步骤和方法

(3)了解Windows程序中绘图的原理

(4)掌握画笔的创建方法和基本绘图函数的使用

二实验内容

(1)创建一个单文档应用程序PenText,绘出如下图所示的图形。

(2)在单文档应用程序BrushGraphTest中,显示不同颜色风格的画刷。

三实验步骤

实验1:(1)使用Visual C++6.0,创建一个单文档应用程序PenText。

(2)打开工作区窗口中的ClassView页面,双击CPenTextView文件夹下的OnDraw函数,在该函数体中添加如下代码:

void CPenTextView::OnDraw(CDC* pDC)

{ CPenTextDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

CPen *pPenOld,PenNew1;

int nPenStyle[]={PS_SOLID,PS_DOT,PS_DASH,PS_DASHDOT,PS_DASHDOTDOT,

PS_NULL,PS_INSIDEFRAME};

COLORREF rgbPenClr[]={RGB(255,0,0),RGB(0,255,0),RGB(0,0,255),

RGB(255,255,0),RGB(255,0,255),RGB(0,255,255),RGB(192,192,192)};

pDC->TextOut(40,10,"用不同样式的画笔绘画");

for(int i=0;i<7;i++)

{ PenNew1.CreatePen(nPenStyle[i],1,RGB(0,0,0));

pPenOld=pDC->SelectObject(&PenNew1);

pDC->MoveTo(70,40+30*i);

pDC->LineTo(160,40+30*i);

pDC->SelectObject(pPenOld);

PenNew1.DeleteObject();

}

pDC->TextOut(240,10,"用不同宽度和颜色的画笔绘图");

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

{ CPen PenNew2(PS_SOLID,i+1,rgbPenClr[i]);

pPenOld=pDC->SelectObject(&PenNew2);

pDC->Ellipse(260,30+40*i,400,60+40*i);

pDC->SelectObject(pPenOld);

PenNew2.DeleteObject();

}

pDC->TextOut(500,10,"画矩形");

pDC->Rectangle(500,40,600,120);

pDC->TextOut(500,140,"画圆角矩形");

pDC->RoundRect(500,170,600,250,20,20);

}

(3)编译运行程序,结果如下图所示:

实验2:(1)使用Visual C++6.0,创建一个单文档应用程序BrushGraphText。

(2)打开工作区窗口中的ClassView页面,双击CBrushGraphTextView文件夹下的OnDraw 函数,在该函数体中添加如下代码:

void CBrushGraphTestView::OnDraw(CDC* pDC)

{ CBrushGraphTestDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

int i;

CBrush * pNewBrush;

CBrush * pOldBrush;

struct tagColor

{ int r; int g; int b; }

color[7]={{255,0,0},{0,255,0},{0,0,255},{255,255,0},{255,0,255},{0,255,255},{0,0,0}};

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

{ pNewBrush=new CBrush;

if(pNewBrush->CreateSolidBrush(RGB(color[i].r,color[i].g,color[i].b)))

{ pOldBrush=pDC->SelectObject(pNewBrush);

pDC->Rectangle(40,20+i*40,200,50+i*40);

pDC->Ellipse(500,40+40*i,650,70+40*i);

pDC->SelectObject(pOldBrush);

}

delete pNewBrush;

}

int nBrushPattern[6]={HS_BDIAGONAL,HS_CROSS,HS_DIAGCROSS, HS_FDIAGONAL,HS_HORIZONTAL,HS_VERTICAL};

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

{ pNewBrush=new CBrush;

if(pNewBrush->CreateHatchBrush(nBrushPattern[i],RGB(0,0,0)))

{ pOldBrush=pDC->SelectObject(pNewBrush);

pDC->Rectangle(240,20+i*40,400,50+i*40);

pDC->SelectObject(pOldBrush);

}

delete pNewBrush;

}

}

(3)编译运行程序,结果如下图所示:

四小结

计网实验DNS, Data Encapsulation and Frame Examination

Computer netowrks Labs DNS, Data Encapsulation and Frame Examination DNS, Data Encapsulation and Frame Examination Learning Objectives At completion of this lab, you will be able to: https://www.360docs.net/doc/0d11092653.html,e Wireshark to capture and analyze DNS message 2.Understand how DNS works https://www.360docs.net/doc/0d11092653.html,e nslookup and ipconfig commands 4.Explain the header fields in an Ethernet II frame. 5.understand data encapsulation

6. Report and Feedback on this lab A nswer all questions with supporting screenshots. Please fill in the following feedback form and append it to the report. Your feedback is valuable to us so that we can improve this lab, and make the course welcome. For each task, please rate the following in the scale of 1 through 5: ?The degree of difficulty: 1 = too easy; 5 = too difficult ?The learning experience: 1 = learned nothing; 5 = learned a lot ?Your interest: 1 = no interest; 5= high interest ?Time used for the task: in minutes Task Difficulty (1—5) Learning (1—5) Interest (1—5) Time ( min) Task 0 Task 1 Task 2 Task 3 Task 4 Your suggestion/comment: Background When upper layer protocols communicate with each other, data at the sending host flows down the TCP/IP protocol layers and is encapsulated into a protocol data unit at lower layer, and finally encapsulated in a Layer 2 frame. For example, DNS message is often transported by UDP protocol on layer 4. So DNS message at the sending host is encapsulated in a UDP segment; the UDP segment is then encapsulated in an IP packet, and the IP packet is encapsulated finally in a layer 2 frame. The frame composition is dependent on the media access type, or the network. For example, if the media access is Ethernet, then the Layer 2 frame encapsulation will be Ethernet II. When learning about data encapsulation and protocol operations, it is helpful to analyze the header information found in the protocol data units. The DNS protocol operation, ipconfig command, and Ethernet II frame header will be examined in this lab. Ethernet II frames can support various upper layer protocols. For more background information, please read the lectures 02, 04-05, 10, 11.

计组实验报告

计算机组成原理实验报告 实验1:VERILOG 设计基础 专业班级:14级计算机二班 学号:14048001 姓名:杨娜 学号:14048003 姓名:周蓉 实验地点:理工楼901 实验时间:2016年5月14日

实验十VGA显示控制器的设计 一、实验目的 1、学习VERILOG的基本语法和编程规则 2、掌握通用寄存器等常用基本数字模块的VERILOG描述和基本设计方法 3、理解带使能控制和异步清零的8位寄存器的设计原理 4、掌握使用VERILOG设计和验证带使能控制和异步清零的8位寄存器的方法 5、掌握移位寄存器的设计方法 二、实验任务 1、设计一个带使能控制和异步清零的8位寄存器REG8X,实现8位输入的锁存,在时钟的上升沿处得到一个8位的输出和一个8位的反向输出,将结果显示在发光二极管。 模块的端口描述如下: 模块的参考物理结构如下: R7 R6 R i R 0 7 6 i 0 带使能控制和异步清零的8位寄存器 模块的使用注意事项

1.数据源D(7..0)一直加在寄存器的数据输入端; 2.周期性的时钟信号Clock一直加在寄存器的时钟输入端 3.使能信号Enable控制寄存器是否接受数据。当Enable = '0'时,寄存器不 接受数据,保持原来的状态不变;当Enable = '1'时,在时钟信号Clock正 跳变时,寄存器接受并保存当时D(7..0)的数据; 4.本寄存器其它方面的功能与上述的寄存器相同。 完成的参考电路图如下:dout=q 2、设计一个有左、右移位功能的8位寄存器REGSHIFT8,并仿真验证。

三、实验内容 1、通过输入数据先进行计算,并通过实验进行验证REG8X。 (1)、将清零信号Resetn(sw17)设为0,将输入信号D(sw7~sw0)设为10101010,观察输出信号Q(ledr7~ledr0)和Qb(ledg7~ledg0),观察并记录输出。 (2)、将清零信号Resetn(sw17)设为1,在时钟信号处输入一个上升沿(按下key0),观察并记录输出。 (3)、将输入信号D(sw7~sw0)设为01010101,观察并记录输出。 (4)、在时钟信号处输入一个上升沿(按下key0),观察并记录输出。 (5)、自行完善设计表格,观察并记录测试输出。 实验数据表 2、通过输入数据先进行计算,并通过实验进行验证REGSHIFT8。 (1)、测试清零信号Resetn (2)、测试移位功能 (3)、测试寄存功能 (4)、自行设计表格观察并记录测试输出。 实验数据表

汇编实验报告(详细版)

计算机组成与汇编语言(实验报告) 内容: 实验一、六、七、八 院系专业:计算机学院计算机科学与技术 姓名: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++)

计网实验TCPIPConfiguration

Test 1. TCP/IP Configuration 1. Click Start and then click Run. Type the command or cmd and then press Enter. 2. At the DOS prompt, type NET HELP and press Enter. You should see something like the screen below: The command you are interested in is the View command. To obtain information about it, type NET HELP VIEW, and press Enter. 3. What is the purpose of NET VIEW: The NET VIEW command shows the names of the machines present on your network. Notice that it lists the names of machines on the left, in

column labelled “Server name”and another column labelled “Remark” 4. List the machines after you have typed NET VIEW from the command prompt

Close the DOS window by typing EXIT on the command line and then press Enter, or by clicking the Close button in the upper right corner of the window. Obtain the TCP/IP Configuration Information

杭电计组实验1-全加器设计实验

杭电计组实验1-全加器设计实验 杭州电子科技大学计算机学院实验报告实验项目:实验1-全加器设计实验课程名称:计算机组成原理与系统结构课程设计姓名: 学号: 同组姓名: 学号: 实验位置(机号): 自己的笔记本实验日期: 指导教师: 实验内容(算法、程序、步骤和方法)一、实验目的(1),学习ISE工具软件的使用及仿真方法(2)学习FPGA程序的下载方法(3)熟悉Nexys3实验板(4)掌握运用VerilogHDL进行结构描述与建模的技巧和方法(5)掌握二进制全加器的原理和设计方法二、实验仪器ISE工具软件三、步骤、方法(1)启动XilinxISE 软件,选择File-NewProject,输入工程名,默认选择后,点击Next按钮,确认工程信息后点击Finish按钮,创建一个完整的工程。 (2)在工程管理区的任意位置右击,选择NewSource命令。弹出NewSourceWizard对话框,选择VerilogModule,并输入Verilog文件名shiyan1,点击Next按钮进入下一步,点击Finish完成创建。 (3)编辑程序源代码,然后编译,综合;选择Synthesize--XST项中的CheckSyntax右击选择Run命令,并查看RTL视图;如果编译出错,则需要修改程序代码,直至正确。 (4)在工程管理区将View类型设置成Simulation,在任意位置右击,选择NewSource命令,选择VerilogTestFixture选项。输入文件名shiyan1_test,点击Next,点击Finish,完成。编写激励代码,观察仿真波形,如果验证逻辑有误,则修改代码,重新编译,仿真,直至正确。 (5)由于实验一并未链接实验板,所以后面的链接实验板的步骤此处没有。 操作过程及结果一、操作过程实验过程和描述: moduleshiyan1(A,B,C,F,Ci);inputA,B,C;outputF,Ci;wireA,B,C,F,Ci;wi reS1,S2,S3;xorXU1(F,A,B,C),XU2(S1,A,B);andAU1(S2,A,B),AU2(S3,S1,C);or OU1(Ci,S2,S3);endmodule仿真代码 moduleshiyan1_test;//InputsregA;regB;regC;//OutputswireF;wireCi;/ /InstantiatetheUnitUnderTest(UUT)shiyan1uut(.A(A),.B(B),.C(C),.F(F),. Ci(Ci));initialbegin//InitializeInputsA=0;B=0;C=0;//Wait100nsforgloba lresettofinish#100;//AddstimulushereA=0;B=0;C=0;#100A=0;B=0;C=1;#100A =0;B=1;C=0;#100A=0;B=1;C=1;#100A=1;B=0;C=0;#100A=1;B=0;C=1;#100A=1;B= 1;C=0;#100A=1;B=1;C=1;EndRTL图 二、结果 思考题: ((1)根据查看顶层模块RTL的最外层的输入输出接口,和实验指导书式(14.1)所示电路相比,该电路图的输入输出引脚和这个加法器的引脚图式是相符合的。 ((2))尝试使用数据流描述方式现实现

汇编语言程序设计第二次实验题目

《汇编语言程序设计实验》 第二次上机实验任务 实验名称:实验二分支程序、循环程序的设计。 一.实验目的和要求 1、熟悉分支、循环程序的结构及控制方法,掌握分支、循环程序的调试方法; 2、加深对转移指令及一些常用的汇编指令的理解; 3、加深对常用DOS功能调用指令的理解,进一步熟悉TD的使用。 二.实验内容 设计实现一个学生成绩查询的程序。 1、实验背景 在以BUF为首址的字节数据存储区中,存放着n个学生的课程成绩表(百分制),每个学生的相关信息包括:姓名(占10个字节,结束符为数值0),语文成绩(1个字节),数学成绩(1个字节),英语成绩(1个字节),平均成绩(1个字节)。 例如: N EQU 1000 BUF 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个已经具体定义了学生信息的成绩表以 外,其他学生的信息暂时假定为一样的。 DB ‘wangwu’,0,0,0,0 DB 85, 85, 100, ? 2、功能一:提示并输入学生姓名 (1)使用9号DOS系统功能调用,提示用户输入学生姓名。 (2)使用10号DOS系统功能调用,输入学生姓名。输入的姓名字符串放在以in_name为首址的存储区中。 (3)若只是输入了回车,则回到“(1)”处重新提示与输入;若仅仅输入字符q,则程序退出,否则,准备进入下一步处理。 3、功能二:以学生姓名查询有无该学生 (1)使用循环程序结构,在成绩表中查找该学生。 (2)若未找到,就提示用户该学生不存在,并回到“功能一(1)”的位置,提示并重新输入姓名。 (3)若找到,则将该学生课程成绩表的起始偏移地址保存到POIN字变量中。 提示:字符串比较时,当采用输入串的长度作为循环次数时,若因循环次数减为0而终止循环,则还要去判断成绩表中名字串的下一个字符是否是结束符0,若是,才能确定找到了。 4、功能三:计算所有学生的平均成绩 使用算数运算相关指令计算并保存每一个学生的平均成绩。 平均成绩计算公式:(A*2+B+C/2)/3.5,即将语文成绩A乘以权重2、英语成绩C除以权重2后,与数学成绩B一起求和,再计算该生的平均成绩。要求避免溢出。 提示:使用循环程序结构,注意寻址方式的灵活使用。把小数3.5转换成分数后再运算避免使用浮点数指令。

计网实验报告

电气工程学院 计算机网络实验报告 姓名:彭思琦 学号:15291191 指导教师:张洪和 实验日期:2017-12-09 18:00-22:00

一、计算机信息 计算机的 IP 地址:192.168.0.5 子网掩码:255.225.255.0 默认网关:无 二、 报告内容 1 ) 画出实验室的网络拓扑图, 将每个网络用 CIDR 记法进行表示, 并注明你用的电脑处在哪一个网络。 实验室的网络拓扑图: 1. 由机房电脑组成的网络中,用 CIDR 记法要写成: 192.168.0.0/24 WAN LAN:10.10.10.1 LAN:192.168.1.1

2. TCPIP_1 CIDR 记法为:10.10.10.1/24 TCPIP_2 CIDR 记法为: 192.168.1.1/24 1 . 实验一任务一 2)在你的电脑上打开cmd 窗口,ping 一下192.1 68.0.0 网络的任何一台在线的主机,将实际运行结果进行图片保存,粘贴到实验报告上。 PING 本机 PING 百度(此部分在寝室完成)

3)在ping 的过程中,利用wireshark 捕捉包含对应ICMP 报文的MAC 帧,将此MAC 帧的各个控制字段,以及此MAC 帧中包含的IP 数据报的各个控制字段,进行标注或者用文字列出。本机IP:172.27.69.177 目的地址:74:1f:4a:9b:a1:67 源地址:30:10:b3:b8:bd:a3 类型:协议类型ipv4(8000) 版本:4 首部长度:5 首部长度5*4=20 字节 区分服务:00

汇编实验报告2-1

《汇编语言程序设计》第二次上机2-1实验报告 院系:计算机科学与技术 专业:信息安全 班级:0903班 姓名: 学号: 时间:2011-6-6 地点:南一楼808

一、实验目的 (3) 二、题目与实验要求 (3) 三、寄存器分配和变量定义说明: (3) 四、流程图 (5) 五、源程序及注释 (7) 六、实验步骤 (13) 七、实验记录 (13) 八、体会 (16)

一、实验目的 1、加深对一些常用的汇编指令的理解; 2、加深对常用DOS功能调用指令的理解; 3、进一步熟悉TD的使用。 二、题目与实验要求 1、《80X86汇编语言程序设计》教材中 P95的 3.7 题。 要求:(1)将该题改成一完整的程序(可以省略实验报告中的程序框图)。 (2)请事先指出依次执行每条程序指令后(AX)的内容。 (3)请事先指出执行ADD、SUB、SAL、RCL指令后,CF、ZF的值。 (4)记录上机执行后与(2)、(3) 中对应的内容。 2、《80X86汇编语言程序设计》教材中 P94的 3.3 题。 要求:(1)将该题改成一完整的程序,其中数据段的定义为习题3.1中的数据段(可以省略实验报告中的程序框图)。 (2)请事先画出数据段中数据的存储形式。 (3)请事先指出依次执行每条程序指令后相应寄存器中的内容。 (4)请事先给出各调指令在汇编后的形式。 (5)比较上机执行后,看到的各项内容是否与(2)、(3) ,(4)内容一致。 不一致的应分析错误原因。 3、《80X86汇编语言程序设计》教材中 P96的 3.11 题。 要求:(1)请事先指出程序运行结束后,显示器显示的内容。 (2)若将NUM的定义改成如下形式: NUM DB 35 显示的结果是什么? (3)若将NUM的定义改成如下形式: NUM DB 59 显示的结果是什么? (4)指出程序运行后看到的结果,若不一致,分析产生错误的原因。 4. 从键盘输入两串字符分别存入BUF1和BUF2区,比较两串内容是否相等,相等显示“MATCH !”, 不相等显示“NO MATCH !”。 要求:(1) 使用10号功能调用输入字符串; (2) 使用9号功能调用输出提示信息; 提示:先比较长度是否相等。 5 选做题 输入一个无符号的数字串,然后以16进制形式显示出串的值。 例如: INPUT A NUMBER : 59 RESULT : 3BH 其中下划线上的内容(59)为程序运行时输入的串。 三、寄存器分配和变量定义说明:

汇编实验指导书

汇编语言实验指导书 授课教师李娜 授课对象 05计科、网络、06计科 授课时间 07-08学年第一学期 授课地点一、二、四机房 课程简介 一.实验课程的性质和目的 汇编语言程序设计是计算机专业的一门专业基础课,是学好计算机底层系统构成的课程。汇编语言程序设计是一门实用性很强的课程。汇编语言程序程序设计实验教案是教案的重要环节,是理论教案的重要补充,只有通过实验,学生才能熟练掌握汇编语言程序设计的基本方法,并对其有更深刻的认识。本门实验课是单独设课。 二.实验教案的方法和手段 为了提高实验教案效果,实验严把预习、实验、实验报告3个环节。实验在软件实验室机房完成,单独设组,个人完成实验,每项实验以小班为单位,实验考勤采用电子签到制度。 预习:安排学生学习实验内容,了解实验的过程和操作规程,并布置思考题和预习报告,让学生有目的地去查阅与实验相关的资料。 实验:实验开始前由指导教师讲解实验要点,提出注意事项。实验过程中,主题是学生,教师是辅助作用,要求学生独立完成实验。 实验报告:实验结束后,强调学生及时填写实验记录表,对实验过程进行详细记录,对实验结果细致地分析、讨论,完成相关思考题作业。 三.课程学时 本实验课实验总学时为32学时。 四.实验成绩的考核方法 汇编语言实验成绩按百分制核定。实验过程占50%,实验报告占50%。五.大纲的适用范围 本大纲适用计算机科学与技术专业和计算机应用与维护专业学生。 六.主要设备与器材配备

七.实验项目汇总表 实验一熟悉汇编语言编程环境 一.实验目的 <1)熟悉汇编语言编程环境; <2)掌握基本汇编程序。。 二.实验仪器设备 计算机 三.实验重点、难点 熟悉汇编语言编程环境; DEBUG常用命令的正确使用。-T/-U/-Q/-G 四.实验题目 比较两个字符串string1和string2所含的字符是否相同,若相同则显示‘metch’,否则,显示’no match’。 五.实验内容、步骤 1.调用EDIT建立ASM源文件。 2.用汇编程序MASM对源文件汇编产生目标文件OBJ。 <如有问题,可用DEBUG调试。) 3.用LINK联接程序产生执行文件EXE。 4.执行程序。 附:源程序 ;PROGRAM TITLE GOES HERE—COMPARE STRING ;******************************************************** data segment string1 db 'move the cursor backward.' String2 db 'move the cursor backward.'

计网实验报告(一)

计算机网络实验报告(一) ——Windows环境下用java实现web服务器 (一)实验目的: 通过本实验进一步理解HTTP协议的技术细节以及WEB服务器的实现原理并了解java提供的支持TCP协议的借口和类的使用。 (二)实验内容: (1)处理一个http请求 (2)接收并解析http请求 (3)从服务器文件系统中获得被请求的文件 (4)创建一个包括被请求的文件的http响应信息 (5)直接发送该信息到客户端 (三)实验原理: HTTP协议的作用原理: WWW是以Internet作为传输媒介的一个应用系统,WWW网上最基本的传输单位是Web网页。WWW的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信。HTTP协议是基于TCP/IP 协议之上的协议,是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。HTTP协议的作用原理包括四个步骤: (1) 连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功。 (2) 请求:Web浏览器通过socket向Web服务器提交请求。HTTP的请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为: GET 路径/文件名HTTP/1.0 文件名指出所访问的文件,HTTP/1.0指出Web浏览器使用的HTTP版本。

(3) 应答:Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。 原理示意图如下: (四)实验步骤: 考虑利用java提供给TCP的端口和系统定义类进行传输实现,大致分为以下几步: (1) 创建ServerSocket类对象,监听端口7977。这是为了区别于HTTP的标准TCP/IP 端口80而取的; (2) 等待、接受客户机连接到端口7977,得到与客户机连接的socket; (3) 创建与socket字相关联的输入流instream和输出流outstream; (4) 从与socket关联的输入流instream中读取一行客户机提交的请求信息,请求信息的格式为:GET 路径/文件名HTTP/1.0 (5) 从请求信息中获取请求类型。如果请求类型是GET,则从请求信息中获取所访问的HTML文件名index.html。 (6) 如果HTML文件存在,则打开HTML文件,把HTTP头信息和HTML文件内容通过socket传回给Web浏览器,然后关闭文件。否则发送错误信息给Web浏览器; (7) 关闭与相应Web浏览器连接的socket字。

计组实验报告.

武汉大学计算机学院计算机科学与技术专业 CPU设计实验报告 实验名称:开放式实验CPU设计课题名称: 计算机组成原理 班级: 指导教师:徐爱萍 组长: 组员: 二零一五年三月

目录 目录 (1) 1 实验环境 (2) 1.1 Quartus Ⅱ介绍 (2) 1.2 硬件描述语言(VHDL) (3) 1.3实验的主要成果 (3) 2 实验要求 (5) 2. 1 指令格式要求 (5) 2. 2 指令流程及微信号序列分析 (6) 2.2.1 ADD指令分析 (6) 2.2.2 ADC指令分析 (7) 2.2.3 SUB指令分析 (7) 2.2.4 SBC指令分析 (7) 2.2.5 INC指令分析 (7) 2.2.6 DEC指令分析 (8) 2.2.7 SHL指令分析 (8) 2.2.8 SHR指令分析 (8) 2.2.9 MOVR指令分析 (8) 2.2.10 MOVD指令分析 (9) 2.2.11 LDRR指令分析 (9) 2.2.12 STRR指令分析 (10) 2.2.13 JMP指令分析 (10) 2.2.14 JRC指令分析 (11) 2.2.15 JRZ指令分析 (11) 2.2.16 JRS指令分析 (11) 2.2.17 CLC指令分析 (11) 2.2.18 STC指令分析 (11) 3.部件仿真实验 (11) 3.1 八个通用寄存器设计与仿真 (11) 3.1.1 设计代码 (11) 3.1.2 RTL连接图 (17) 3.1.3 仿真过程 (17) 3.2算术逻辑单元设计与仿真 (18) 3.2.1 设计代码 (18) 3.2.2 RTL连接图 (21) 3.2.3 仿真过程 (22) 4. CPU设计 (23) 4.1取指设计 (23) 4.2指令译码的设计 (25) 4.3执行部分设计 (28) 4.4存储器部分设计 (31) 4.5通用寄存器组设计 (32)

计组-4位乘法器实验报告

实验4位乘法器实验报告 姓名:X XX 学号:X XX 专业:计算机科学与技术课程名称:计算机组成同组学生姓名:无 实验时间:实验地点:指导老师:XXX 一、实验目的和要求 1.熟练掌握乘法器的工作原理和逻辑功能 二、实验内容和原理 实验内容: 根据课本上例3-7的原理,来实现4位移位乘法器的设计。 具体要求:1. 乘数和被乘数都是4位 2. 生成的乘积是8位的 3. 计算中涉及的所有数都是无符号数 4.需要设计重置功能 5.需要分步计算出结果(4位乘数的运算,需要四步算出结果) 实验原理: 1.乘法器原理图

2.本实验的要求: 1.需要设计按钮和相应开关,来增加乘数和被乘数 2.每按一下M13,给一个时钟,数码管的左边两位显示每一步的乘 积 3.4步计算出最终结果后,LED灯亮,按RESET重新开始计算 三、主要仪器设备 1.Spartan-III开发板1套 2.装有ISE的PC机1台 四、操作方法与实验步骤 实验步骤: 1.创建新的工程和新的源文件 2.编写verilog代码(top模块、display模块、乘法运算模块、去抖动模块以及 UCF引脚) 3.进行编译 4.进行Debug 工作,通过编译。

5.. 生成FPGA代码,下载到实验板上并调试,看是否与实现了预期功能 操作方法: TOP: module alu_top(clk, switch, o_seg, o_sel); input wire clk; input wire[4:0] switch; output wire [7:0] o_seg; // 只需七段显示数字,不用小数点 output wire [3:0] o_sel; // 4个数码管的位选 wire[15:0] disp_num; reg [15:0] i_r, i_s; wire [15:0] disp_code; wire o_zf; //zero detector initial begin i_r <= 16'h1122; //0x1122 i_s <= 16'h3344; //0x3344 end alu M1(i_r, i_s, switch[4:2], o_zf, disp_code); display M3(clk, disp_num, o_seg, o_sel); assign disp_num = switch[0]?disp_code:(switch[1] ? i_s : i_r); endmodule

汇编实验二

实验二3)编制在屏幕上显示九九乘法表的程序。(1)源程序 code segment assumecs:code,ds:code org 100h start: pushcs pop ds pushcs popes mov ax,3 int 10h mov di, 200h movbl, 1 again: mov al, 1 next1: mov dl, al mov al, bl add al, 30h stosb mov al, 'x' stosb mov al, dl add al, 30h stosb mov al, '=' stosb mov al, dl mulbl aam test ah, ah jz @asc xchg al, ah add al, 30h stosb xchg al, ah @asc:

add al, 30h stosb mov ax, 2020h stosw stosb mov al, dl inc al cmp al, bl jle next1 mov ax, 0d0ah stosw incbl cmpbl, 9 jle again mov ax, 0d0ah stosw mov al,'$' stosb mov ah, 9 mov dx, 200h int 21h mov ah,7 int 21h mov ah,4ch int 21h code ends end start (2)流程图

(3)实验结果 (4)心得体会 通过本次汇编课程设计,我深刻感受到了汇编语言在程序运行效率,以及时间、空间上的优越性。对汇编中常用的寄存器有了一定的了解,同时对程序设计的基本步骤有了一定的了解,此次编程对编程知识了解太少,动手能力不够强,以后在程序的调试过程在不断完善功能,使程序功能更强大,能够处理更多的错误,处理更多的异常。本次课程设计,我感受到编程成功带来的成就感,也感受到的汇编语言的特点。 4)编制在屏幕上显示用*组成的三角形的程序。 (1)流程图

计网实验二

实验二应用层协议分析实验报告 序号:姓名:学号:成绩 1.实验目的: 分析HTTP协议报文的首部格式,理解HTTP协议的工作过程;分析DNS的工作过程。2.实验环境: 连入Internet的主机一台。 3.实验步骤: 见实验指导实验abcd. 4.实验分析,回答下列问题。 实验a (1)填写浏览器的输入的URL地址。 URL地址:https://www.360docs.net/doc/0d11092653.html,/IETF-Standards-Process.html。(2)打开test1的捕获文件,分析请求报文 请求行字段: 首部字段: (3)打开test1的捕获文件,分析响应报文 状态行字段:

首部行字段: (4)根据捕获的报文,填写相应的内容 实验b. 根据操作回答下面的问题。 (1)填写浏览器的输入的URL地址。 URL地址: https://www.360docs.net/doc/0d11092653.html, 。 (2)分析test2的捕获文件,你的浏览器一共发出了多少个HTTP GET请求,每个GET 请求的对象是什么?这些请求被发送到的目的地的IP地址是多少?

一共发出五个HTTP GET请求。 (3)浏览器在下载这多个对象时,是串行下载还是并行下载?请解释。 并行下载;这样只需要建立一次TCP连接,节省时间。 (4)分析你的浏览器向服务器发出的第一个HTTP GET请求的内容,在该请求报文中,是否有一行是:IF-MODIFIED-SINCE?分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知? 没有IF-MODIFIED-SINCE。 服务器明确返回了文件内容,因为该相应报文的状态码是200,表示请求成功,信息包含在返回的响应报文中。 (5)分析捕获文件test3分析你的浏览器向服务器发出的第二个“HTTP GET”请求,在该请求报文中是否有一行是:IF-MODIFIED-SINCE?如果有,在该首部行后面跟着的信息是什么?

计网实验

《计算机网络》课程设计报告 设计题目:虚拟机的安装与使用 学院 专业 班级 学号 姓名 指导教师 附录:课程设计报告的内容及其文本格式

1.课程设计报告要求用16k纸排版,单面打印,并装订成册,装订顺序: ①封面 ②目录 ③正文 ④参考文献 2.目录格式要求: ①标题“目录”(三号、黑体、居中) ②章标题(四号字、黑体、居左) ③节标题(小四号字、宋体) ④页码(小四号字、宋体、居中) ⑤序号全部采用阿拉伯数字,居左对齐 3.正文格式要求: ①页边距:上2.5cm,下2.5cm,左2.5cm,右2cm,页眉1.5cm,页脚 1.75cm,左侧装订; ②正文文字,小四号字、宋体; ③行距:固定值 20磅; ④页码:正文页码从1开始标注,底部居中,五号; ⑤每段首行空两格。 4.参考文献及格式要求: 参考文献不少于5个(期刊、书籍、网址) ①标题:“参考文献”,小四,黑体,居中。 ②示例:(五号宋体) 例:[1] 杨绪红,汪文忠,肖俊宜等.企业信息系统的管理模式研究[J].中国软科学,2003,9.

1.虚拟机 1.1概念 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在计算机科学中的体系结构裏,他是指一种特殊的软件,可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作软件。在计算机科学中,虚拟机是指可以像真实机器一样运行程序的计算机的软件实现 1.2虚拟机技术 虚拟机技术是虚拟化技术的一种,所谓虚拟化技术就是将事物从一种形式转变成另一种形式,最常用的虚拟化技术有操作系统中内存的虚拟化,实际运行时用户需要的内存空间可能远远大于物理机器的内存大小,利用内存的虚拟化技术,用户可以将一部分硬盘虚拟化为内存,而这对用户是透明的。又如,可以利用虚拟专用网技术(VPN)在公共网络中虚拟化一条安全,稳定的“隧道”,用户感觉像是使用私有网络一样。 虚拟机技术最早由IBM 于上世纪六七十年代提出,被定义为硬件设备的软件模拟实现,通常的使用模式是分时共享昂贵的大型机。虚拟机监视器(Virtual Machine Monitor,VMM)是虚拟机技术的核心,它是一层位于操作系统和计算机硬件之间的代码,用来将硬件平台分割成多个虚拟机。VMM 运行在特权模式,主要作用是隔离并且管理上层运行的多个虚拟机,仲裁它们对底层硬件的访问,并为每个客户操作系统虚拟一套独立于实际硬件的虚拟硬件环境(包括处理器,内存,I/O 设备)。VMM 采用某种调度算法在各个虚拟机之间共享CPU,如采用时间片轮转调度算法。

计组实验一

实验报告

一.实验目的 熟悉存储器和总线的硬件电,掌握静态随机存储器 RAM 工作特性及数据的读写方法。了解与实验相关的各控制信号的意义,了解三态门在共享总线上所起的隔离作用,了解锁存器的作用及地址锁存的意义。 二.实验要求 按照实验步骤完成实验项目,实现对存储器的访问。 三.实验原理 实验所用的静态存储器由一片6116(2K×8bit)构成(位于MEM 单元),如图1所示。6116有三个控制线:CS(片选线)、OE(读线)、WE(写线),其功能如表1所示,当片选有效(CS=0)时,OE=0 时进行读操作,WE=0 时进行写操作,本实验将CS 常接地。 (图一) 由于存储器(MEM)最终是要挂接到CPU 上,所以其还需要一个读写控制逻辑,使得CPU 能控制MEM 的读写,实验中的读写控制逻辑如图2 所示,由于T3 的参与,可以保证MEM 的写脉宽与T3 一致,T3 由时序单元的TS3 给出(时序单元的介绍见第三章3.3 系统实验单元电路中6.时序与操作台单元部分)。IOM 用来选择是对I/O 还是对MEM 进行读写操作,RD=1 时为读,WR=1 时为写。 (图2)

实验原理图如图3所示,存储器数据线接至数据总线,数据总线上接有8 个LED 灯显示 D7…D0 的内容。地址线接至地址总线,地址总线上接有8 个LED 灯显示A7…A0 的内容,地址由地址锁存器(74LS273,位于PC&AR 单元)给出。数据开关(位于IN 单元)经一个三态门(74LS245)连至数据总线,分时给出地址和数据。地址寄存器为8 位,接入6116 的地址A7…A0,6116 的高三位地址A10…A8 接地,所以其实际容量为256 字节。 图3 存储器实验原理图 实验箱中所有单元的时序都连接至时序与操作台单元,CLR 都连接至CON 单元的CLR 按钮。实验时T3 由时序单元给出,其余信号由CON 单元的二进制开关模拟给出,其中IOM 应为低(即MEM 操作),RD、WR 高有效,MR 和MW 低有效,LDAR 高有效。 四,实验步骤

汇编实验2讲解

实验二循环与子程序程序设计 一、实验目的 1) 加深对循环结构的理解。 2)掌握循环程序的设计方法。 3)学习子程序的定义和调用方法。 4)掌握子程序、子程序的嵌套、递归子程序的结构。 5) 掌握子程序设计、编制及调试。 6) 熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。 二、实验内容 1) 编制程序计算S=1+2·3+3·4+4·5+……+N(N+1)+……直到N(N+1)大于200为止,并将结果由屏幕上显示出来。 2)将从3000H内存单元开始的100个字节存储单元全部清0。 3)编制在屏幕上显示九九乘法表的程序。 4)编制在屏幕上显示用*组成的三角形的程序。 5)设有五个字数据存放在以BUF为首地址的内存单元中,要求采用调用多个字数据相加的子程序方法编程,和的低位字放在RESULT单元,和的高位字放在RESULT+2单元,并将结果显示在屏幕上。 6)编写一个递归子程序,计算指数函数X n的值,其中X,n从键盘输入。 三、实验设备 PC机一台 四、实验步骤 1) 按程序流程图编制实验程序。 2) 输入源程序。 3) 汇编、连接程序,执行程序,检查结果。

4)对内存单元3000H开始的100个存储单元用E命令输入任意数。 5) 程序的执行可用DEBUG的G命令,也可用T命令单步跟踪执行。 6) 用D命令检查执行结果。 五、实验报告的要求 1)列出源程序。 2)对程序中用到的寄存器说明其功能。 3)总结计数控制循环程序的设计方法。 4) 说明怎样使用DEBUG进行程序调试的。调试过程中所遇到的问题是如何解决的。 实验2-1 源程序: DATA SEGMENT BUF DB '1+2*3+3*4+4*5+...+N(N+1)=$' DATA ENDS STACK1 SEGMENT PARA STACK DW 20H DUP(0) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1,ES:DATA START: MOV AX,DATA MOV DS,AX

相关文档
最新文档