余敦辉《汇编语言》实验指导书实验1-实验3

来源:网络收集 时间:2025-04-29 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

MOV CL, 2 RCR AX, CL

四、实验步骤

1、利用DEBUG的A命令输入待调试的程序段。

2、利用单步执行命令T逐条执行指令,观察寄存器及相关状态位的值。 以实验内容2中的加法为例,实现加法运算: 注:下划线部分为程序员输入的内容。 (1)-A

1373:0100 MOV AX, 3344 ;DX.AX<- 11223344H 1373:0103 MOV DX, 1122 1373:0106 ADD AX, 7788 ; DX.AX+55667788H->DX.AX 1373:0109 ADC DX, 5566 1373:010D -T=100

AX=3344 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=1373 ES=1373 SS=1373 CS=1373 IP=0103 NV UP EI PL NZ NA PO NC 1373:0103 BA2211 MOV DX,1122 -T

AX=3344 BX=0000 CX=0000 DX=1122 SP=FFEE BP=0000 SI=0000 DI=0000

DS=1373 ES=1373 SS=1373 CS=1373 IP=0106 NV UP EI PL NZ NA PO NC 1373:0106 058877 ADD AX,7788 -T

AX=AACC BX=0000 CX=0000 DX=1122 SP=FFEE BP=0000 SI=0000 DI=0000

DS=1373 ES=1373 SS=1373 CS=1373 IP=0109 OV UP EI NG NZ NA PE NC 1373:0109 81D26655 ADC DX,5566 -T

AX=AACC BX=0000 CX=0000 DX=6688 SP=FFEE BP=0000 SI=0000 DI=0000

DS=1373 ES=1373 SS=1373 CS=1373 IP=010D NV UP EI PL NZ NA PE NC 1373:010D 0000 ADD [BX+SI],AL DS: ;结果:DX.AX=6688AACCH

五、拓展题:

1、 编写程序段:将DX.AX中的双字右移一位。

2、 编写程序段:将AX寄存器的最低4位置1,最高3位清0,第7、8、9位取反,

其余位不变。设AX中原来的值为0AAH。

3、 设AX=2AH,BX=30H,编写程序段计算:AX/BX,并将结果送BX.CX。

六、实验报告:

1、写出源程序段清单、程序说明、执行结果。

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

实验三 汇编语言程序的调试与运行

一. 知识点

1、 汇编语言源程序的格式

完整的汇编语言源程序由段组成,即代码段、数据段、附加段和堆栈段。其中,需要独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点。

例如,输出一个字符串的源程序:

.model small ;定义程序的存储模式(小型程序一般采用小模式) .stack ;定义堆栈段 .data ;定义数据段

string db ‘An example.’,0ah,0dh,’$’ ;在数据段中定义要显示的字符串 .code ;定义代码段 .startup ;程序的起始点

lea dx, string ;将字符串的起始地址送dx,即设置入口参数 mov ah, 09h ;设置输出字符串的功能调用号 int 21h ; 功能调用:显示 .exit 0 ;程序结束点,返回dos end ;汇编结束 注:这是简化段定义的程序格式 2、 汇编语言程序的开发过程

一般步骤:编辑、编译、连接、调试运行

(1) 源程序的编辑

源程序文件可以利用任一文本编辑器进行编辑,通常我们用“记事本”。 源程序文件保存时,一般以 .asm为文件的后缀名。 具体实现:如图

在win2000环境下,在“另存为”界面中输入文件全名(example.asm),并且将“保存类型“选择为“所有文件”。

也可以使用.txt后缀名,不过在汇编时要写源文件的全名,否则系统默认的为.asm。

(2) 源程序的汇编、连接

汇编是将源程序翻译成由机器代码组成的目标模块文件的过程。连接程序将一个或多个目标文件和库文件合成一个可执行文件。 MASM6.X提供的ML.EXE可以实现:

先汇编,若没有错误则自动调用LINK.EXE连接程序进行编译;若有错,则提示错误信息,可利用列表文件查看错误所在位置,并改正错误,重新汇编和连接。

例如,设上面的例题程序文件为EXAMPLE.ASM,并且该文件与ML.EXE等文件都在同一目录(设该目录为当前目录)下,则汇编、连接的命令为:

>ML EXAMPLE.ASM

运行结果见实验步骤2。产生:EXAMPLE.OBJ和 EXAMPLE.EXE文件 特别说明:

ML允许汇编和连接多个程序形成一个可执行文件,而且还可以带参数,格式:

ML [/参数选项] 文件列表

常用参数选项有:

/c ——只汇编源程序,不进行自动连接(注意用小写字母c) /Fl 文件名——创建一个汇编列表文件(扩展名LST),用于查找错误。 Sg ——在省城的列表文件中,列出由汇编程序产生的指令

例如:若将字符串的引号改为中文的“‘”后重新用下面命令汇编连接,则结果见实验步骤3。

>ML /Fl EXAMPLE.ASM

(3) 可执行程序的调试

在操作系统提示符下直接输入柯执行文件名即可运行: >EXAMPLE

当出现运行错误时,通常用DEBUG进行调试: >DEBUG EXAMPLE.EXE

然后采用U命令进行反汇编,用T或G命令运行并观察,找出错误所在。

二.实验目的及要求

1.掌握数据定义、段定义的方法

2.熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。 3、熟悉常见Jcc指令、loop指令的使用。

三.实验内容

编程实现:

1、 求数组array中的20个字元素的和,并存入变量total中。其中,数组元素在定义数

组时以初值的形式给出。

2、 给DX送一个初值,然后判断:若DX的高4位全为0,则使AX=0;否则使AX=-1。 3、 定义一个字符串string,包含若干字符并且以’$’结尾,用程序统计字符的个数。

四、实验步骤

以实验内容1为例,介绍实验步骤:

1、 编辑源程序:在记事本中输入如下程序,并存在E:\\MASM6\\BIN\\EXAM1.ASM中。 2、 汇编、编译: 情况1:没有错误 >ml example.asm

Object Modules [.obj]: example.obj Run File [example.exe]: \

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库余敦辉《汇编语言》实验指导书实验1-实验3在线全文阅读。

余敦辉《汇编语言》实验指导书实验1-实验3.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/199435.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219