东北大学计算机硬件基础 第二次实验报告文档格式.docx

上传人:b****3 文档编号:17845282 上传时间:2022-12-11 格式:DOCX 页数:10 大小:164.18KB
下载 相关 举报
东北大学计算机硬件基础 第二次实验报告文档格式.docx_第1页
第1页 / 共10页
东北大学计算机硬件基础 第二次实验报告文档格式.docx_第2页
第2页 / 共10页
东北大学计算机硬件基础 第二次实验报告文档格式.docx_第3页
第3页 / 共10页
东北大学计算机硬件基础 第二次实验报告文档格式.docx_第4页
第4页 / 共10页
东北大学计算机硬件基础 第二次实验报告文档格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

东北大学计算机硬件基础 第二次实验报告文档格式.docx

《东北大学计算机硬件基础 第二次实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《东北大学计算机硬件基础 第二次实验报告文档格式.docx(10页珍藏版)》请在冰豆网上搜索。

东北大学计算机硬件基础 第二次实验报告文档格式.docx

若x、y都大于0,z赋值1;

若x、y都小于0,z赋值-1;

若x、y异号,z赋值0。

(x、y的值均在-128~+127之间)

三、算法描述流程图

四、实验步骤

1.输入源程序:

DATA 

 

SEGMENT

DB 

23

-10

0

DATA 

ENDS

CODE 

ASSUMECS:

CODE,DS:

DATA

START:

MOV 

AX,DATA

DS,AX

CMP 

X,0 

;

x与0进行比较

JS 

L1 

x〈0转L1

Y,0

JL 

L2 

y〈0转L2

MOV 

Z,1 

x〉=0,y〉=0则1—〉Z,无条件转EXIT

JMP 

EXIT

L1:

CMP 

Y,0 

y〉=0转L2

JGE 

L2

Z,-1 

x〈0,y〈0则-1—〉Z,无条件转EXIT

L2:

Z,0 

x、y异号时则0—〉Z

EXIT:

AH,4CH

INT 

21H

END 

START

2.保存源文件,执行masm汇编源程序,生成obj目标文件,结果无错误。

3.执行link连接程序,生成exe可执行文件,结果无错误。

4.执行debug调试程序,使用t参数单步执行程序,

五、实验结果

1.执行masm编译源程序得到如下界面:

2.执行link连接程序,生成exe可执行文件得到如下界面:

3.执行debug调试程序,使用t参数单步执行程序,

4.执行d参数命令察看Z所在的地址单元中的数据为0002字节单元中存放46H,得到如下界面:

六、思考题

本程序中判定符号用的是CMP指令,而用逻辑操作指令也可以。

比如,可以用AND指令,使其进行自身与操作,反应到SF标志位。

还可以用TEST指令直接测试最高位,并将结果反应到ZF标志位,然后根据ZF标志判断。

试用TEST指令编之。

DATASEGMENT

XDB23

YDB-10

ZDB0

DATAENDS

CODESEGMENT

ASSUMECS:

MOVAX,DATA

MOVDS,AX

MOVAL,X

ANDAL,AL;

JSL1;

MOVAH,Y

ANDAH,AH

JSL2;

MOVZ,1;

JMPEXIT

ANDAH,AH;

JNSL2

MOVZ,-1;

MOVZ,0;

MOVBL,Z

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

生成OBJ文件

生成EXE文件

执行u指令,进行反编译

执行t指令,

执行d,查看内存地址

七、扩展题

如果不采用上述方法判断两数的符号,而采用两数异或的方法判断两数的符号,当两数的符号不相同时,其结果的最高位必定为1;

当两数的符号相同时,其结果的最高位必定为0;

在根据其中一数的符号是正还是负决定两数是正数还是负数。

请作程序完成。

MOVDS,AX

MOVAL,X

MOVBL,Y

XORAL,BL

TESTAL,80H

JZL1;

若ZF=1,AL与BL同号

MOVZ,0

JMPEXIT

CMPBL,0

JSL2;

则SF=1,转动L2

MOVZ,1;

AL>

0.BL>

JMPEXIT

MOVZ,-1;

AL<

0,BL<

MOVAH,4CH

INT21H

ENDSTART

执行debug指令,执行u进行反编译

执行t

八、实验心得

理解了汇编语言中编程的基本步骤,掌握了通过地址对数据赋值的方法。

掌握汇编语言编制基本顺序结构的算法,包括地址取值和加法的算法步骤等。

这个实验,使我可以在编程中认识到直接通过CPU寄存器地址赋值可以大大提高了程序效率,但我要继续练习熟读汇编语言代码的能力。

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

当前位置:首页 > 法律文书 > 调解书

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

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