汇编语言上机实验指导
汇编语言实验指导书

目录第一部分汇编语言程序的上机过程 (1)一、建立汇编语言的工作环境 (1)二、在计算机上运行汇编语言的步骤 (1)三、建立ASM文件 (1)四、用MASM程序产生OBJ文件 (3)五、用LINK程序产生EXE文件 (3)六、程序的执行 (3)七、举例 (3)第二部分汇编语言上机调试 (4)一、为何需要调试? (4)二、如何进行调试? (5)第三部分汇编语言上机内容 (8)实验一输出字符串 (8)实验二算术指令综合编程 (8)实验三查找子字符串 (9)实验四字符串正向、反向输出 (9)实验五信息检索 (9)实验六格式化输出 (9)实验七数组合并 (10)实验八字符统计 (10)实验九数制转换 (10)第四部分汇编语言实验参考代码 (11)实验一输出字符串 (11)实验二算术指令综合编程 (11)实验三查找子字符串 (12)实验四字符串正向、反向输出 (13)实验五信息检索 (14)实验六格式化输出 (17)实验七数组合并 (18)实验八字符统计 (20)实验九数制转换 (22)第一部分汇编语言程序的上机过程一、建立汇编语言的工作环境为运行汇编语言程序至少要在磁盘上建立以下文件:1、编辑程序,如EDIT.EXE2、汇编程序,如MASM.EXE3、连接程序,如LINK.EXE4、调试程序,如必要时,还可建立如CREF.EXE,EXE2BIN.EXE等文件。
二、在计算机上运行汇编语言的步骤1、用编辑程序建立ASM源文件,以ASM作为扩展名2、用汇编程序把ASM文件转换成OBJ文件3、用连接程序把OBJ文件转换成可执行文件4、在DOS提示符下直接键入可执行文件名即可执行该程序三、建立ASM文件建立ASM文件的编辑程序可以是DOS自身带的编辑程序EDIT.EXE,在DOS提示符下键入EDIT命令即可出现EDIT界面,其操作如下:D:\>edit源程序输入完后,以ASM作为扩展名进行保存,假设所保存的文件名为:ex.asm。
实验一 汇编语言程序设计的实验环境及上机步骤

实验一熟悉汇编语言程序设计的实验环境及上机步骤一、实验目的:1、掌握文本编辑程序EDIT的基本使用方法。
2、熟练掌握汇编语言上机操作的基本步骤,学会汇编语言程序的编辑、汇编、连接、运行等操作方法。
二、上机实验指导(一)实验环境1.硬件环境微型计算机(Intel x86系列CPU)一台2. 软件环境⏹Windows98/2000/XP操作系统⏹文本编辑器(NOTEPAD(记事本))⏹汇编程序(MASM.EXE)⏹连接程序(LINK.EXE)(二)上机实验步骤上机步骤总结如下:1.把汇编程序拷贝到 C:\ASM\2.用记事本建立ASM源程序,保存为C:\ASM\HELLO.ASM3.汇编 C:\ASM>MASM HELLO.ASM<回车>4.链接C:\ASM>LINK HELLO.OBJ<回车>5.执行C:>ASM>HELLO〈回车〉下面详细介绍上机步骤:1.确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。
创建方法:找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。
请把MASM.EXE、LINK.EXE都拷贝到此目录中。
2.建立ASM源程序使用NOTEPAD(记事本)文本编辑器建立ASM源程序。
打开记事本,输入源程序后,保存为后缀为.ASM的文件,保存路径为C:\ASM\HELLO.ASM。
3.用MASM.EXE汇编源程序产生OBJ目标文件具体操作如下:在DOS命令提示符窗口中操作选择“开始”→“程序”→“附件”→“命令提示符”,打开DOS命令提示符窗口,然后用CD命令转到源程序目录下,接着输入MASM命令:C:\Documents and Settings>cd..(回车,退回到上一级根目录)C:>CD ASM<回车>C:\ASM>MASM HELLO.ASM<回车>操作时的屏幕显示如图2所示。
汇编语言上机实验指导书(不含源代码)

汇编语言上机实验指导书一、概述上机实验总学时为14学时,其中综合性实验为2学时。
实验共有6项暂定为7次,每次2学时。
1.实验辅导的主要内容实验辅导的内容包括每个实验的实验目的;实验内容;对实验的算法及实验方法的必要说明;实验准备;实验步骤;实验报告要求;实验程序及参考框图。
开始的实验介绍较细,后面的实验简要介绍。
2.实验的软硬件要求关于汇编语言程序设计的硬件要求不高,有IBM-PC/XT即可,但应有彩色显示器以便进行图形实验。
软件方面应有MASM.EXE5.0版(包括LINK.EXE),与MS-DOS版本配套的DEBUG程序和EDIT.EXE编辑软件(其它编辑软件也可以)。
3.加强实践能力的培养实验目的不光是为了验证书本理论,更重要的是对实践能力的培养。
其中包括:实际调试程序的能力,例如修改程序参数的能力,查看结果的能力,设置断点调试运行的能力等;开发汇编语言应用程序的能力,例如应用有关汇编软件的能力,进行系统调用和BIOS功能调用的能力,进行模块程序设计的能力等。
对某一问题用不同的程序实现的能力,例如我们为每个实验提供了参考程序(或程序段),目的是让每个实验者参照样板程序将实验成功地实现,在掌握其方法后,自己改变程序或自己编制程序加以实现。
实验一汇编语言运行环境及方法、简单程序设计(2学时、验证性)1.实验目的:(1) 熟悉汇编语言运行环境和方法(2)了解如何使用汇编语言编制程序(3) 熟悉DEBUG有关命令的使用方法(4) 利用DEBUG掌握有关指令的功能(5) 利用DEBUG运行简单的程序段2.实验内容(1)学会输入、编辑汇编语言程序(2)学会对汇编语言程序进行汇编、连接和运行(3)进入和退出DEBUG程序(4)学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。
对于U命令、N命令、W命令等,也应试一下。
3.实验准备(1)仔细阅读有关汇编语言环境的内容,事先准备好使用的例子。
汇编语言上机实验指导书

《汇编语言》实验指导书计算机实验中心目录目录::实验一利用DEBUG调试程序调试程序段 (4)实验二分支程序实验 (5)实验三循环程序实验 (8)实验四子程序实验(一) (9)实验五子程序实验(二) (13)实验六字符处理程序实验 (19)实验七输入输出实验 (23)试验八中断程序试验 (28)汇编语言上机实验指导书一、概述上机实验总学时为18学时,其中综合性和设计性实验至少为8学时。
实验的次数暂定为8次,每次2-3学时,可结合实际条件适当增减,但不少于6次。
1.实验辅导的主要内容实验辅导的内容包括每个实验的实验目的;实验内容;对实验的算法及实验方法的必要说明;实验准备;实验步骤;实验报告要求;实验程序及参考框图。
开始的实验介绍较细,后面的实验简要介绍。
2.实验的软硬件要求关于汇编语言程序设计的硬件要求不高,有IBM-PC/XT即可,但应有彩色显示器以便进行图形实验。
软件方面应有MASM.EXE5.0版(包括LINK.EXE),与MS-DOS版本配套的DEBUG 程序和EDIT.EXE编辑软件(其它编辑软件也可以)。
3.加强实践能力的培养实验目的不光是为了验证书本理论,更重要的是对实践能力的培养。
其中包括:实际调试程序的能力,例如修改程序参数的能力,查看结果的能力,设置断点调试运行的能力等;开发汇编语言应用程序的能力,例如应用有关汇编软件的能力,进行系统调用和BIOS 功能调用的能力,进行模块程序设计的能力等。
对某一问题用不同的程序实现的能力,例如我们为每个实验提供了参考程序(或程序段),目的是让每个实验者参照样板程序将实验成功地实现,在掌握其方法后,自己改变程序或本分改变程序加以实现。
实验一利用DEBUG调试程序调试程序段1.实验目的:(1)熟悉DEBUG有关命令的使用方法(2)利用DEBUG掌握有关指令的功能(3)利用DEBUG运行简单的程序段2.实验内容(1)进入和退出DEBUG程序(2)学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。
汇编实验指导新(实验一)

