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

上传人:b****3 文档编号:860741 上传时间:2022-10-13 格式:DOCX 页数:23 大小:44.28KB
下载 相关 举报
南昌大学微型计算机原理与接口技术实验报告全.docx_第1页
第1页 / 共23页
南昌大学微型计算机原理与接口技术实验报告全.docx_第2页
第2页 / 共23页
南昌大学微型计算机原理与接口技术实验报告全.docx_第3页
第3页 / 共23页
南昌大学微型计算机原理与接口技术实验报告全.docx_第4页
第4页 / 共23页
南昌大学微型计算机原理与接口技术实验报告全.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

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

《南昌大学微型计算机原理与接口技术实验报告全.docx》由会员分享,可在线阅读,更多相关《南昌大学微型计算机原理与接口技术实验报告全.docx(23页珍藏版)》请在冰豆网上搜索。

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

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

(此文档为word格式,下载后您可任意编辑修改!

实验一:

汇编语言程序设计开发环境

实验目的

1、熟悉汇编语言设计开发环境

2、巩固对程序基本结构的认识

3、学会使用debug命令查看结果

实验步骤:

1、打开电脑在系统选择界面,选择DOS操作系统

2、通过键盘输入TC,进入TC操作界面。

在TC操作见面,新建文件,将实验程序写入文件中,然后保存为.ASM文件。

退出TC操作界面

3在DOS操作界面,写入MASM,和刚才的ASM文件名。

产生目标文件。

4、调用link文件,链接目标文件,产生可执行文件

5、再键入debug12.exe(12为对应文件的文件名)来运行程序。

我们的目的是要察看我们程序的运行结果,因此我们希望的动程序运行后应停在返回DOS以前,为此我们可先用反汇编命令U来确定我们所要的断点地址。

编写汇编程序,实现Z=X+Y;

程序如下:

DATASEGMENT

XDB18H

YDB19H

ZDB?

DATAENDS

CODESEGMENT

MAINPROCFAR

ASSUMECS:

CODE,DS:

DATA

START:

PUSHDS

SUBAX,AX

PUSHAX

MOVAX,DATA

MOVDS,AX

MOVAL,X

ADDAL,Y

DAA

MOVZ,AL

RET

MAINENDP

CODEENDS

ENDSTART

先退出DOS系统。

先输入MASM12.ASM后,看有没有错误,如果有错误就返回去修改程序,反复调试,直到没有错误为止。

再输入LINK12.OBJ

再输入DEBUG12.exe

再按U。

设置好断点以后再输入G加断点地址。

实验结果

-u

1489:

00001EPUSHDS

1489:

00012BC0SUBAX,AX

1489:

000350PUSHAX

1489:

0004B88814MOVAX,1488

1489:

00078ED8MOVDS,AX

1489:

0009A00000MOVAL,[0000]

1489:

000CADDAL,[0001]

1489:

001027DAA

1489:

0011A20200MOV[0002],AL

1489:

0014CBRETF

1489:

0015D1E3SHLBX,1

1489:

0017D1E3SHLBX,1

1489:

00198B360406MOVSI,[0604]

1489:

001DEBA2JMPFFC1

1489:

001F90NOP

-u

1489:

0020C746FC0000MOVWORDPTR[BP-04],0000

1489:

0025EB1FJMP0046

1489:

002790NOP

1489:

00288A4608MOVAL,[BP+08]

1489:

002B2AE4SUBAH,AH

1489:

002D50PUSHAX

1489:

002E8B5EFCMOVBX,[BP-04]

1489:

0031D1E3SHLBX,1

1489:

0033D1E3SHLBX,1

1489:

00358B7604MOVSI,[BP+04]

1489:

0038FF7002PUSH[BX+SI+02]

1489:

003BFF30PUSH[BX+SI]

1489:

003DE854FECALLFE94

-g0014

AX=1437BX=0000CX=0025DX=0000SP=FFFCBP=0000SI=0000DI=0000

DS=1488ES=1478SS=1488CS=1489IP=0014NVUPEIPLNZACPONC

1489:

0014CBRETF

-d1488:

0000

1488:

00001819370000000000-0000000000000000..7.............

1488:

00101E2BC050B888148E-D8A0000002060100.+.P............

1488:

002027A20200CBD1E3D1-E38B360406EBA290'.........6.....

1488:

0030C746FC0000EB1F90-8A46082AE4508B5E.F.......F.*.P.^

1488:

0040FCD1E3D1E38B7604-FF7002FF30E854FE......v..p..0.T.

1488:

005083C406FF46FC8B46-063946FC72DA5E8B....F..F.9F.r.^.

1488:

0060E55DC390558BEC56-C45E0426807F0403.]..U..V.^.&....

