汇编语言语法练习与代码转换.docx

上传人:b****5 文档编号:28733999 上传时间:2023-07-19 格式:DOCX 页数:8 大小:146.72KB
下载 相关 举报
汇编语言语法练习与代码转换.docx_第1页
第1页 / 共8页
汇编语言语法练习与代码转换.docx_第2页
第2页 / 共8页
汇编语言语法练习与代码转换.docx_第3页
第3页 / 共8页
汇编语言语法练习与代码转换.docx_第4页
第4页 / 共8页
汇编语言语法练习与代码转换.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

汇编语言语法练习与代码转换.docx

《汇编语言语法练习与代码转换.docx》由会员分享,可在线阅读,更多相关《汇编语言语法练习与代码转换.docx(8页珍藏版)》请在冰豆网上搜索。

汇编语言语法练习与代码转换.docx

汇编语言语法练习与代码转换

 

实验报告

(2014/2015学年第二学期)

 

课程名称

微型计算机原理与接口技术

实验名称

汇编语言语法练习与代码转换

实验时间

2016

10

13

指导单位

计算机学院、软件学院

指导教师

顾磊

学生姓名

杜刚

班级学号

141103

学院(系)

通信工程

专业

信息工程

 

实验报告

实验名称

汇编语言语法练习与代码转换

指导教师

顾磊

实验类型

验证

实验学时

2

实验时间

一、实验目的和要求

1.掌握汇编语言源程序的格式;

2.进一步学习汇编语言源程序的编辑、汇编、目标文件的链接和可执行文件的执行全过程;

3.掌握编辑软件、TASM、TLINK和TD的使用方法、掌握汇编语言的语法规则。

4.实验内容:

(1)练习实验指导上的实验示例:

练习并掌握汇编语言开发全过程,显示5行HELLO

(2)排除语法错误:

给出的是一个通过比较法完成8位二进制数转换成十进制数送屏幕显示功能的汇编语言源程序,但有很多语法错误。

要求实验者按照原样对源程序进行编辑,汇编后,根据TASM给出的信息对源程序进行修改,知道没有语法错误为止。

然后进行链接,并执行相应可执行文件。

正确的执行结果在屏幕上显示:

25+9=34

二、实验环境(实验设备)

WindowsXP+轻松汇编软件

 

3、实验过程描述与结果分析

汇编语言源程序编写好以后, 必须经过下列几个步骤才能在机器上运行:

(1)编辑源程序(生成.ASM文件) 

(2)汇编源程序(.ASM  → .OBJ) 

(3)链接目标程序(.OBJ → .EXE ) 

(4)调试可执行程序(使用调试程序Debug调试生成的.EXE文件) 

(5)运行程序输出结果。

 

排除语法错误

要求通过比较法完成8位二进制数转换成十进制数送屏幕显示功能的汇编语言源程序。

但有很多语法错误,要求按照原样对源程序进行编辑,汇编后,根据TASM给出的错误信息对源程序进行修改,直到没有语法错误为止,然后进行链接,并执行相应的可执行文件。

正确的执行结果是在屏幕上显示:

25+9=34。

修改后代码:

(分号后为修改)

;FILENAME:

.486

DATASEGMENTUSE16

SUMDB'',''

MESGDB'25+9='

DB0,0,'$';以'$'结尾,没有输出会乱码

N1DB9,0F0H

N2DB25

DATAENDS

CODESEGMENTUSE16

ASSUMECS:

CODE,DS:

DATA

BEG:

MOVAX,DATA

MOVDS,AX

MOVBX,OFFSETSUM

MOVAH,N1

MOVAL,N2

ADDAH,AL

MOV[BX],AH

CALLCHANG

MOVAH,9

MOVDX,OFFSETMESG

INT21H

MOVAH,4CH

INT21H

CHANGPROC

LAST:

CMPBYTEPTR[BX],10

JCNEXT

SUBBYTEPTR[BX],10

INCBYTEPTR[BX+7]

JMPLAST

NEXT:

MOVDL,SUM

ADDBYTEPTR[BX+8],DL

ADDBYTEPTR[BX+7],30H

ADDBYTEPTR[BX+8],30H

RET

CHANGENDP

CODEENDS

ENDBEG

;FILENAME:

.486

DATASEGMENTUSE16

SUMDB'',''

MESGDB'25+9='

DB0,0,'$';以'$'结尾,没有输出会乱码

N1DB9,0F0H

N2DB25

DATAENDS

CODESEGMENTUSE16

ASSUMECS:

CODE,DS:

DATA

BEG:

MOVAX,DATA

MOVDS,AX

MOVBX,OFFSETSUM

MOVAH,N1

MOVAL,N2

ADDAH,AL

MOV[BX],AH

CALLCHANG

MOVAH,9

MOVDX,OFFSETMESG

INT21H

MOVAH,4CH

INT21H

CHANGPROC

LAST:

CMPBYTEPTR[BX],10

JCNEXT

SUBBYTEPTR[BX],10

INCBYTEPTR[BX+7]

JMPLAST

NEXT:

MOVDL,SUM

ADDBYTEPTR[BX+8],DL

ADDBYTEPTR[BX+7],30H

ADDBYTEPTR[BX+8],30H

RET

CHANGENDP

CODEENDS

ENDBEG

;FILENAME:

.486

DATASEGMENTUSE16

MESGDB'HELLO'

DB0,0,0

DATAENDS

CODESEGMENTUSE16

ASSUMECS:

CODE,DS:

DATA

BEG:

MOVAX,DATA

MOVDS,AX

MOVES,AX

MOVCX,5

LL1:

MOVMESG+5,0DH

MOVMESG+6,0AH

MOVMESG+7,'$'

CALLDISP

MOVMESG+5,0

MOVMESG+6,0

MOVMESG+7,0

LOOPLL1

MOVAH,4CH

INT21H

DISPPROC

MOVAH,9

MOVDX,OFFSETMESG

INT21H

RET

DISPENDP

CODEENDS

ENDBEG

四、实验小结(包括问题和解决方法、心得体会、意见与建议等)

微机原理是工科专业的主要专业基础课之一,也是工科学生学习和掌握计算机硬件知识和汇编语言程序设计的入门课程。

通过本课程的学习,使我从应用的角度出发,在理论和实践的上掌握微机的基本组成、工作原理、汇编语言程序设计、接口电路及硬件的连接。

建立系统的整体概念,使我具有微机应用系统软、硬件开发的初步能力。

通过实际模拟操作,加深了对本课程的理解,并对微型计算机的主要技术深入理解、牢固掌握、灵活应用更好的理解编程语言,本次实验我能够根据老师给出的代码理解完成,并且取得满意的结果。

在试验的编程过程中弄清了很多在课堂上没有理解的操作码的含义。

熟悉了各个操作码的使用方法及为什么如此用。

当我把实验的结果做出来之后,真的是非常的激动。

这是一门严谨的课程,错了一点点,也会导致之前的努力,功亏一篑。

培养了我细心以及耐心,我今后会更加地注意到,让自己做每件事都更加完美。

五、指导教师评语

成绩

批阅人

日期

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

当前位置:首页 > 人文社科 > 广告传媒

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

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