太原理工大学硬件实验报告.docx

上传人:b****5 文档编号:29466267 上传时间:2023-07-23 格式:DOCX 页数:24 大小:231.96KB
下载 相关 举报
太原理工大学硬件实验报告.docx_第1页
第1页 / 共24页
太原理工大学硬件实验报告.docx_第2页
第2页 / 共24页
太原理工大学硬件实验报告.docx_第3页
第3页 / 共24页
太原理工大学硬件实验报告.docx_第4页
第4页 / 共24页
太原理工大学硬件实验报告.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

太原理工大学硬件实验报告.docx

《太原理工大学硬件实验报告.docx》由会员分享,可在线阅读,更多相关《太原理工大学硬件实验报告.docx(24页珍藏版)》请在冰豆网上搜索。

太原理工大学硬件实验报告.docx

太原理工大学硬件实验报告

本科实验报告

 

课程名称:

计算机硬件技术基础(实验一)

实验地点:

专业班级:

软件13xx班学号:

201300xxxx

学生姓名:

指导教师:

高劲松

2015年5月8日

 

太原理工大学学生实验报告

学院名称

软件学院

专业班级

学号

学生姓名

实验日期

2015-5-8

成绩

课程名称

硬件技术基础

实验题目

汇编语言程序设计:

顺序程序实验

一、实验目的和要求

1.通过宏汇编(MASM)上机操作,使学生掌握汇编语言源程序的编辑、汇编、连接和执行的完整过程。

2.掌握汇编过程中各命令的作用及使用方法,了解汇编和连接的过程。

3.掌握8086/8088指令系统中已学指令的书写格式、功能及其作用。

4.结合实例程序掌握汇编语言程序上机过程,熟悉DEBUG程序中常用命令的使用。

二、实验内容和原理

1.预习汇编程序上机操作的全过程。

以下是MASM5环境中运行步骤:

(同学们也可以使用CV集成编译环境)

32位机运行过程:

编写一个汇编语言源程序如exp1.asm,放在MASM5文件夹下;

(1)在dos环境下,如:

d:

\masm\下输入命令:

edit

(2)打开编辑窗口

(3)输入如下原程序后保存文件,例如exp1.asm

(4)输入下列指令进行编译:

d:

\masm\masmexp1.asm回车,出现如下界面:

Microsoft(R)MacroAssmblerVersion5.00

Copyright(C)MicrosoftCorpl981--1985,1987.AHrightsreserved.

Objectfilename[exp1.obj]:

(回车)

SourceListing[NUL.LST]:

(回车)

Croesreferencs[NUL.CRF]:

(回车)

0WarningErrors0SeversErrors

检查错误,如结果为0错误0警告则编译成功,产生exp1.obj文件

(5)输入下列指令进行链接:

d:

\masm\linkexp1.obj回车,出现如下界面:

RunFile[exp1.EXE]:

(回车)

ListFILE[NUL.MAP]:

(回车)

Libraries[.LIB]:

(回车)

LINK:

warningL4021:

NoSTACKsegment

如结果为0错误0警告则链接成功,产生exp1.exe文件

64位机运行过程:

汇编编译器masm无法在64位下运行,在64位下使用masm编译器会提示不兼容,这时我们可以安装DOS虚拟机,即DOSBox。

(1)假设编译器在E:

\masm5,就是那个有masm.exe,debug.exe,link.exe的那个文件夹 

(2)输入命令 mount C E:

\masm5  (把文件夹E:

\masm5当作虚拟机的C盘) 

(3)然后输入 C:

  (进入虚拟的C盘,其实就是E:

\masm5)

(4)之后就跟32位机上运行过程一样。

2.对已经汇编连接成功的可执行文件,使用DEBUG命令调试程序找出程序的断点,执行程序,显示有关寄存器、存储单元的内容,分析程序的结果。

三、主要仪器设备

HP242g1

四、操作方法与实验步骤

编制程序计算Z=X+Y,其中X、Y、Z均为字型无符号数。

参考源程序如下

DATASEGMENT

XDW10H

YDW20H

ZDW?

DATAENDS

CODESEGMENT

MAINPROCFAR

ASSUMECS:

CODE,DS:

DATA

START:

PUSHDS

MOVAX,0

PUSHAX

MOVAX,DATA

MOVDS,AX

MOVAX,X

ADDAX,Y

MOVZ,AX

RET

MAINENDP

CODEENDS

ENDSTART

(1)编辑源程序,汇编并连接之,若有错误则编辑修改并重新汇编、连接,形成EXE文件。

(2)分别用DEBUG调试程序中的T命令、D命令找到断点、运行程序、显示程序的运行结果。

实验内容与要求