1488:

0070750726807F0A0074-37A1582739063622u.&....t7.X'9.6"

-q

实验心得:

这是我第一次在pc机上运用DOS系统来编程,有很多不懂,感觉很陌生。

在进入TC,和文件的保存,以及程序的编译都感觉很陌生。

但是有了这一次的接触,以后会更轻松。

这次主要是熟悉了汇编的环境,对于程序来说,只要熟悉了汇编语言的基本环境,本次程序比较简单。

运行的结果很顺利。

实验二、字符串的传送

一、实验目的:

1.掌握变量的基本使用方法。

2.掌据字符串的输入传送方法的使用。

3.掌握数据段的定义方式

二、实验内容

编程实现将X中的40个字符存储在Y中,并调试程序。

三、实验程序如下:

DATASEGMENT

XDB40DUP(‘B’)

DATAENDS

EXTRASEGMENT

YDB40DUP(?

EXTRAENDS

CODESEGMENT

MAINPROCFAR

ASSUMECS:

CODE,DS:

DATA,ES:

EXTRA

START:

PUSHDS

SUBAX,AX

PUSHAX

MOVAX,DATA

MOVDS,AX

MOVAX,EXTRA

MOVES,AX

LEASI,X

LEADI,Y

CLD

MOVCX,40

REPMOVSB

RET

MAINENDP

CODEENDS

ENDSTART

四、实验结果

先退出DOS系统。

先输入MASM12.ASM后,看有没有错误,如果有错误就返回去修改程序,反复调试,直到没有错误为止。

再输入LINK12.OBJ

再输入DEBUG12.exe

再按U。

设置好断点以后再输入G加断点地址。

查看数据段是输入D1488:

0000

显示结果:

-u

148C:

00001EPUSHDS

148C:

00012BC0SUBAX,AX

148C:

000350PUSHAX

148C:

0004B88814MOVAX,1488

148C:

00078ED8MOVDS,AX

148C:

0009B88A14MOVAX,148A

148C:

000C8EC0MOVES,AX

148C:

000E8D360000LEASI,[0000]

148C:

00128D3E0000LEADI,[0000]

148C:

0016B91300MOVCX,0013

148C:

0019FCCLD

148C:

001AF3REPZ

148C:

001BA4MOVSB

148C:

001CCBRETF

148C:

001DDA5E8BFICOMPDWORDPTR[BP-75]

-u

148C:

0020E55DINAX,5D

148C:

0022C3RET

148C:

002390NOP

148C:

002455PUSHBP

148C:

00258BECMOVBP,SP

148C:

002756PUSHSI

148C:

0028C45E04LESBX,[BP+04]

148C:

002B26ES:

148C:

002C807F0403CMPBYTEPTR[BX+04],03

148C:

00307507JNZ0039

148C:

003226ES:

148C:

0033807F0A00CMPBYTEPTR[BX+0A],00

148C:

00377437JZ0070

148C:

0039A15827MOVAX,[2758]

148C:

003CCMP[2236],AX

-g001c

AX=148ABX=0000CX=0000DX=0000SP=FFFCBP=0000SI=0013DI=0013

DS=1488ES=148ASS=1488CS=148CIP=001CNVUPEIPLZRNAPENC

148C:

001CCBRETF

-d1488:

0000

1488:

0000504552534F4E414C-20434F4D50555445PERSONALCOMPUTE

1488:

00105224000000000000-0000000000000000R$..............

1488:

0020504552534F4E414C-20434F4D50555445PERSONALCOMPUTE

1488:

00305224000000000000-0000000000000000R$..............

1488:

00401E2BC050B888148E-D8B88A148EC08D36.+.P...........6

1488:

005000008D3E0000B913-00FCF3A4CBDA5E8B...>..........^.

1488:

0060E55DC390558BEC56-C45E0426807F0403.]..U..V.^.&....

1488:

0070750726807F0A0074-37A1582739063622u.&....t7.X'9.6"

-d148a:

0000

148A:

0000504552534F4E414C-20434F4D50555445PERSONALCOMPUTE

148A:

00105224000000000000-0000000000000000R$..............

148A:

00201E2BC050B888148E-D8B88A148EC08D36.+.P...........6

148A:

003000008D3E0000

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

当前位置:首页 > 总结汇报 > 工作总结汇报

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

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