PC机实验报告.docx

上传人:b****7 文档编号:25395434 上传时间:2023-06-08 格式:DOCX 页数:20 大小:892.36KB
下载 相关 举报
PC机实验报告.docx_第1页
第1页 / 共20页
PC机实验报告.docx_第2页
第2页 / 共20页
PC机实验报告.docx_第3页
第3页 / 共20页
PC机实验报告.docx_第4页
第4页 / 共20页
PC机实验报告.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

PC机实验报告.docx

《PC机实验报告.docx》由会员分享,可在线阅读,更多相关《PC机实验报告.docx(20页珍藏版)》请在冰豆网上搜索。

PC机实验报告.docx

PC机实验报告

微机原理与接口技术

(2015—2016年)

实验报告

南昌大学

 

学生姓名:

学号:

专业班级:

指导老师:

 

实验一:

熟悉DOS环境和汇编软件的使用

一、实验目的

1、熟悉DOS环境和DOS基本操作。

2、掌握汇编程序的使用方法:

MASM,LINK,EDIT(TC),DEBUG

二、实验仪器

   1、电脑一台

三、实验内容

(一)、熟悉DOS环境

1.MS-DOS的启动,如图:

 

(二)、熟悉一些常用的DOS命令

1、更改盘符。

2、建立子目录(文件夹)。

3、显示/更改当前目录。

更改盘符和新建文件夹

4、显示磁盘目录的内容。

(三)、熟悉调试程序DEBUG.EXE的应用,练习DEBUG的常用命令

1.汇编语言源程序的建立

  程序要求是:

在屏幕上显示“Hello,world!

”。

设定源程序的文件名为1.asm。

  在DOS状态下键入以下命令:

tc

    输入以下源代码并保存

DATA   SEGMENT

        BUF    DB 'Hello,world!

$'

DATA   ENDS

CODE   SEGMENT

        ASSUMECS:

CODE,DS:

DATA

START:

 MOVAX,DATA

        MOVDS,AX

        MOVDX,OFFSETBUF

        MOVAH,9

        INT21H

        MOVAH,4CH

        INT21H

CODE   ENDS

        END START

 

2.将源程序文件汇编成目标程序文件

3.用连接程序生成可执行程序文件

    

4.程序的执行当我们建立了正确的可执行文件以后,就可以直接在DOS状态下执行该程序。

四、实验结果

实验前期虽然遇到问题,但是都解决了。

到了运行程序是,由于系统兼容性问题,无法运行1.exe文件。

五、实验心得 

本次实验是我们第一次进行微机原理与接口技术的实验,实验开始对MS-DOS环境比较好奇,进行了各种尝试,最后按照实验指导书进行了命令输入,但是遇到了与实验指导书上不一致的内容,不能进行实验,进过与其他小组同学的合作之后才得以完成,本次实验我们不仅仅第一次认识到了DOS命令的无限趣味,并且通过实验加强了自己对理论知识的理解,DOS的应用相对而言是有点神秘,但是确实是很有趣味的。

 

 

 

实验二:

DEBUG的使用

一、实验目的

1、熟悉DOS环境和DOS基本操作。

2、熟悉DEBUG基本操作。

二、实验仪器

   1、电脑一台

三、实验内容

1、DEBUG程序的启动

2、DEBUG的主要命令

(1)汇编命令A

(2)反汇编命令U

(3)运行命令G

(4)追踪命令T

(5)显示内存单元内容的命令D

(6)修改内存单元内容的命令E

(7)检查和修改寄存器内容的命令R

(8)命名命令N

(9)装入命令L

(10)写命令W

(11)退出DEBUG命令Q

3、使用Debug命令载入实验一中的hello.exe文件,并观察内存1.汇编语言源程序的建立

四、实验结果

通过在DEBUG下收入命令,汇编过程、反汇编过程很顺利,但是程序调试运行出来问题由于系统兼容性问题。

 

五、实验心得 

本次实验是我们第二次进行微机原理与接口技术的实验,实验开始对DEBUG程序比较好奇,进行了各种尝试,最后按照实验指导书进行了命令输入,但是遇到了与实验指导书上不一致的内容,不能进行实验,进过与其他小组同学的合作之后才得以完成,在以后的实验中要加强协作,共同进步。

 

实验三顺序结构程序设计实验

一、实验目的

1、掌握顺序程序的设计方法。

二、实验仪器

   1、电脑一台

三、实验内容

1.编写程序实现:

从键盘输入两个1位的十进制数,计算这两个数之和,并将结果在屏幕上显示出来。

DATASEGMENT

dbcdDB88H,99H,77H,66H

DATAENDS

CODESEGMENTASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

XORAH,AH

MOVSI,3

MOVBX,OFFSETdbcd