1.编写程序计算Z=(A+B)-(C-D),其中A=30H,B=20H,C=10H,D=05H均为字节单元无符号数。

STACKSEGMENTSTACK

DB50DUP(0)

STACKENDS

DATASEGMENT

ADB30H

BDB20H

CDB10H

DDB05H

ZDB?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVAL,A

ADDAL,B

MOVAH,D

SUBAH,C

SUBAH,AL

MOVZ,AL

CODEENDS

ENDSTART

2.设W、X、Y、Z、V均为16位字单元有符号数,编程计算W=(X*Y-50)/Z,将结果存入变量W,而余数存入变量W+2中。

(X为非零数,并假设X、Y、Z的值分别为50、20、10、15)

STACKSEGMENTSTACK

DB50DUP(0)

STACKENDS

DATASEGMENT

XDW50H

YDW20H

ZDW10H

WDW?

DATAENDS

第3/7页

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVAX,X

IMULY

SUBAX,50

MOVBX,Z

IDIVBX

MOVW,AX

MOV[W+2],DX

CODEENDS

ENDSTART

五、实验数据记录和处理

6、实验结果与分析

由调试过程可知,上述实验结果正确

7、讨论、心得

在实验过程中,遇到了许多困难,第一次实验,有很大程度上是对基本知识不熟悉造成的,通过查阅书籍和上网查资料找到了解决问题的方法,在今后的学习中,我要多注重基本知识的学习,回归课本,在课本中再延伸。

 

 

本科实验报告

 

课程名称:

计算机硬件技术基础(实验二)

实验地点:

专业班级:

软件13xx班学号:

201300xxxx

学生姓名:

指导教师:

高劲松

2015年5月15日

太原理工大学学生实验报告

学院名称

软件学院

专业班级

学号

学生姓名

实验日期

2015-5-15

成绩

课程名称

硬件技术基础

实验题目

汇编语言程序设计:

分支和循环程序实验

一,实验目的和要求

1.通过分支程序设计、循环程序设计实验,掌握无条件转移指令、条件转移指令的格式、功能及使用方法。

2.掌握分支程序的结构、单分支和多分支程序的设计方法。

3.了解循环程序的基本结构和控制循环的方法。

二、实验内容和原理

要求学生按教师指定题目进行汇编语言程序设计,并上机调试,以实现较复杂的程序设计。

1.已知X、Y、Z、MAX为16位的带符号数,求三个数中最大值,结果存入MAX单元。

2.求10个学生成绩中的最高成绩,结果存入MAX字节单元中,已知成绩为字节型。

三、主要仪器设备

HP242g1

四、操作方法与实验步骤

DB200DUP(0)

STACKENDS

DATASEGMENT

XDW10H

YDW20H

ZDW30H

MAXDW?

DATAENDS

第2/6页

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVAX,X

MOVBX,Y

CMPAX,BX

JNLNEXT

XCHGAX,BX

NEXT:

MOVBX,Z

JNLNEXT1

XCHGAX,BX

NEXT1:

MOVMAX,AX

CODEENDS

ENDSTART

STACKSEGMENTSTACK

DB200DUP(0)

STACKENDS

DATASEGMENT

A1DB96,73,34,86,99,20,15,4,100,0

MAXDB?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVCX,10

MOVBX,0

MOVAL,A1[BX]

AGAIN:

INCBX

CMPA1[BX],AL

JBENEXT

XCHGAL,A1[BX]

NEXT:

LOOPAGAIN

MOVMAX,AL

CODEENDS

ENDSTART

五、实验数据记录和处理

六、实验结果与分析

由以上的调试步骤以及分析可知实验正确。

七、讨论、心得

通过一步一步的调试可能找到错误的原因。

写循环使用LOOP,其中处理数据的形式,即A1[BX]。

忘记其中的语句的语义是否正确可以使用调试开验证是否正确。

在自己一步步的调试过程中,我的动手能力和实际编程能力得到了极大的提高。

 

实验地点

指导教师

高劲松

本科实验报告

 

课程名称:

计算机硬件技术基础(实验三)

实验地点:

专业班级:

软件13xx班学号:

201300xxxx

学生姓名:

指导教师:

高劲松

2015年5月22日

太原理工大学学生实验报告

学院名称

软件学院

专业班级

学号

学生姓名

实验日期

2015-5-22

成绩

课程名称

硬件技术基础

实验题目

汇编语言程序设计:

综合程序设计实验

一,实验目的和要求

1.通过分支程序设计、循环程序设计实验,掌握无条件转移指令、条件转移指令的格式、功能及使用方法。

2.掌握分支程序的结构、单分支和多分支程序的设计方法。

3.了解循环程序的基本结构和控制循环的方法。