汇编语言程序设计实验指导实验一汇编语言程序设计上机及debug的使用一、实验目的及要求1.学会使用EDIT、MASM、LINK、DEBUG等软件工具。
2.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。
二、实验内容(一) 上机过程1.汇编语言源程序的上机环境硬件环境:目前8086汇编语言程序一般多在IBM PC/XT及其兼容机上运行,因此要求机器具有一些基本配置就可以了,汇编语言对机器硬件环境没有特殊要求。
软件环境:软件环境是指支持汇编语言程序运行和帮助建立汇编语言源程序的一些软件。
编写MASM程序至少需要三个工具,一个是用来准备源文件的文本编辑程序,一个是用来将源文件转换成目标文件的MASM汇编程序,最后一个是用来将多个目标文件连接成一个DOS可执行文件的LINK连接程序。
(1)进入DOS操作系统:汇编语言程序的建立和运行在DOS操作系统支持下进行,要首先进入MS-DOS状态:点击开始菜单/运行在打开提示框中输入cmd再回车cd\apps\masm回车(2)编辑程序:编辑程序是用来输入和建立汇编语言源程序的一种通用的系统软件,通常源程序的修改也是在编辑状态进行的。
编写汇编语言程序的第一步,就是用文本编辑程序编写源文件。
源文件的编写可以利用任何一种文本编辑程序完成,具体使用哪一种,完全取决于个人喜好。
比如,记事本、、WORDSTAR、、等,但要注意,除了注释的内容外,一定要在非文本方式下输入各种语句和间隔符号,否则会汇编出错。
如:Edit abc.asm回车源程序以asm作文件名后缀。
Microsoft公司在推出MASM6.0的同时也提供了优秀的全屏幕文本编辑程序,作为PWB(程序员工作平台)的组成部分。
该编辑程序支持下拉式菜单、鼠标,并可根据用户特定需求进行裁剪。
(3)汇编程序:8086的汇编程序有基本汇编ASM.EXE和宏汇编MASM.EXE两种。
基本汇编ASM.EXE不支持宏操作,因此,一般选用宏汇编MASM.EXE。
汇编语言上机指导

汇编语言上机指导实验一DEBUG常用命令及8086指令使用实验目的:通过实验掌握下列知识:1、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG2、DEBUG命令: A,D,E,F,H,R,T,U。
3、ASCII码及用16进制数表示二进制码的方法。
4、8086寄存器: AX,BX,CX,DX,F,IP。
内容及步骤:一、DEBUG 命令使用:1、打 DEBUG 进入 DEBUG 控制,显示提示符 '_ '。
2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。
3、用命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII 字符。
4、用命令 F110 11F 41 重复上二项实验,观察结果并比较。
5、用命令E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码?6、用H命令检查下列各组16进制数加减结果并和你的手算结果比较:(1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758,347FH7、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。
8、用R命令将AX,BX内容改写为1050H及23A8H。
二、8086常用指令练习1、传送指令1)用A命令在内存100H处键入下列内容:MOV AX,1234MOV BX,5678XCHG AX,BXMOV AH,35MOV AL,48MOV DX,75ABXCHG AX,DX2)用U命令检查键入的程序并记录,特别注意左边的机器码。
3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。
并注意标志位有无变化。
2、加减法指令:1)用A命令在内存100H处键入下列内容:MOV AH,34MOV AL,22ADD AL,AHSUB AL,78MOV CX,1284MOV DX,5678ADD CX,DXSUB CX,AXSUB CX,CX2)用U命令检查键入的程序及对应的机器码。
汇编语言上机指导

汇编语言上机指导一、概述汇编语言是一种低级别的程序设计语言,它直接使用计算机的指令集架构来编写程序。
而在进行汇编语言的实际操作时,上机指导是必不可少的一环。
本文将为您提供一份汇编语言上机指导,以帮助您在实践中更好地掌握汇编语言的应用。
二、实验环境与所需工具在进行汇编语言的上机实验之前,您需要准备以下工具和环境:1. 计算机:一台能够运行汇编语言开发环境的计算机;2. 汇编语言开发环境:例如MASM、NASM等;3. 文本编辑器:用于编写汇编源代码的工具,例如Notepad++、Sublime Text等;4. 模拟器或调试器:用于模拟或调试汇编程序的工具,例如DOSBox、Emu8086等。
三、实验步骤1. 安装汇编语言开发环境:根据您选择的汇编语言开发环境,下载并安装相应的软件。
2. 创建汇编源代码文件:使用文本编辑器创建一个新的文本文件,并将其保存为.asm文件格式。
3. 编写汇编程序:根据实验要求或题目要求,使用汇编语言编写相应的程序代码。
在编写过程中,需要熟悉所选汇编语言的语法和指令集。
4. 保存源代码文件:在编写完成后,保存源代码文件,并注意文件的命名规范和格式要求。
5. 编译源代码:打开所选汇编语言开发环境,并将源代码文件导入到该环境中。
使用编译器将源代码文件转换为可执行文件。
6. 运行汇编程序:在模拟器或调试器中加载生成的可执行文件,并运行程序。
通过观察程序的运行结果,验证程序代码的正确性和准确性。
7. 调试程序:如果程序在执行过程中出现错误或异常,可以使用调试器来逐步调试程序,找出错误的原因,并进行修正。
8. 优化程序:经过测试和调试后,可以根据实验需求对程序进行优化或改进,提高程序的性能和效率。
9. 文档整理:在上机实验结束后,对实验过程、实验结果和实验心得进行文档整理。
将实验相关的代码、截图和注释整理成文档,并附上你的实验心得和体会。
四、注意事项1. 在编写汇编程序时,需要遵循所使用汇编语言的语法和规范,注意标识符的命名规则和字符集的使用限制。
微机原理与汇编语言实验指导书

实验一显示程序[实验目的]1.掌握汇编语言程序上机的实验过程2.掌握显示程序的基本设计方法。
[实验原理]汇编语言上机过程1、建立汇编源程序(建立文件名.asm)(1)通过MD-DOS自带的EDIT.EXE文本编辑器进行输入和其它的文本编辑器进行录入、编辑,如可用c语言和pascal语言的文本编辑器来编辑,最后将文件存为filename.asm的形式即可。
2、编译目标文件(即:编译为.obj .lst .crf文件)将正确的源代码编译为机器语言、程序清单及交叉引用表的目标文件。
如果此时程序有语句错误,系统将报错,并指出在第几行,什么类型的错误,可根据提示去逐一修改。
3、连接为可执行文件(即:连接为.exe 或.com文件)在DOS提示符下: LINK filename 回车4、运行编译好的可执行文件当4通过后,会产生一个可执行文件,这时只需运行这个程序,看它是否按你所想象那样得出结果。
在试运行期间,要尽量试一些临界状态,看程序是否运行稳定、结果是否正确,进行5。
5、用调试工具调试,重新修改(逻辑错误)用DOS中自带的调试程序DEBUG.EXE来进行程序调试、检查错误。
6.有关显示DOS基本命令1)单个字符显示命令将要显示的字符的ASCII码送给DL寄存器中断功能号2送AH寄存器,中断类型21H.如显示“3” MOV DL,33H 或 MOV DL, ‘3’如显示‘A’ MOV AH,‘A’MOV AH,2 MOV AH,2 MOV AH,2INT 21H INT 21H INT 21H 2)字符串显示命令将要显示的字符串所在存储区的首地址送给DX寄存器中断功能号9送AH寄存器,中断类型21H.如显示字符串“HELLO”存储区定义为 T DB“HELLO”,10,13,24H LEA DX,TMOV AH,9[实验方法及步骤] INT 21H1、编写实验程序。
2、编译。
3、运行(单步,跟踪),检查结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言上机实验指导实验一汇编语言基本指令操作练习一、实验目的:1、掌握8086/8088基本指令的使用方法和功能。
2、初步了解汇编语言程序设计的基本结构和利用DEBUG调试程序的方法。
3、进一步熟悉汇编语言的上机过程。
二、上机实验指导:(一)利用DEBUG的A命令输入指令,做如下实验。
1、比较下面指令的区别:①MOVAX,2000H②MOVBX,[2000H]-D2*******;显示字存储单元DS:2000的内容3ADC:20005A58ZX-R;显示指令执行前AX,BX的内容AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=3ADCES=3ADCSS=3ADCCS=3ADCIP=0100NVUPEIPLNZNAPONC3ADC:0100858CFFF3TESTCX,[SI+F3FF]DS:F3FF=74C0-A;利用A命令输入汇编指令3ADC:0100MOVAX,20003ADC:0103MOVBX,[2000]3ADC:0107INT3;此中断为断点中断,使程序执行暂停3ADC:0108-G;不指定地址,从当前CS:IP处执行AX=2000BX=585ACX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000 DS=3ADCES=3ADCSS=3ADCCS=3ADCIP=0107NVUPEIPLNZNAPONC3ADC:0107CCINT3;指令执行后,AX=2000H,BX=585AH2、以寄存器BX作为地址指针,从BX所指的存储单元开始起,连续存放着两个无符号数(字操作数),编程求它们的和,并将结果存放在这两个数之后。
-RBX;显示BX寄存器中的内容(BX=0000h)BX0000:;回车-D0*******;显示DS:0000到DS:0005的内容(BX所指的三个字操作数),如BX不为0000H,自己修改范围。
3A6B:0000CD20FF9F009A..... ;三个字操作数依次为20CDH,9FFFH,9A00H-A;输入指令3A6B:0100MOVAX,[BX]3A6B:0102INCBX3A6B:0103INCBX3A6B:0104ADDAX,[BX]3A6B:0106INCBX3A6B:0107INCBX3A6B:0108MOV[BX],AX3A6B:010AINT33A6B:010B-G;运行此程序AX=C0CCBX=0004CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000 DS=3A6BES=3A6BSS=3A6BCS=3A6BIP=010ANVUPEIPLNZNAPONC3A6B:010ACCINT3-D0*******;观察运行结果,检查第三个字操作数是否为前两个字操作数之和3A6B:0000CD20FF9FCCC0.....3、在屏幕上显示大写字符”A”。
-A1277:0100movah,21277:0102movdl,41;大写字符”A”的ASCII值为41H1277:0104int211277:0106int31277:0107-GA;显示大写字符”A”AX=0241BX=0000CX=0000DX=0041SP=FFEEBP=0000SI=0000DI=0000 DS=1277ES=1277SS=1277CS=1277IP=0106NVUPEIPLNZNAPONC 1277:0106CCINT3三、实验步骤1、按照上机实验指导的内容,练习三个程序的运行和调试。
2、用DEBUG的A命令输入指令,完成以下功能:已知(AL)=50H,(BL)=18H,计算AL-BL,并将存入CL中。
输入指令后,运行调试,观察运行结果。
-a1277:0100moval,501277:0102movbl,181277:0104subal,bl1277:0106movcl,al1277:0108int31277:0109-g;观察寄存器AX,BX,CX的内容AX=0038BX=0018CX=0038DX=0000SP=FFEEBP=0000SI=0000DI=0000 DS=1277ES=1277SS=1277CS=1277IP=0108NVUPEIPLNZACPONC 1277:0108CCINT33、用DEBUG的A命令输入指令,完成以下功能:输入一个大写字母,将其转换为小写字母后输出。
编好程序后,用DEBUG调试、运行程序。
-a1277:0100movah,11277:0102int211277:0104addal,201277:0106movdl,al1277:0108movah,21277:010Aint211277:010Cint31277:010D-gAa;输入一大写字母转换为小写字母后输出AX=022ABX=0000CX=0000DX=002ASP=FFEEBP=0000SI=0000DI=0000 DS=1277ES=1277SS=1277CS=1277IP=010CNVUPEIPLNZNAPONC 1277:010CCCINT3四、实验报告1、用DEBUG调试程序时,如何设置断点?2、写出实验内容二的程序段。
3、写出实验内容三的源程序。
实验二顺序结构程序设计一、实验目的:1、掌握顺序结构程序设计的基本方法。
2、熟悉汇编语言程序设计的基本结构和常用指令的使用。
3、进一步熟悉汇编语言的上机过程和DEBUG的使用。
二、上机实验指导:(一)编写一个程序,在屏幕上输出一个大写字母”A”。
1、编写源程序,存为lx1.asm.codesegmentassumecs:codemain:movah,2movdl,‟A‟int21hmovah,4chint21hcodeendsendmain2、汇编masmlx1;3、连接linklx1;4、运行lx1(二)编写程序完成如下功能:已知字节变量X,Y存放于VARX,VARY存储单元中,利用公式求Z的值,并将结果存放于RESULT存储单元中。
公式:Z=((X+Y)*8-X)/2参考程序如下:(程序名:lx2.asm)datasegmentvarxdb06hvarydb07hresultdb?dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovdl,varx;DL<-Xadddl,vary;DL<-X+Ymovcl,3saldl,cl;DL<-(X+Y)*8subdl,varx;DL<-(X+Y)*8-Xsardl,1;DL<-((X+Y)*8-X)/2movresult,dlmovah,4chint21h;退出程序codeendsendstartC:\MASM\DEBUGLX2.EXE-U;反汇编0F7A:0000B8790FMOVAX,0F790F7A:00038ED8MOVDS,AX0F7A:00058A160000MOVDL,[0000]0F7A:000902160100ADDDL,[0001]0F7A:000DB103MOVCL,030F7A:000FD2E2SHLDL,CL0F7A:00112A160000SUBDL,[0000]0F7A:0015D0FASARDL,10F7A:001788160200MOV[0002],DL0F7A:001BB44CMOVAH,4C0F7A:001DCD21INT21;源程序结束-G=01B;运行到断点CS:001BAX=0F79BX=0000CX=0003DX=0031SP=0000BP=0000SI=0000DI=0000 DS=0F79ES=0F69SS=0F79CS=0F7AIP=001BNVUPEIPLNZACPONC0F7A:001BB44CMOVAH,4C-D0*******;数据段三个字节内容分别为X,Y,Z0F79:0000060731..1三、实验步骤1、上机调试、运行实验指导中的参考程序。
2、编写程序完成如下功能:用十进制输出一个按键的ASCII码值。
(教材43页例3.11)3、编写程序完成如下功能:输入两个一位数,输出它们的积。
(教材44页例3.12)四、实验报告1、写出实验内容二的源程序。
2、写出实验内容三的源程序。
实验三分支结构程序设计一、实验目的:1、掌握分支结构程序设计的基本方法。
2、掌握无条件转移指令和条件转移指令的使用。
3、掌握分支结构程序设计的两种基本结构的使用。
二、上机实验指导:(一)编写程序,将BX与DX中较大的一个无符号数放到AX中。
(程序文件名lx61.asm)codesegmentassumecs:codestart:movbx,1000;十进制数movdx,785h;十六进制数cmpbx,dxjalab3;如BX>DXmovax,dxjmplab4lab3:movax,bxlab4:movah,4chint21hcodeendsendstartC:\MASM\DEBUGLX61.EXE-u35D1:0000BBE803MOVBX,03E835D1:0003BA8507MOVDX,078535D1:00063BDACMPBX,DX35D1:00087705JA000F35D1:000A8BC2MOVAX,DX35D1:000CEB03JMP001135D1:000E90NOP35D1:000F8BC3MOVAX,BX35D1:0011B44CMOVAH,4C35D1:0013CD21INT2135D1:0015FF34PUSH[SI]35D1:001726ES:35D1:00188A4402MOVAL,[SI+02]35D1:001B2AE4SUBAH,AH35D1:001D50PUSHAX35D1:001EE80B02CALL022C-g=011;观察寄存器AX、BX、DX的值AX=0785BX=03E8CX=0015DX=0785SP=0000BP=0000SI=0000DI=0000 DS=35C1ES=35C1SS=35D1CS=35D1IP=0011NVUPEINGNZNAPECY35D1:0011B44CMOVAH,4C(二)1(x>0)已知符号函数Y=1(x=0),给出X值在存储器XX单元,-1(x<0)根据符号函数求出Y值存放于YY单元。
(程序名:EX62.ASM)datasegmentxxdb12hyydb?dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axcmpxx,0jezero;如XX为0,则转到zerojnsbig;否则如XX大于0,转到bigmovbl,0ffh;否则,XX小于0jmpend1zero:movbl,0jmpend1big:movbl,1end1:movyy,blmovah,4chint21hcodeendsendstartC:\MASM\DEBUGEX6.EXE-U;反汇编36E8:0000B8E736MOVAX,36E736E8:00038ED8MOVDS,AX36E8:0005803E000000CMPBYTEPTR[0000],0036E8:000A7407JZ001336E8:000C790AJNS001836E8:000EB3FFMOVBL,FF36E8:0010EB08JMP001A36E8:001290NOP36E8:0013B300MOVBL,0036E8:0015EB03JMP001A36E8:001790NOP36E8:0018B301MOVBL,0136E8:001A881E0100MOV[0001],BL36E8:001EB44CMOVAH,4C-G=01E;运行到断点001EAX=36E7BX=0001CX=0032DX=0000SP=0000BP=0000SI=0000DI=0000 DS=36E7ES=36D7SS=36E7CS=36E8IP=001ENVUPEIPLNZNAPENC36E8:001EB44CMOVAH,4C-D0*******;观察运行结果(X为12H时,Y为01H)36E7:00001201..-E0000F0;将X修改为F0H(DS:0000)-G=01E;再次运行程序AX=36E7BX=00FFCX=0032DX=0000SP=0000BP=0000SI=0000DI=0000 DS=36E7ES=36D7SS=36E7CS=36E8IP=001ENVUPEINGNZNAPENC36E8:001EB44CMOVAH,4C-D0*******;观察运行结果(X为F0H时,Y为0FFH)36E7:0000F0FF..-E00000;将X修改为00H-G=01E;再次运行程序AX=36E7BX=0000CX=0032DX=0000SP=0000BP=0000SI=0000DI=0000 DS=36E7ES=36D7SS=36E7CS=36E8IP=001ENVUPEIPLZRNAPENC36E8:001EB44CMOVAH,4C-D0*******;观察运行结果(X为00H时,Y为00H)36E7:00000000..三、实验步骤1、上机调试、运行实验指导中的参考程序。