汇编语言实验指导.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

汇编语言实验

实验一汇编运行环境及方法、简单程序设计

一、实验目的:

1、熟练汇编语言运行环境和方法。

2、了解如何使用汇编语言编制程序。

3、熟悉DEBUG常用的命令的使用方法。

4、会使用DEBUG命令调试程序。

二、实验内容:

1、比拟两个字符串STRING1和STRING2所含的字符是否相同,假设相同,那么输出MATCH,不相同那么输出NOMATCH。

2、学会对汇编语言程序进行汇编、连接和运行。

3、学会用DEBUG中的D命令,E命令,R命令,G命令,F命令,U命令,A命令以及T命令。

三、实验要求:

1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。

2、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序、调试程序和执行程序。

四、实验报告:

1、程序说明。说明程序的功能、结构。

检查两个字符串是否相同

2、调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

运行e28’forward’

3、写出源程序清单和执行结果。

实验清单:

datareasegment

string1dbMovethecursorbackword

string2dbMovethecursorbackword

mess1dbMatch.,13,10,$

mess2dbNomatch!,13,10,$

datareaends

prognamsegment

mainprocfar

assumecs:prognam,ds:datarea,es:datarea

start:

pushds

subax,dx

pushax

movax,datarea

movds,ax

moves,ax

leasi,string1

leadi,string2

cld

movcx,25

repzcmpsb

jzmatch

leadx,mess2

jmpshortdisp

match:

leadx,mess1

disp:

movah,09

int21h

movah,4ch

int21h

mainendp

prognamends

endstart

实验二循环程序设计-学生成绩,求每个学生的名次

一、实验目的:

1、熟悉循环、DOS功能调用等根本的程序结构。

2、熟悉多重循环结构及算法技巧。

3、熟练使用DEBUG常用命令查看程序运行结果,以及通过修改代码或数据来改变程序运行结果。

二、实验内容:

设有十个学生成绩分别是88,75,95,63,98,78,87,73,90和60分。试编制一个程序,求每个学生和名次。

三、编程提示:

1、定义如下的数据结构:

dataSEGMENT

gradeDW88,75,95,63,98,78,87,73,90,60

rankDW10DUP(?)

dataENDS

2、通过双重循环实现:对于数组的每个元素(学生成绩),查找数组中比该元素值大的元素个数I,那么I-1即为该学生的名次,并将名次依次保存在以rank为首地址的字数组中。

四、实验报告:

1、程序说明。说明程序的功能、结构。

功能:将给出的数组每个元素在数组的大小位置找出来,放到rank数组中

数据定义块:datasegment

gradedw88h,75h,95h,63h,98h,78h,87h,73h,90h,60h

rankdw10DUP(?)

countdw?

dataends

代码块:

codesegment

assumecs:code,ds:data

mainprocfar

start:

movax,data

movds,ax

xorax,ax

movsi,ax

movcount,ax

外层循环:lea1

lea1:

leabx,grade

movcx,rank-grade

sarcx,1

xorax,ax

leadi,grade

内层循环lea2,lea3.lea4

lea2:

movdx,[di]

cmp[bx+si],dx

movdx,wordptr[bx+si]

jllea4

adddi,2

loop

文档评论(0)

199****8042 + 关注
实名认证
内容提供者

相信自己,相信明天

1亿VIP精品文档

相关文档