4.掌握通过DOS中断调用使用键盘和显示器的方法。

二、实验内容和原理

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

三、主要仪器设备

笔记本电脑

四、操作方法与实验步骤

STACKSEGMENTSTACK

DB200DUP(0)

STACKENDS

DATASEGMENT

XDB0;

DATAENDS

第2/5页

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVAH,01H

INT21H

CMPAL,'a'

JNLNEXT

MOVX,'a'-'A'

ADDX,AL

MOVAH,02H

MOVDL,X

INT21H

MOVAH,4CH

INT21H

NEXT:

MOVX,'A'-'a'

ADDX,AL

MOVAH,02H

MOVDL,X

INT21H

MOVAH,4CH

CODEENDS

ENDSTART

五、实验数据记录和处理

六、实验结果与分析

由上述过程得知,实验结果正确。

七、讨论、心得

通过使用-u来进行反编译也是一种很好的进行测试的方法。

并且对于一些并不熟悉的ASCALL码有时可以通过直接用字符的方法去做,省去记忆字符。

 

实验地点

指导教师

高劲松

本科实验报告

 

课程名称:

计算机硬件技术基础(实验四)

实验地点:

专业班级:

软件13xx班学号:

201300xxxx

学生姓名:

指导教师:

高劲松

2015年5月29

 

太原理工大学学生实验报告

学院名称

软件学院

专业班级

学号

学生姓名

实验日期

2015-5-29

成绩

课程名称

硬件技术基础

实验题目

汇编语言程序设计:

综合程序设计实验

一,实验目的和要求

1.通过分支程序设计、循环程序设计实验,掌握无条件转移指令、条件转移指令的格式、功能及使用方法。

2.掌握分支程序的结构、单分支和多分支程序的设计方法。

3.了解循环程序的基本结构和控制循环的方法。

4.掌握通过DOS中断调用使用键盘和显示器的方法。

二、实验内容和原理

编写一个汇编程序,使得从键盘上输入十个以内的字符,以输入空格结束,然后按数字、字母和其它符号三类统计各自的个数,在屏幕上依次显示出统计结果。

完善下面的原程序

CODESEGMENT

MAINPROCFAR

ASSUMECS:

CODE

START:

PUSHDS

SUBAX,AX

PUSHAX

MOVBH,0;统计数字的个数

MOVBL,0;统计字母的个数

MOVDH,0;统计其它字符的个数

MOVCX,10

AA1:

CMPCX,0

JZSTOP;输入字符超过10个

MOVAH,1

INT21H;从键盘接收一个字符

CMPAL,20H

JZSTOP

CMPAL,’0’

JBCC1

CMPAL,’9’

JACC1

INCBH

自行写出比较是否为字母的情况

CC2:

INCDH

DECCX

STOP:

MOVDL,BH

MOVAH,02

INT21H

自行写出输出字母的个数

自行写出输出其它字符的个数

RET

Mainendp

Codeends

End

三、主要仪器设备

HP242g1

四、操作方法与实验步骤

STACKSEGMENTSTACK

DB200DUP(0)

STACKENDS

DATASEGMENT

XDB'0'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

SUBAX,AX

MOVBX,0

MOVDX,0

MOVCX,10

AA1:

CMPCX,0

JZSTOP

MOVAH,1

INT21H

第3/5页

CMPAL,20H

JBSTOP

CMPAL,'0'

JBCC2

CMPAL,'9'

JACC1

INCBH

JMPNEXT1

CC1:

CMPAL,'A'

JBCC2

CMPAL,'Z'

JBNEXT

CMPAL,'a'

JBCC2

CMPAL,'z'

JACC2

NEXT:

INCBL

JMPNEXT1

CC2:

INCDH

NEXT1:

LOOPAA1

STOP:

MOVAH,2

MOVDL,BH

ADDDL,X

INT21H

MOVAH,2

MOVDL,BL

ADDDL,X

INT21H

MOVAH,2

MOVDL,DH

ADDDL,X

INT21H

MOVAX,4C00H

INT21H4

CODEENDS

ENDSTART

五、实验数据记录和处理

六、实验结果与分析

由上述过程可知,实验结果正确。

七、讨论、心得

通过本次课程设计,自己在哪些方面的能力有所提高。

在设计程序时,遇到的问题,通过上网找,自学得到许多知识,独立思考能力提高很多。

经过本次的实验设计,学会了独立思考,语言表达能力有所提高,此外动手能力也较以前有很大提高。

在这几次的试验中,掌握了许多实际的操作,开始编的程序不能运行,但是后来经过努力的修改,终于使得程序正确运行。

实验地点

明向校区行知楼B117

指导教师

高劲松

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1