微机原理及接口技术实验报告文档格式.docx
- 文档编号:15225198
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:12
- 大小:712.90KB
微机原理及接口技术实验报告文档格式.docx
《微机原理及接口技术实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理及接口技术实验报告文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
我们看到显示的结果发生了变化,这是因为DOS的2号功能调用是显示输入数据的ASCII码字符。
7.下面我们给程序命名并存盘。
在键入“n〞后紧跟程序名及扩展名
因为文件的字节数必须事先放在BX和CX中,其中BX保存高16位,CX保存低16位,整个32位的数保存文件的字节数,一般来说,BX设置为0,因为CX可存放的字节数为64K,对于一般的程序已足够了。
8.结束后可用Q命令退出DEBUG程序。
三、实验习题
1.写出完成以下功能的指令序列
〔1〕传送20H到AL存放器
〔2〕将〔AL〕*2
〔3〕传送25H到BL存放器
〔4〕〔AL〕*〔BL〕
问最后的结果〔AX〕=?
单步执行结果:
2.分别写出完成以下指令要求的指令:
〔1〕将BX的低4位清零;
〔2〕将AX的高4位置1;
〔3〕将DX的低4位取反;
〔4〕将CX的中间八位清零;
〔5〕将AX中与BX中的对应位不相同的位均置1.
解答:
〔1〕andbx,fff0。
设bx=c4b5,那么
运行结果
〔2〕orax,f000。
设ax=c4b5,那么
〔3〕xordx,000f。
设dx=c4b5,那么
〔4〕andcx,f00f。
设cx=c4b5,那么
〔5〕xorax,bx。
设ax=c4b5,bx=5229,那么
3.上机运行下面指令序列,分析运行后〔AX〕=?
MOVAX,4312
MOVCL,8
SARAL,CL
DECAX
MOVCX,8
MULCX
4.设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H~305H
连续单元装入0AH,0BH,0CH,0DH,0EH,0FH。
在DEBUG状态下送入下面的程序,并用单步执行的方法,分析每条指令源地址的形成过程?
当数据传送完毕时,AX中的内容是什么?
程序清单如下:
MOVAX,BX
MOVAX,0304H
MOVAX,[0304H]
MOVAX,[BX]
MOVAX,0001[BX]
MOVAX,[BX][SI]
MOVAX,0001[BX][SI]
实验二简单程序设计
一、实验目的:
1.进一步熟悉DEBUG常用命令及使用
2.掌握编写汇编语言源程序的根本方法和根本框架
3.学习设计顺序结构程序,学会使用DEBUG命令调试程序和查看结果。
二、实验内容:
1.开机后,解压clab文件,翻开clab.exe,然后进入MASM子目录。
2.在MASM子目录下进入EDIT编辑环境,编写汇编语言源程序。
3.源程序编写完后,保存源程序
4.在NASM子目录中利用MASM.EXE汇编程序对源程序进行汇编和编译。
当源程序中无语法错误时,那么在当前工作目录下自动生成一个.OBJ文件,即目标代码文件。
5.假设源程序有语法错误时,会出现错误提示信息。
例如:
×
Warningerrors(警告错误)
Severeerrors〔严重错误〕
假设存在严重错误时,那么无法生成.OBJ文件,需回到编辑状态下修改源程序,直到错误数为零为止。
6.当源程序编译通过后,在MASM目录下,我们利用连接程序LINK.EXE对一个或多个目标文件进行编译连接,生成可执行文件〔*.EXE〕
7.最后利用DEBUG命令对汇编程序进行调试并查看结果。
手工编写的源程序
汇编语言源文件〔.asm〕
机器语言目标文件〔.obj〕
机器语言执行文件〔.exe〕
编辑程序
编辑
汇编程序
汇编
连接程序
连接
8.编程:
求两个数的平均值。
这两个数分别方程在X单元和Y单元中,而平均值放在Z单元中。
即Z=〔X+Y〕/2
参考程序如下:
DATASEGMENT
XDB2
YDB6
ZDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,X
MOVAH,0
ADDAL,Y
ADCAH,0
MOVBL,2
DIVBL
MOVZ,AL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
9.输入下面源程序,并对程序进行汇编、连接、调试并说明程序的功能。
NUMBERDW0168H
ORG0100H
MOVDX,0
MOVBX,0001H
MOVDI,8000H
MOVSI,0
MOVAX,NUMBER
MOVCX,16
NEXT:
TESTAX,BX
JZCONTINUE
ORDX,DI
INCSI
CONTINUE:
ROLBX,1
RORDI,1
LOOPNEXT
1.编写程序:
求1+2+3+……+100的和
DATASEGMENT
RESULTDW?
;
存放和
DATAENDS
CODESEGMENT
MOVAX,DATA
MOVDS,AX
MOVAX,1;
从1开始加
MOVRESULT,0;
和的初值赋0
MOVCX,100;
循环100次
ADDRESULT,AX;
每次向和中累加AX
INCAX;
然后AX加1
MOVBX,RESULT
MOVAX,4C00H;
结束程序
CODEENDS
2.在内存中以tab为首的地方存有1—9的立方值,从键盘输入某一数字〔1—9〕,将该数存入X单元,立方值送入XXX单元中。
datasegment
inputdb'
pleaseinputx(0~9):
$'
tabdw0,1,8,27,64,125,216,343,512,729
xdb?
xxxdw?
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
movdx,offsetinput
movah,9
int21h
movah,1
andal,0fh
movx,al
addal,al
movbl,al
movbh,0
movax,tab[bx]
movxxx,ax
movah,4ch
int21h
codeends
endstart
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 实验 报告