南昌大学微机原理与接口技术实验报告.docx

上传人:b****2 文档编号:1296254 上传时间:2022-10-20 格式:DOCX 页数:24 大小:546.68KB
下载 相关 举报
南昌大学微机原理与接口技术实验报告.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

南昌大学微机原理与接口技术实验报告

实验报告

 

实验课程:

PC机原理与接口技术

姓名:

学号:

专业班级:

2016年6月

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

实验二DEBUG的使用

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

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

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

实验六综合程序设计实验

 

实验一:

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

一、实验要求:

必做

二、实验类型:

验证

三、实验学时:

2

四、实验地点:

机房

五、实验目的:

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

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

MASM,LINK,EDIT(TC),DEBUG

六、实验内容:

(一)、熟悉DOS环境

1、MS-DOS的启动

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

1、更改盘符。

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

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

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

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

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

  程序要求是:

在屏幕上显示“Hello,world!

”。

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

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

tc

输入以下源代码并保存

DATASEGMENT

BUFDB'Hello,world!

$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETBUF

MOVAH,9

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

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

masm hello.asm

MASM宏汇编程序的主要功能有以下3点:

(1)检查源程序中存在的语法错误,并给出错误信息。

(2)若源程序经汇编后没有语法错误,则产生扩展名为.OBJ的目标程序文件。

(3)若源程序中使用了宏指令,则汇编程序将展开宏指令。

源程序建立以后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编。

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

经汇编以后产生的目标程序文件(.OBJ文件)并不是可执行程序文件,必须经过连接以后,才能成为可执行文件(即扩展名为.EXE)。

linkhello.obj

如果汇编过程中有错误产生,则汇编程序将显示出错行号和错误信息。

最后显示的部分是警告错误及严重错误数。

当程序中没有定义堆栈段或虽然定义但不符合要求时,LINK在最后一行会给出类似“LINK:

warningL4021:

nostacksegment”的警告信息,表示用户程序没有定义堆栈段。

该警告信息不影响可执行程序的生成和正常运行,因为若用户程序没有定义堆栈段,程序运行时会自动使用系统提供的默认堆栈。

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

hello.exe如下图所示。

如果使用测试数据均可运行并能看到正确结果,则说明该程序编写正确。

但若得不到正确结果或结果无法看到(没有结果输出的情况下),则需要使用调试工具来调试程序了。

7、写出实验小结,内容包括实验心得(收获)、不足之处和今后应注意的问题。

由于是第一次实验,对整个编程环境和实验内容都不是很熟悉,但经过这次实验,对这些都有一些大致的了解,特别是学会了如何调试程序,也对从汇编课上学习到的理论知识有了更深刻的认识,经过自己动手编程,对汇编语言更加熟悉,通过将理论用于实践,也对学习汇编知识有很大帮助。

 

实验二:

DEBUG的使用

一、实验要求:

必做

二、实验类型:

验证

三、实验学时:

2

四、实验地点:

机房

五、实验目的:

1、熟悉DEBUG基本操作。

六、实验内容:

1、DEBUG程序的启动

在DOS环境下,键入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

七、实验小结及心得体会

通过本次实验,了解DEBUG调试程序常用命令的基本格式、主要功能和使用方法。

熟悉进入或退出DEBUG调试程序运行界面的步骤。

掌握用DEBUG调试程序进行程序编辑、调试、运行、结果检查的基本方法。

进一步汇编语言上机环境及基本操作。

感觉它比其他高级语言确实要复杂,但是能更一步体会计算机是如何操作的!

通过对debug 的运用,我们了解到了很多关于电脑方面的知识,也知道了debug 的强大功能。

我们应多加练习,以便熟悉的掌握这方面的知识。

 

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

一、实验要求:

必做

二、实验类型:

验证

三、实验学时:

2

四、实验地点:

机房

五、实验目的:

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

六、实验内容:

1.编写程序实现:

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

{提示:

数据段的格式可定义为:

dataSEGMENT

infor1DB'Pleaseinputthefirstdata(<10):

$'

infor2DB0ah,0dh,'pleaseinputtheseconddata(<10):

$'

infor3DB0ah,0dh,'theresultis:

$'

dataENDS}

codesegment

assumecs:

code

start:

movcx,2movbl,0

next:

movah,1

int21h

subal,30h

jcnext

cmpal,9h

janext

addal,bl

daa

movbl,al

movdl,13

movah,2

int21h

movdl,10

int21h

loopnext

movcl,4

movdh,2

next1:

rolbl,cl

movdl,bl

anddl,0fh

adddl,30h

movah,2

int21h

decdhjnz

next1

movah,1

int21h

movah,4ch

int21h

codeends

endstart

2.编写程序实现:

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

退出

DATASSEGMENT

TABLEDB00H,01H,04H,09H,16H,25H,36H,49H,64H,81H

DATASENDS

STACKSSEGMENT

STACKSENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS,SS:

STACKS

START:

MOVAX,DATAS

MOVDS,AX

MOVAH,07H

INT21H

ANDAL,0FH

MOVDL,AL

XORDH,DH

MOVBX,OFFSETTABLE

ADDBX,DX

MOVAL,[BX]

MOVCL,04H

MOVBL,AL

SHRAL,CL

MOVDL,AL

ADDDL,30H

MOVAH,02H

INT21H

ANDBL,0FH

MOVDL,BL

ADDDL,30H

MOVAH,02H

INT21H

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

七、实验心得

(1)了解了编制汇编语言程序的步骤:

分析题意,确定算法;根据算法画出程序框图; 根据框图编写程序;上机调试程序。

 

(2)理解了调试过程的反复性,发生错误时,一步步往回验证,直到找到错误,修改后,继续重新执行。

 

(3)通过单步执行命令t跟踪调试,提高了对寄存器根据指令变化的理解;同时对debug命令格式、功能有了基础的了解。

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

一、实验目的:

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

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

二、实验仪器:

PC机一台

三、实验内容

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

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

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

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

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

”。

2、在屏幕上显示“Areyoureallywanttoexit?

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

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

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

”后程序结束。

四、实验程序与流程图

实验步骤 

(1) 完成汇编语言源程序的编辑和连接过程。

 

(2) 利用DEBUG进行程序调试和运行。

实验程序

(1):

dsegsegment

msglfdb0ah,0dh,'$'

msgupdb'YouInputaUppercaseLetter!

',0ah,0dh,'$'

msglodb'YouInputaLowercaseLetter!

',0ah,0dh,'$'

msgnumdb'YouInputaDigit!

',0ah,0dh,'$'

msgotdb'YouInputOtherLetter!

',0ah,0dh,'$'

dsegends

csegsegment

assumeds:

dseg,cs:

cseg

begin:

movax,dseg

movds,ax

movah,1

int21h

movbl,al

leadx,msglf

movah,9

int21h

moval,bl

cmpal,'0'

jlOtherC

cmpal,'9'

jgNotNum

leadx,msgnum

jmpOutput

NotNum:

cmpal,'A'

jlOtherC

cmpal,'Z'

jgNotUp

leadx,msgup

jmpOutput

NotUp:

cmpal,'a'

jlOtherC

cmpal,'z'

jgOtherC

leadx,msglo

jmpOutput

OtherC:

leadx,msgot

Output:

movah,9

int21h

movah,4ch

int21h

csegends

endbegin

 

 

 

 

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

当前位置:首页 > 高等教育 > 其它

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

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