微机原理及接口技术实验报告文档格式.docx

上传人:b****1 文档编号:15225198 上传时间:2022-10-28 格式:DOCX 页数:12 大小:712.90KB
下载 相关 举报
微机原理及接口技术实验报告文档格式.docx_第1页
第1页 / 共12页
微机原理及接口技术实验报告文档格式.docx_第2页
第2页 / 共12页
微机原理及接口技术实验报告文档格式.docx_第3页
第3页 / 共12页
微机原理及接口技术实验报告文档格式.docx_第4页
第4页 / 共12页
微机原理及接口技术实验报告文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

微机原理及接口技术实验报告文档格式.docx

《微机原理及接口技术实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理及接口技术实验报告文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

微机原理及接口技术实验报告文档格式.docx

我们看到显示的结果发生了变化,这是因为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

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

当前位置:首页 > 求职职场 > 简历

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

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