77范文网 - 专业文章范例文档资料分享平台

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

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

137B:0105 add ax,bx 137B:0107 mov [2000],ax 137B:010A

-T=0100

AX=0020 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=137B ES=137B SS=137B CS=137B IP=0103 NV UP EI PL NZ NA PO NC 137B:0103 89C3 MOV BX,AX -T=0103

AX=0020 BX=0020 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=137B ES=137B SS=137B CS=137B IP=0105 NV UP EI PL NZ NA PO NC 137B:0105 01D8 ADD AX,BX -T AX=0040 BX=0020 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=137B ES=137B SS=137B CS=137B IP=0107 NV UP EI PL NZ NA PO NC 137B:0107 A30020 MOV [2000],AX DS:2000=000 -T AX=0040 BX=0020 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=137B ES=137B SS=137B CS=137B IP=010A NV UP EI PL NZ NA PO NC 137B:010A 0000 ADD [BX+SI],AL DS:0020=FF -D 2000 L2 137B:2000 40 00

.

;修改0100处的指令mov ax,20 将AX的初始值改为10,并重新运行 -A 0100

137B:0100 mov ax, 10 137B:0103

;最后一条指令执行的结果如下:

AX=0020 BX=0010 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=137B ES=137B SS=137B CS=137B IP=010A NV UP EI PL NZ NA PO NC

137B:010A 0000 ADD [BX+SI],AL DS:0010=DF ;查看2000单元的值为0020H -D 2000 l2

137B:2000 20 00

. ;修改2000单元的值,由20h改为30h 并重新显示 -E 2000

137B:2000 20.30 -D 2000 l2

137B:2000 30 00

五、 拓展题

MOV、XCHG、XLAT指令的调试。

要求:用汇编命令A输入以下源程序段,用T命令单步执行,查看执行结果:寄存器或存储单元的值。。

提示:在DEBUG环境下输入程序段时要省掉立即数后面的字符“H” 1、MOV指令的调试

程序段:MOV AL, 55H MOV AH, AL MOV BX, 1000H

MOV BYTE PTR[BX], 66H MOV WORD PTR[BX+2], 77H MOV [BX+4], AX 2、 XCHG指令的调试

程序段:MOV AX, 0203H MOV BX, 0405H XCHG AX, BX XCHG BL, BH 3、 XLAT指令的调试

(1) 用E命令从DS:200地址开始输入数据10H、20H、30H、40H、50H

(2) 用A命令输入以下程序段:

MOV BX, 200 ;将数据的首地址送给BX

MOV AL, 4用MOV ;将要查找的数据的偏移地址送给AL XLAT

;查看结果寄存器AL中的值,以及从DS:200开始的存储单元的值。

六、 实验报告

写出在DEBUG状态下编写、运行程序段的过程以及调试所中遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。

实验二 基本汇编指令的使用

一、知识点

1、 最常用的传送指令 MOV

可以将立即数/内存单元的值/寄存器的值送给寄存器,或将立即数/寄存器的值送给内存单元,但不允许两个内存单元之间直接传送。

2、 常用算术运算指令 ADD/ADC/INC、SUB/SBB/DEC/CMP/NEG 两个单字节/单字之间的加法用ADD指令、减法用SUB指令;

多字节/多字之间的加/减,除最低字节/最低字用ADD/SUB指令外,其余字节/字之间的加/减都要用包含进位/借位的ADC/SBB指令。

INC和DEC指令常用于修改计数器或修改指针,常用与循环处理一批数据。

CMP指令常用于比较两个数的关系,为下一步的条件转移做准备(后跟条件转移指令)。 3、 常用逻辑运算指令 AND/OR/NOT/XOR/TEST AND指令常用于给一个数据的某几位清零; OR指令常用于给一个数据的某几位置1; XOR指令常用于将一个数据某几位翻转; NOT指令常用于将一个数据所有位取反;

TEST指令常用于测试一各数据的某一位或某几位的值,后跟条件转移指令。 4、 常用移位指令 SHL/SHR/SAR/ROL/ROR/RCL/RCR

SHL和SAL功能相同,都是将操作数左移一位或几位,移出的空位补0;

SHR和SAR功能不同,虽都是将操作数右移一位或几位,但左边移出的空位分别补0和1(SHR要补0,SAR补1)。

二、实验目的及要求

1、继续熟悉汇编语言调试环境Debug的使用,掌握常用调试命令。

2、用基本指令编写的程序段,并在Debug环境中调试,从实践中加深对基本汇编语言指令的执行过程的理解。

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

三、实验内容

1、 单步调试以下程序段,给出每条指令执行后AL的值,以及CF、ZF、SF、OF的状

态。

MOV AL, 89H ADD AL, AL ADD AL, 9DH CMP AL, 0BCH SUB AL,AL DEC AL INC AL

2、 编写程序段,分别完成11223344H与55667788H的加/减计算,并调试、观察结果。 3、 单步调试以下程序段,给出每条指令执行后AL的值,以及CF、ZF、SF、OF的状

态。

MOV AX, 1470H MOV BX, 3060H AND AX, BX OR AX, BX XOR AX, AX NOT AX TEST AX,0F0F0H

4、 设(AX)=1234H,写出执行下列每条指令后AX寄存器的内容,并观察CF的变化。

SHL AX, 1 MOV CL, 2 SHL AX, CL SHR AX, 1 ROL AX, 1 MOV CL, 3 ROL AX, CL RCR AX,1

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

余敦辉《汇编语言》实验指导书实验1-实验3(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/656203.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: