微机原理试验报告Word格式.docx

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

微机原理试验报告Word格式.docx

《微机原理试验报告Word格式.docx》由会员分享,可在线阅读,更多相关《微机原理试验报告Word格式.docx(40页珍藏版)》请在冰豆网上搜索。

微机原理试验报告Word格式.docx

(2)执行完MOVDS,DATA指令后,数据段寄存器DS的内容为(08D9)H,源程序在数据段中定义的数据82H、68H和88H被装入的存储单元的物理地址分别为(08D90)H、(08D91)H和(08D92)H。

(3)程序中第一条ADDAL,[BX]指令对应的机器代码为(0207)H,它是一个

(2)字节指令,注意观察执行该指令时IP值的变化情况;

该指令中源操作数的寻址方式为(寄存器间接寻址),该操作数所在存储单元的逻辑地址(DS):

(BX)为(08D9:

0001),其物理地址为(08D91)H;

执行完该指令后(AL)=(EA)_H,CF=(NC),OF=(NV),ZF=(NZ),SF=(NG),AF=(NA),PF=(PO);

若两操作数为无符号数,计算结果是否正确?

若两操作数为带符号数,计算结果是否正确正确?

若计算结果,结果是正数还是负数?

答:

若两操作数为无符号数,计算结果是正确;

若两操作数为带符号数,计算结果正确,结果是负数。

(4)执行完第二条ADDAL,[BX]指令后(AL)=(72)H,CF=(CY),OF=(OV),ZF=(NZ,)SF=(PL),AF=(AC),PF=(PE);

若两操作数为带符号数,计算结果是否正确?

若两操作数为带符号数,计算结果错误。

(5)指令MOVSUM,AL中目的操作数的寻址方式为(存储器直接寻址方式)。

该指令执行完后,注意观察(DS):

0003H单元中值的变化,该单元的值变为(72)H。

DATASEGMENT

NUMDB82H,68H,88H

SUMDB?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVBX,OFFSETNUM

MOVAL,[BX]

INCBX

ADDAL,[BX]

ADDAL,[BX]

MOVSUM,AL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

10.1.4步骤:

1)使用任意一种文本编辑器输入事先以手工编写好的汇编语言源程序,并将其存储为扩展名为.ASM的文件。

2)使用汇编程序(ASM、MASM或TASM)对.ASM的文件进行汇编。

假如相应YUN.ASM的文件存储在有汇编控制的文件夹中,文件夹在F盘SPSS文件夹中,则相应步骤:

“运行”中输入cmd在命令提示窗中输入F:

CD\文件夹名MASMYUN:

进行语法检查,生成相应.OBJ目标文件。

.

3)再输入;

LINKYUN:

生成相应.EXE可执行文件DEBUG.YUN.EXE输入相应命令如:

u、r、t,每次按Enter结束输入。

其中:

-T:

单步运行

-U:

反汇编

-D:

显示内存

-Q:

退出操作

10.1.5实验小结:

本次是学习汇编语言以来的第一次上机实践,在整个实践终于到了很多问题,同时在解决问题时我也受益匪浅。

首先因为第一次上机实践,虽然做了些准备,但由于还不是很清楚具体做法,因此很忐忑。

刚开始做时,不清楚具体步骤,只是模仿老师演示的过程。

将文件放在不同目录C:

下;

在模仿时,首先在命令提示窗口输入编辑好的YUN.ASM的文件,遇到报错:

命令提示窗口显示输入的文件名内容不存在;

分析得出是由于文件所未放有汇编控制的文件夹中;

解决方法:

将YUN.ASM文件直接拖入有汇编控制的文件夹中。

在进行LINKYUN命令时,显示:

warning:

nostacksegment;

therewas1errordetected。

此警告和错误显示堆栈段有问题,在此题中可以忽略。

另外通过不断操作,我还学到了一点小技巧:

将文件放在不同目录下时,一开始就在命令提示窗口输入目录名,然后通过“CD\文件夹名”进行操作。

虽然本次实验操作用时较长,效率相对低。

但通过本次实验,我熟练的掌握了汇编语言程序设计上机操作步骤及DEBUG调试工具的使用,成功的达到了实验目的。

10.1.6实验截图:

微机原理第二次试验

字符及字符串输入/输出实验

10.2字符及字符串输入输出与程序设计实验

10.2.1实验目的

1、学习和掌握字符及字符串的输入及输出方法。

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

3、进一步掌握调试工具的使用方法

10.2.2实验预习要求

1、复习DOS功能调用中用于字符输入,输出,字符串输入和输出的调试方法。

2、复习BCD码运算调整指令。

3、根据10.2.3实验内容给出的实验框架,编写完整的源程序,以便实验时调试。

10.2.3实验内容

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

(1)从键盘输入一位十进制数的方法。

通过功能号为1的DOS功能调用实现从键盘输入一个字符,格式如下:

MOVAH,01H

INT21H

SUBAL,30H

(2)提示信息字符串的显示。

通过功能号为9的DOS功能键调用实现字符串显示,注意字符串的最后一个字符必须为$.指令格式如下:

MOV DX,OFFSET INFOR1

MOV AH,09H

INT 21H

(3)非压缩型BCD码加法调整指令的使用。

设从键盘输入的数值已存在寄存器AL,BL中,可用下列程序完成数据相加和调整操作:

XOR AH,AH

ADDALBL

AAA;

 

(4)计算结果的显示。

执行完AAA指令后,只需将AH和AL加上30H,并以此调用功能号为2的DOS功能调用来显示字符。

具体指令代码如下:

PUSHAX

MOVDL,AH

ADDDL,30H

MOVAH,02H

POPAX

MOVDL,AL

ADDDL,30H

MOVAH,02H

2源程序框架

DATASEGMENT

INFOR1DB"

pleaseinputthefirstdata(<

10):

$"

INFOR2DB0AH,0DH,"

pleaseinputtheSeconddata(<

INFOR3DB0AH,0DH,"

theResultis:

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETINFOR1

MOVAH,09H

INT21H

MOVAH,01H

SUBAL,30H

MOVBL,AL

MOVDX,OFFSETINFOR2

XORAH,AH

ADDAL,BL

AAA

PUSHAX

MOVDX,OFFSETINFOR3

POPAX

MOVDL,AH

ADDDL,30H

MOVAH,02H

MOVDL,AL

MOVAH,4CH

CODEENDS

ENDSTART

10.2.4实验截图:

2、从键盘输入两个一位十进制数,计算着两个数之积,并将结果在屏幕上显示出来。

PleaseInputtheFirstData(<

PleaseInputtheSecondData(<

TheResultis:

$"

MOVAX,DATA

MOVDS,AX

SUBAL,30H

MULBL

AAM

PUSHAX

实验截图:

10.2.5实验小结:

本次上机可以说是第一次实际编程操作,虽然实验指导书上已经给出程序框架,但还需要根据理解填完整程序方可操作。

在加法运算和乘法运算中遇到同一个问题:

首先填完整程序操作时,发现结果显示的是输入的第二个数的平方。

分析认为输入AL的第一个数未存放入BL中,导致第二次输入AL的数覆盖了第一次的数;

最终在别的同学的指导下我通过调整MOVBL,AL的位置从而解决了问题。

在进行LINKweiji2命令时,显示:

war

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

当前位置:首页 > 求职职场 > 面试

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

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