最新版南昌大学微型计算机原理与接口技术实验报告全Word文件下载.docx
- 文档编号:17141146
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:23
- 大小:44.24KB
最新版南昌大学微型计算机原理与接口技术实验报告全Word文件下载.docx
《最新版南昌大学微型计算机原理与接口技术实验报告全Word文件下载.docx》由会员分享,可在线阅读,更多相关《最新版南昌大学微型计算机原理与接口技术实验报告全Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。
ADDAL,Y
DAA
MOVZ,AL
RET
MAINENDP
CODEENDS
ENDSTART
先退出DOS系统。
先输入MASM12.ASM后,看有没有错误,如果有错误就返回去修改程序,反复调试,直到没有错误为止。
再输入LINK12.OBJ
再输入DEBUG12.exe
再按U。
设置好断点以后再输入G加断点地址。
实验结果
-u
1489:
00001EPUSHDS
00012BC0SUBAX,AX
000350PUSHAX
0004B88814MOVAX,1488
00078ED8MOVDS,AX
0009A00000MOVAL,[0000]
000CADDAL,[0001]
001027DAA
0011A20200MOV[0002],AL
0014CBRETF
0015D1E3SHLBX,1
0017D1E3SHLBX,1
00198B360406MOVSI,[0604]
001DEBA2JMPFFC1
001F90NOP
0020C746FC0000MOVWORDPTR[BP-04],0000
0025EB1FJMP0046
002790NOP
00288A4608MOVAL,[BP+08]
002B2AE4SUBAH,AH
002D50PUSHAX
002E8B5EFCMOVBX,[BP-04]
0031D1E3SHLBX,1
0033D1E3SHLBX,1
00358B7604MOVSI,[BP+04]
0038FF7002PUSH[BX+SI+02]
003BFF30PUSH[BX+SI]
003DE854FECALLFE94
-g0014
AX=1437BX=0000CX=0025DX=0000SP=FFFCBP=0000SI=0000DI=0000
DS=1488ES=1478SS=1488CS=1489IP=0014NVUPEIPLNZACPONC
-d1488:
0000
1488:
00001819370000000000-0000000000000000..7.............
00101E2BC050B888148E-D8A0000002060100.+.P............
002027A20200CBD1E3D1-E38B360406EBA290'
.........6.....
0030C746FC0000EB1F90-8A46082AE4508B5E.F.......F.*.P.^
0040FCD1E3D1E38B7604-FF7002FF30E854FE......v..p..0.T.
005083C406FF46FC8B46-063946FC72DA5E8B....F..F.9F.r.^.
0060E55DC390558BEC56-C45E0426807F0403.]..U..V.^.&
....
0070750726807F0A0074-37A1582739063622u.&
....t7.X'
9.6"
-q
实验心得:
这是我第一次在pc机上运用DOS系统来编程,有很多不懂,感觉很陌生。
在进入TC,和文件的保存,以及程序的编译都感觉很陌生。
但是有了这一次的接触,以后会更轻松。
这次主要是熟悉了汇编的环境,对于程序来说,只要熟悉了汇编语言的基本环境,本次程序比较简单。
运行的结果很顺利。
实验二、字符串的传送
一、实验目的:
1.掌握变量的基本使用方法。
2.掌据字符串的输入传送方法的使用。
3.掌握数据段的定义方式
二、实验内容
编程实现将X中的40个字符存储在Y中,并调试程序。
三、实验程序如下:
XDB40DUP(‘B’)
EXTRASEGMENT
YDB40DUP(?
)
EXTRAENDS
DATA,ES:
EXTRA
SUBAX,AX
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVAX,EXTRA
MOVES,AX
LEASI,X
LEADI,Y
CLD
MOVCX,40
REPMOVSB
RET
四、实验结果
查看数据段是输入D1488:
显示结果:
148C:
0009B88A14MOVAX,148A
000C8EC0MOVES,AX
000E8D360000LEASI,[0000]
00128D3E0000LEADI,[0000]
0016B91300MOVCX,0013
0019FCCLD
001AF3REPZ
001BA4MOVSB
001CCBRETF
001DDA5E8BFICOMPDWORDPTR[BP-75]
0020E55DINAX,5D
0022C3RET
002390NOP
002455PUSHBP
00258BECMOVBP,SP
002756PUSHSI
0028C45E04LESBX,[BP+04]
002B26ES:
002C807F0403CMPBYTEPTR[BX+04],03
00307507JNZ0039
003226ES:
0033807F0A00CMPBYTEPTR[BX+0A],00
00377437JZ0070
0039A15827MOVAX,[2758]
003CCMP[2236],AX
-g001c
AX=148ABX=0000CX=0000DX=0000SP=FFFCBP=0000SI=0013DI=0013
DS=1488ES=148ASS=1488CS=148CIP=001CNVUPEIPLZRNAPENC
0000504552534F4E414C-20434F4D50555445PERSONALCOMPUTE
00105224000000000000-0000000000000000R$..............
0020504552534F4E414C-20434F4D50555445PERSONALCOMPUTE
00305224000000000000-0000000000000000R$..............
00401E2BC050B888148E-D8B88A148EC08D36.+.P...........6
005000008D3E0000B913-00FCF3A4CBDA5E8B...>
..........^.
-d148a:
148A:
00201E2BC050B888148E-D8B88A148EC08D36.+.P...........6
003000008D3E0000B913-00FCF3A4CBDA5E8B...>
0040E55DC390558BEC56-C45E0426807F0403.]..U..V.^.&
0050750726807F0A0074-37A1582739063622u.&
00607214BE36228B1CFF-042BD8D1E3D1E38Br..6"
....+......
0070360406EB1090BE36-228B1CFF04D1E3D16......6"
.......
这次是做字符串传送的实验这套程序在课堂上讲过,所以编程序的时候也比较轻松。
在调试阶段要注意,本次调试我的断点设置出错,所以导致了输出结果的错误,这个问题以后应该注意,要知道自己所需要的断点在哪。
不能搞错,否则输出的结果就会有问题。
还有就是输入程序的时候要小心,不能按错键,如果按错了键,在编译的时候会错,要返回去tc中改程序,调试程序的时候耐心也是很重的
实验三、键盘输入与回显
实验目的:
1、熟悉DOS功能的9号功能,从键盘输入并在显示器上显示字符串
2、熟悉DOS功能调用指令INT21H
实验原理:
1、单字符输入
功能号1、7和8都可以接收键盘输入的单字符串,输入字符以ASCII码形式存放在累加器AL中。
其中7号和8号功能无回显。
2、字符串输入
输入字符串可以通过调用DOS功能的0AH号功能实现。
3、单宇符显示
在显示器上显示的内容都是字符形式,如果是数字,则一定是其对应的ASCII码。
要将一个字符串送到显示器显示,可调用DOS功能的2、6、9号功能实现。
其中2、6用于显示单个字符,功能9显示一个字符帀。
4、字符中显示
要在从示器上显示字符串,可调用DOS功能的9号功能,该功能要求被显示的字符串必须“$”以字符作为结束符,否则会引起屏幕混乱。
5、返回DOS
用4CH号功能返回DOS的程序段:
MOVAH,4CH
INT21H实验内容:
从键盘读入一串字符,在字符串尾插入一个“$”,并显示该字符。
实验程序如下:
BUFSIZEDB50
ACTLENDB?
CHARSDB50DUP(20H)
LEADX,BUFSIZE
MOVAH,0AH
INT21H
XORCX,CX
MOVCL,ACTLEN
MOVDX,OFFSETCHARS
MOVBX,DX
ADDBX,CX
MOVBYTEPTR[BX],'
$'
MOVAH,09H
MOVAH,02H
MOVDL,0AH
MOVDL,0DH
LEADX,CHARS
MOVAH,4CH
MAINENDP
CODEENDS
ENDSTART
实验结果:
随机输入一串不超过50个字符的字符串,按enter键之后,字符串会重新显示。
在屏幕上。
屏幕显示为:
1D08:
0004B8041DMOVAX,1D04
00098D160000LEADX,[0000]
000DB40AMOVAH,0A
000FCD21INT21
001133C9XORCX,CX
00138A0E0100MOVCL,[0001]
0017BA0200MOVDX,0002
001A8BDAMOVBX,DX
001C03D9ADDBX,CX
001EC60724MOVBYTEPTR[BX],24
-U
0021B409MOVAH,09
0023CD21INT21
0025B402MOVAH,02
0027B20AMOVDL,0A
0029CD21INT21
002BB20DMOVDL,0D
002DCD21INT21
002FB409MOVAH,09
00318D160200LEADX,[0002]
0035CD21INT21
0037B44CMOVAH,4C
0039CD21INT21
003B00740DADD[SI+0D],DH
003EFF360406PUSH[0604]
-G37
CHENLIHUAGDAKSG
AX=0924BX=0011CX=000FDX=0002SP=FFFCBP=0000SI=0000DI=0000
DS=1D04ES=1CF4SS=1D04CS=1D08IP=0037NVUPEIPLNZACPENC
-Q
实验心得体会:
本次试验因为还没有学过,对DOS系统的功能的调用很陌生。
所以本次编程的时候感觉很痛苦,编程的时候对着书看了很长时间,才慢慢的知道实验程序的编写。
在实验室悟了好长时间才悟懂DOS功能的调用显示和地址的灵活用法。
我忘了一“$”,所以电脑一直在那里响。
最后我加上“$”符号后,程序才顺利执行完。
这次实验做得很艰难,一开始有很多迷惑,经过实践之后迷惑就消除了。
实验四:
子程序设计(计算N!
1、通过调用求N!
的子程序求一个数的阶乘
2、掌握子程序的设计方法,调用方法,返回方法
3、学会一种算法:
递归调用
实验内容:
堆栈保护及递归算法,用递归算法计算5!
,实验程序如下:
NDW5
RESULTDW?
STACKSEGSEGMENT
DW128DUP(0)
TOSLABELWORD
STACKSEGENDS
ASSUMECS:
CODE,DS:
DATA,SS:
STACKSEG
START:
MOVAX,STACKSEG
MOVSS,AX
MOVSP,OFFSETTOS
SUBAX,AX
MOVAX,DATA
MOVDS,AX
MOVBX,N
PUSHBX
CALLFACT
POPRESULT
MAINEDNP
FACTPROCNEAR
PUSHBP
MOVBP,SP
MOVAX,[BP+6]
CMPAX,0
JNZFACT1
INCAX
JMPEXIT
FACT1:
DECAX
POPAX
MUL[BP+6]
EXIT:
MOV[BP+6],AX
POPBP
FACTENDP
查看数据段是输入D:
DS0
结果显示:
13E1:
0000B8D113MOVAX,13D1
00038ED0MOVSS,AX
0005BC0001MOVSP,0100
00081EPUSHDS
00092BC0SUBAX,AX
000B50PUSHAX
000CB8D013MOVAX,13D0
000F8ED8MOVDS,AX
00118B1E0000MOVBX,[0000]
001553PUSHBX
0016E80500CALL001E
00198F060200POP[0002]
001DCBRETF
001E50PUSHAX
001F55PUSHBP
00208BECMOVBP,SP
00228B4606MOVAX,[BP+06]
00253D0000CMPAX,0000
00287504JNZ002E
002A40INCAX
002BEB0AJMP0037
002D90NOP
002E48DECAX
002F50PUSHAX
0030E8EBFFCALL001E
003358POPAX
0034F76606MULWORDPTR[BP+06]
0037894606MOV[BP+06],AX
003A5DPOPBP
003B58POPAX
003CC3RET
003D7421JZ0060
003F8B9E72FFMOVBX,[BP+FF72]
-g001d
AX=13D0BX=0003CX=014DDX=0000SP=00FCBP=0000SI=0000DI=0000
DS=13D0ES=13C0SS=13D1CS=13E1IP=001DNVUPEIPLNZNAPENC
-d13d0:
13D0:
00000300780000000000-0000000000000000................
00100000000000000000-0000000000000000................
00200000000000000000-0000000000000000................
00300000000000000000-0000000000000000................
004000000000000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新版 南昌大学 微型计算机 原理 接口 技术 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)