黑龙江大学软件学院汇编实验报告实验九.docx

上传人:b****5 文档编号:7916922 上传时间:2023-01-27 格式:DOCX 页数:10 大小:92.09KB
下载 相关 举报
黑龙江大学软件学院汇编实验报告实验九.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

黑龙江大学软件学院汇编实验报告实验九

实验报告

课程名称

汇编语言

实验项目名称

汇编语言上机

实验时间

(日期及节次)

2012.5.28,两节

专业

软件工程

学生所在学院

软件学院

年级

大一

学号

20113311

姓名

杜常数

指导教师

史新奕

实验室名称

第三实验室

实验成绩

预习情况

操作技术

实验报告

附加:

综合创新能力

实验

综合成绩

教师签字

黑龙江大学教务处

汇编语言

实验报告

黑龙江大学软件学院

2012年4月

实验名称:

子程序设计

实验目的

熟悉和掌握汇编语言中的子程序设计技术,并应用它解决实际问题。

实验类型

实验环境

硬件环境:

IBM-PC及其系列机

内存256KB以上

外存:

硬盘或至少一个软驱

CPU:

80586以上

显示器:

单色或彩色显示器

键盘:

标准ASCII码键盘

软件环境:

编缉器:

EDIT.COM或其它编缉器

汇编程序:

MASM.EXE

连接程序:

LINK.EXE

调试程序:

DEBUG.EXE

主要设计思想与算法

1用寄存器传递参数的程序设计如下所示:

;*****************************************************

CODESEGMENT

ASSUMECS:

CODE

MAINPROCFAR

REPEAT:

CALLDECBIN

CALLCRLF

CALLBINIHEX

CALLCRLF

JMPREPEAT

MAINENDP

;----------------------------------------------------------------------------------

DECBINPROCNEAR

MOVBX,0

NEWCHAR:

MOVAH,1H

INT21H

SUBAL,30H

JLEXIT

CMPAL,9D

JNLEEXIT

CBW

XCHGAX,BX

MOVCX,10D

MULCX

XCHGAX,BX

ADDBX,AX

JMPNEWCHAR

EXIT:

RET

DECBINENDP

;----------------------------------------------------------------------------------

BINIHEXPROCNEAR

MOVCH,4

ROTATE:

MOVCL,4

ROLBX,CL

MOVAL,BL

ANDAL,0FH

ADDAL,30H

CMPAL,3AH

JLPRINT

ADDAL,7H

PRINT:

MOVDL,AL

MOVAH,2H

INT21H

DECCH

JNZROTATE

RET

BINIHEXENDP

;----------------------------------------------------------------------------------

CRLFPROCNEAR

MOVDL,0DH

MOVAH,2H

INT21H

MOVDL,0AH

MOVAH,2H

INT21H

RET

CRLFENDP

CODEENDS

;****************************************************

ENDMAIN

2.用地址表传递参数的子程序设计如下所示:

;***********************************

CODESEGMENT

ASSUMECS:

CODE

MAINPROCFAR

REPEAT:

CALLDECBIN

CALLCRLF

CALLBINIHEX

CALLCRLF

JMPREPEAT

MAINENDP

;------------------------------------

DECBINPROCNEAR

MOVBX,0

NEWCHAR:

MOVAH,1H

INT21H

SUBAL,30H

JLEXIT

CMPAL,9D

JNLEEXIT

CBW

XCHGAX,BX

MOVCX,10D

MULCX

XCHGAX,BX

ADDBX,AX

JMPNEWCHAR

EXIT:

RET

DECBINENDP

;--------------------------------------

BINIHEXPROCNEAR

MOVCH,4

ROTATE:

MOVCL,4

ROLBX,CL

MOVAL,BL

ANDAL,0FH

ADDAL,30H

CMPAL,3AH

JLPRINT

ADDAL,7H

PRINT:

MOVDL,AL

MOVAH,2H

INT21H

DECCH

JNZROTATE

RET

BINIHEXENDP

;----------------------------------------

CRLFPROCNEAR

MOVDL,0DH

MOVAH,2H

INT21H

MOVDL,0AH

MOVAH,2H

INT21H

RET

CRLFENDP

CODEENDS

;*****************************************

ENDMAIN

实验结果(测试用例、实验结果)

对HB91.ASM文件进行汇编和连接,分别生成HB91.OBJ和HB91.EXE文件

运行HB91.EXE文件,并查看结果是否正确

但BX寄存器只能保存16位,即最大为FFFFH,故所输入的十进制数不能大于65535,否则就会溢出出现错误

2.对HB92.ASM进行汇编和连接,如下图所示

运行并检查结果

运行结果正确,与用寄存器传递参数一样,所输入的十进制数据范围应为0~65535D(即0000H~FFFFH),否则出现错误。

实验总结

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

当前位置:首页 > 高等教育 > 工学

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

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