MOVAL,[BX]

NEXT:

INCBX

ADDAL,[BX]

DAA

ADCAH,0

DECSI

JNZNEXT

DONE:

PUSHAX

MOVDL,AH

ADD,DL,30H

MOVAH,02H

INT21H

POPAX

MOVBL,AL

MOVCL,4

SHRAL,CL

MOVDL,AL

ADDDL,30H

MOVAH,02H

INT21H

ANDBL,0FH

MOVDL,BL

ADDDL,30H

MOVAH,02H

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

 

2.编写程序实现:

从键盘输入0~9中任意一个自然数,将其平方值在屏幕上显示出来(要求使用查表法)。

DATASEGMENT

NUMDB0,1,4,9,16,25,36,49,64,81

RESULTDB(?

DATAENDS

CODESEGMENTASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

LEABX,NUM

MOVAH,01H

INT21H

SBUAL,30H

XLAT;平方值送AL

AAM;对两个非压缩BCD数相乘的结果(AX中)进行调整,得到正确的非压缩BCD数(把AL寄存器的内容除以0AH,商放在AH中,余数放在AL中)

ADDAX,3030H;转换为ASCII码

MOVDX,AX

XCHGDX;显示高位数字字符,

MOV,AH,6

INT21H

XCHGDX

INT21H;显示低位字符

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

四、实验结果

实验前期虽然遇到问题,但是都解决了。

到了运行程序是,由于系统兼容性问题,无法运行exe文件。

五、实验心得 

本次实验是我们第一次进行微机原理与接口技术的程序编写实验,实验开始对汇编指令有一定的生疏感,完全不知道怎样使用汇编命令,通过观察例程,参考代码,然后自己编写程序,进行学习。

通过这次实验,是我对PC机内部机制有了更深一步的认识,对通用寄存器有了认知上的提高。

 

实验四选择结构程序设计实验

一、实验目的

1、掌握分支程序的设计方法。

2、了解小写和大写字母的ASCII码表示及其转换方法,了解数字及其他字符的ASCII码表示方法。

二、实验仪器

   1、电脑一台

三、实验内容

实验四

1、从键盘输入一字符,判断该字符是小写字母、大写字母、数字还是其它字符。

若输入为小写字母,则显示“YouInputaLowercaseLetter!

”;若输入为大写字母,则显示“YouInputaUppercaseLetter!

”;若输入为数字,则显示“YouInputaDigit!

”;若输入为其它字符,则显示“YouInputOtherLetter!

”。

 

DATASEGMENT

BUFF1DB'Youinputalowercaseletter!

$'

BUFF2DB'Youinputauppercaseletter!

$'

BUFF3DB'Youinputadigit!

$'

BUFF3DB'Youinputother!

$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA

 

START:

MOVAX,DATAS

MOVDS,AX

MOVES,AX

MOVAH,1

INT21H

CMPAL,'0'

JBL4

CMPAL,'9'

JNAL1

CMPAL,'A'

JBL4

CMPAL,'Z'

JNAL3

CMPAL,'a'

JBL4

CMPAL,'z'

JNAL2

JMPL4

L1:

LEADX,BUFF1

JMPL5

L2:

LEADX,BUFF2

JMPL5

L3:

LEADX,BUFF3

JMPL5

L4:

LEADX,BUFF4

JMPL5

L5:

MOVAH,09H

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

2、在屏幕上显示“Areyoureallywanttoexit?

”,然后从键盘输入一字符,若输入“Y”或“y”,则显示“Thankyouforyourusing!

”;若输入“N”或“n”,则显示“Let’scontinue!

”;若输入其它字符,则显示“Youpressanerrorkey!

”后程序结束。

DATASEGMENT

STRINGDB'Areyoureallywanttoexit?

',0DH,0AH,'$'

THANKDB'Thankyouforyourusing!

',0DH,0AH,'$'

ERRORDB'Youpressanerrorkey!

',0DH,0AH,'$'

CONTDB'Let'scontinue!

',0DH,0AH,'$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

LEAAX,DATA

MOVDS,AX

LEADX,STRING;输入提示

MOVAH,09H

INT21H

MOVAH,01H;输入单个字符

INT21H

CMPAL,'Y'

JEEXIT

CMPAL,'y'

JEEXIT

CMPAL,'N'

JECONTINUE

CMPAL,'n'

JECONTINUE

LEADX,ERROR;按错了

MOVAH,09H

INT21H

JMPSTO

EXIT:

;用户选择退出

LEADX,THANK

MOVAH,09H

INT21H

JMPSTO;结束

CONTINE:

;用户选择继续

LEADX,CONT

MOVAH,09H

INT21H

JMPSTO

STO:

MOVAH,4CH;返回DOS

INT21H

CODEENDS

ENDSTART

四、实验结果

实验前期虽然遇到问题,但是都解决了。

到了运行程序是,由于系统兼容性问题,无法运行exe文件。

五、实验心得 

本次实验是我们第二次进行微机原理与接口技术的程序编写实验,实验开始对汇编指令有一定的生疏感,完全不知道怎样使用汇编命令,通过观察例程,参考代码,然后自己编写程序,进行学习。

通过这次实验,是我对PC机内部机制有了更深一步的认识,对通用寄存器有了认知上的提高。

 

实验五循环结构程序设计实验

一、实验目的

1、掌握循环程序的设计方法。

2、掌握比较指令、转移指令和循环指令的使用方法。

3、进一步掌握调试工具的使用方法。

二、实验仪器

   1、电脑一台

三、实验内容

1、试编写一程序,要求能从键盘接收一个个位数N,然后响铃N次(响铃的ASCII码为07H)。

提示:

用2号功能号输出07H就会响铃一次。

CODESEGMENT

ASSUMECS:

CODE

START:

MOVAH,01H;输入数字字符(结果是ASCII码)

INT21H

CMPAL,'0'

JBSTO

CMPAL,'9'

JASTO;输入错误结束

 

SUBAL,30H;求循环次数

MOVCL,AL

XORCH,CH

MOVAH,2;响铃初始化

MOVDL,07H

DONE:

;循环体

INT21H

LOOPDONE

STO:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

四、实验结果

实验前期虽然遇到问题,但是都解决了。

到了运行程序是,由于系统兼容性问题,无法运行exe文件。

五、实验心得 

本次实验是我们第三次进行微机原理与接口技术的程序编写实验,实验开始对汇编指令有一定的生疏感,完全不知道怎样使用汇编命令,通过观察例程,参考代码,然后自己编写程序,进行学习。

通过这次实验,是我对PC机内部机制有了更深一步的认识,对通用寄存器有了认知上的提高。

 

实验六综合程序设计实验

一、实验目的

1、掌握综合程序的设计方法。

2、熟练运行汇编的常用指令。

3、掌握汇程序的基本架构。

二、实验仪器

   1、电脑一台

三、实验内容

1.编写一个完整的8086汇编语言程序,从附加段中首地址为ADR1(变量名)连续存放的100个字型无符号整数中找出最大数,并将此数及其偏移地址分别放入变量MAX和MAXM中

DATASEGMENT

NUMDW100DUB(?

);设数据已经存入

MAXDW(?

MAXMDW(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

MOVAX,DATA

MOVDS,AX

LESSI,NUM

MOVCX,99

MOVAX,[SI]

MOVBX,SI;记录最大数据偏移地址

DONE:

;循环体

ADDSI,2

CMPAX,[SI]

JNBLOOPE;大于等于,进行下一次循环

;否则[SI]的数据判大,保存偏移地址

MOVDX,AX

MOVAX,[SI]

MOVBX,SI

LOOPE:

LOOPDONE

MOVMAX,AX

MOVMAXM,BX

MOV4CH

INT21H

CODEENDS

ENDSTART

2、有一个首地址为ARRAY的N个字的数组,请编程序使该数组中的数按照从大到小的次序排序。

(采用冒泡排序算法)

DSEGSEGMENT

MEMDW100DUP(?

);假设N等于100,数据已经存储。

DSEGENDS

;

CSEGSEGMENT

ASSUMECS:

CSEG,DS:

DSEG

START:

MOVAX,DSEG

MOVDS,AX

LEADI,MEM

MOVAL,99;外循环只需要99次

NEXT1:

MOVSI,DI

MOVCL,BL

NEXT2:

MOVAX,[SI]

ADDSI,2

CMPAX,[SI]

JNCNEXT3

MOVDX,[SI]

MOV[SI-2],DX

MOV[SI],AX

NEXT3:

DECCL

JNZNEXT2

DECBL

JNZNEXT1

MOVAH,4CH

INT21H

CSEGENDS

ENSSTART;本质算法是冒泡法,最小值往下冒泡,嘻嘻。

四、实验结果

实验前期虽然遇到问题,但是都解决了。

到了运行程序是,由于系统兼容性问题,无法运行exe文件。

五、实验心得 

本次实验是我们第四次进行微机原理与接口技术的程序编写实验,实验开始对汇编指令有一定的生疏感,完全不知道怎样使用汇编命令,通过观察例程,参考代码,然后自己编写程序,进行学习。

通过这次实验,是我对PC机内部机制有了更深一步的认识,对通用寄存器有了认知上的提高。

对汇编语言的程序结构,对算法的理解,以及对循环嵌套的掌握都有了进一步提高。

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

当前位置:首页 > 自然科学 > 物理

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

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