汇编语言上机实验汇总

合集下载

汇编语言上机实验内容

汇编语言上机实验内容

实验一上机操作一、实验目的掌握汇编语言程序编辑、汇编、连接、运行以及利用DEBUG调试程序的方法。

二、实验设备PC机及相应的软件。

三、实验内容及步骤1、编辑一个指定的汇编语言源程序,并对其进行汇编、连接和运行。

2、利用DEBUG进行程序调试,掌握常用命令的使用方法,观察运行结果。

3、汇编语言上机操作,见图1-1 汇编语言上机操作流程。

上机操作过程:开始输入cmd 确认后显示:C:\Documents and setting\Administrator>-输入 cd c:\masm 后显示:c:\masm>-c:\masm>EDIT ABC.asmc:\masm>MASM ABC;若有语法错,回EDIT下改该程序c:\masm>LINK ABC;若有错,回EDIT下改程序c:\masm>ABC若运行结果错,回EDIT下改程序或在DEBUG下调试,找原因。

c:\masm>DEBUG ABC.exe手写源程序图 1-1 汇编语言上机操作流程汇编语言程序举例例1:将BL寄存器的内容按二进制形式显示出来。

设:(BL)=01010011B分析:采用2号功能调用,分别输出30 31 30 31 30 30 31 31显示:01010011参考程序:CODE SEGMENTASSUME CS: CODESTART:MOV CX ,8 ;显示字符个数为8MOV BL ,53HNEXT:SHL BL ,1 ;将显示位移至CF中JC ONE ;CF=1?MOV DL ,30H ;CF=0,将0的ASCII放在DL中JMP EXITONE:MOV DL ,31H ;CF=1,将1的ASCII放在DL中EXIT:MOV AH ,2INT 21H ;调用DOS功能显示DEC CX ;循环次数减1JNZ NEXT ;判断是否结束MOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START上机操作:c:\masm>EDIT ShowBL.asm ;编辑源程序c:\masm>MASM ShowBL ;汇编成ShowBL.objMicrosoft (R) Macro Assembler Version 5.10Copyright (C) Microsoft Corp 1981,1988. All rights reserved.48912 + 447243 Bytes symbol space free0 Warning Errors0 Severe Errorsc:\masm>LINK ShowBL ;连接成ShowBL.exeMicrosoft (R) Overlay Linker Version 3.61Copyright (C) Microsoft Corp 1983-1987. All rights reserved.LINK : warning L4021: no stack segmentc:\masm>ShowBL ;装载并执行ShowBL.exe 01010011 ;屏幕显示c:\masm>-在DEBUG下查看ShowBL.exe的装入情况:c:\masm>DEBUG ShowBL.exe- R ;查看当前寄存器内容AX=0000 BX=0000 CX=001B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=0B51 ES=0B51 SS=0B61 CS=0B61 IP=0000 NV UP EI PL NZ NA PO NC B353 MOV BL,53- U CS:0 ;查看程序0B61:0000 B353 MOV BL,530B61:0002 B90800 MOV CX,00080B61:0005 D0E3 SHL BL,10B61:0007 7205 JB 000E…….0B61:0017 B44C MOV AH,4C0B61:0019 CD21 INT 21…….-G ;执行程序01010011Program terminated normally-例2:将某段中的字符串“Hello!”传送到另一段中。

汇编语言上机实习五

汇编语言上机实习五

二、实验内容
实验 编写一个计算器的实验 1、计算器可以输入+、- 、*、/四种基本运 算,并可以马上计算出结果。如果是混合 运算,应该能够根据优先级计算出正确的 结果。 2、在完成上述实验的基础上,完成增加小括 号实现优先级的功能
汇编语言调试过程部分实验报告内容
1、写出汇编语言源程序结构 2、汇编语言调试过程 3、汇编调试中的问题和解决方法
三、要求
1、必须完成课件规定的实验内容。 2、将连接后的执行文件保留,老师抽查,完 成后签到。 3、提交电子版实验报告。 一、实验名称 二、实验环境 三、实验内容 四、实验步骤 五、实验结论和分析 文件名:学号_姓名_汇编语言实验一
微机原理与接口技术 汇编语言上机实习五
内容: 编学习和掌握汇编语言源程序的书写格式 和要求,明确程序中各段的功能和相互之 间的关系。 (2)熟练掌握在计算机上建立、汇编、连接、 调试及运行汇编语言源程序的方法。 (3)掌握汇编语言编程技巧;掌握汇编语言 各种运算指令和编程方法 (4)掌握汇编语言输出的排版方式

实验二汇编语言上机过程实验(机制本)

实验二汇编语言上机过程实验(机制本)

实验二汇编语言上机过程实验一、实验目的1、了解和掌握由键盘接收数据,并显示其运行结果的方法。

2、掌握INT 21H 的09H和0AH,01H和02H的功能。

3、熟悉在PC机上建立,汇编,链接,调试和运行8086/8088汇编语言程序的过程。

二、实验内容1、汇编语言源程序的上机过程:①将masm5.zip文件下载放在D:\masm文件夹下, 在该文件夹下将压缩文件解压缩。

②利用编辑器建立一个ASM 源文件。

Edit ,记事本等编辑器文件以文件名.asm文件名保存。

最好保存在D:\masm文件夹下。

(即:D:\masm\文件名.asm)文件名自取。

③点击开始菜单,运行↙>cmd↙>d: ↙>cd masm↙>masm 文件名 3下回车>link 文件名 3下回车>debug 文件名.exe>g ↙其中利用MASM.EXE对源程序进行编译。

生成中间代码文件:文件名.obj。

利用link.exe对obj文件进行连接。

生成最终目标代码文件:文件名.exe。

运行可执行文件:文件名.exe,并利用debug调试工具查看结果。

2、编写一个完整程序,在屏幕上显示字符串How are you!data segmentstring db 'how are you!$'data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov dx,offset stringmov ah,9int 21hmov ah,4chint 21hcode endsend start三、实验器材IBM PC 微机一台四、实验报告要求1、实验报告应包括实验目的,实验内容,实验步骤,实验思考题2、完成实验思考题,如有编程题,写出调试正确的程序,并给程序加注释,写出实验中所记录下的内存数据存放格式。

五、实验思考题下面的汇编语言源程序有错误的,试给程序加注释。

汇编上机实验报告

汇编上机实验报告

汇编上机实验报告实验目的:通过进行汇编语言上机实验,掌握汇编语言的基本语法和编程技巧,培养汇编程序设计能力。

实验内容:实验一:汇编程序的简单输入输出1.编写一个汇编程序,要求从键盘输入两个整数,然后将其相加,并将结果输出到屏幕上。

2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。

实验二:汇编程序的条件跳转1.编写一个汇编程序,要求从键盘输入一个整数,判断其是否大于10,若是,则将其打印到屏幕上;否则,将其乘以5并打印到屏幕上。

2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。

实验三:汇编程序的循环1.编写一个汇编程序,要求计算1到10的累加和,并将结果打印到屏幕上。

2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。

实验四:汇编程序的数组操作1.编写一个汇编程序,要求定义一个长度为10的数组,并将数组中的值初始化为0,然后利用循环将数组中的每一个元素加1,并将每个元素的值打印到屏幕上。

2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。

实验结果:实验一:汇编程序的简单输入输出编写的汇编程序通过键盘输入两个整数,实现了相加并将结果输出到屏幕上的功能。

程序运行正常,输出结果与预期一致。

实验二:汇编程序的条件跳转编写的汇编程序通过键盘输入一个整数,根据条件判断,实现了将输入数大于10时打印在屏幕上,否则将其乘以5并打印在屏幕上的功能。

程序运行正常,输出结果与预期一致。

实验三:汇编程序的循环编写的汇编程序通过循环计算1到10的累加和,并将结果打印在屏幕上。

程序运行正常,输出结果与预期一致。

实验四:汇编程序的数组操作编写的汇编程序通过定义一个长度为10的数组,并将数组中的值初始化为0,利用循环将数组中的每一个元素加1,并将每个元素的值打印到屏幕上。

汇编语言上机实验报告1

汇编语言上机实验报告1

汇编语言上机实验报告1汇编语言上机实验报告1实验内容:1.编写一个程序,求解给定整数的阶乘并输出结果。

2.编写一个程序,求解斐波那契数列中的第n个数并输出结果。

实验步骤:1.阶乘程序:编写一个汇编程序,通过输入一个整数n,求解n的阶乘。

程序流程如下:1.1.定义变量n,用于保存输入的整数。

1.2.将n与0进行比较,如果n为0,则直接将1输出作为阶乘的结果,并跳转到程序结束;否则继续执行下一步。

1.3.将n的值保存到寄存器中,并将n减1,保存到n中。

1.4.将n与0进行比较,如果n为0,则直接跳转到程序结束;否则继续执行下一步。

1.5.将n的值与寄存器中保存的值相乘,将结果保存到寄存器中。

1.6.将n减1,保存到n中并跳转到第4步。

1.7.输出寄存器中的结果作为阶乘的结果,并跳转到程序结束。

2.斐波那契数列程序:编写一个汇编程序,通过输入一个整数n,求解斐波那契数列中的第n个数。

程序流程如下:2.1.定义变量n,用于保存输入的整数。

2.2.将n与0进行比较,如果n为0,则直接将0作为结果输出,并跳转到程序结束;否则继续执行下一步。

2.3.将n与1进行比较,如果n为1,则直接将1作为结果输出,并跳转到程序结束;否则继续执行下一步。

2.4.将n的值保存到寄存器中,并将n减1,保存到n中。

2.5.将n与0进行比较,如果n为0,则跳转到第9步;否则继续执行下一步。

2.6.将n减1,保存到n中并跳转到第7步。

2.7.将n的值与寄存器中保存的值相加,将结果保存到寄存器中。

2.8.将n减1,保存到n中并跳转到第5步。

2.9.输出寄存器中的结果作为斐波那契数列中第n个数的结果,并跳转到程序结束。

实验结果:1.阶乘程序运行结果:请输入一个整数:55的阶乘为:1202.斐波那契数列程序运行结果:请输入一个整数:6斐波那契数列中第6个数为:8实验总结:通过本次实验,我学习了如何在汇编语言中编写程序解决一些基本的数学问题。

汇编语言上机实验汇总

汇编语言上机实验汇总

汇编语言上机实验汇总汇编语言是计算机的低级语言,主要用于编写底层程序和驱动程序。

在学习汇编语言的过程中,学生通常需要进行一定数量的上机实验。

下面是一个汇编语言上机实验的汇总。

1.实验一:环境搭建-目标:搭建汇编语言开发环境2.实验二:基本语法-目标:学习汇编语言的基本语法和指令格式-内容:编写一个简单的汇编程序,包括数据段、代码段和堆栈段,以及常用指令(例如MOV、ADD、SUB、JMP等)的使用。

3.实验三:寄存器和内存操作-目标:熟悉汇编语言中的寄存器和内存的操作-内容:编写一个汇编程序,通过MOV指令将数据从内存中加载到寄存器中,然后进行运算,并将结果存储回内存。

4.实验四:条件分支和循环-目标:掌握汇编语言中的条件分支和循环结构-内容:编写一个汇编程序,使用条件分支指令(例如CMP、JE、JNE 等)实现一个简单的判断语句;然后使用循环指令(例如LOOP)实现一个简单的循环结构。

5.实验五:子程序和参数传递-目标:学习如何创建和调用子程序,并传递参数-内容:编写一个汇编程序,其中包含一个子程序,该子程序接受两个参数并返回它们的和。

然后在主程序中调用该子程序,并输出结果。

6.实验六:中断和异常处理-目标:了解中断和异常处理机制,并在汇编程序中处理中断或异常-内容:编写一个汇编程序,其中包含一个中断处理程序,当发生特定的中断时,该处理程序将执行一些特定的操作。

7.实验七:串操作和文件操作-目标:学习汇编语言中的串操作和文件操作-内容:编写一个汇编程序,使用串操作指令(例如MOVS、LODS、STOS等)操作字符串;然后使用文件操作指令(例如OPEN、READ、WRITE 等)读取或写入文件。

8.实验八:图形和音频处理-目标:了解汇编语言中的图形和音频处理- 内容:编写一个汇编程序,使用图形库(例如BGI、OpenGL、DirectX)绘制简单的图形或运行一个音频文件。

这些上机实验可以帮助学生逐步掌握汇编语言的基本知识和技能,并为以后的高级汇编语言编程打下基础。

汇编语言程序上机实验

汇编语言程序上机实验

设置断点
在需要调试的代码行设置断点,以便在程 序运行时暂停执行。
分析程序的输出结果
运行可执行文件
在实验环境中运行可执行文件,观察 程序的输出结果。
分析结果
根据程序的输出结果,分析程序的逻 辑和功能是否正确实现。如果输出结 果与预期不符,检查源代码和调试过 程,找出问题所在并进行修正。
04
实验内容
根据实验需求选择合适的硬件设备是实验成功的关键,需要 考虑设备的性能、兼容性和可扩展性等因素。
03
实验步骤
编写汇编语言源代码
确定实验题目和要求
根据实验指导书的要求,明确实验目的和任务,确定需要编写的 汇编语言程序。
编写代码
使用汇编语言编写源代码,实现程序的功能。注意语法和指令的 正确性,确保程序逻辑正确。
编写一个简单的汇编语言程序
总结词
了解汇编语言的基本语法和结构
详细描述
编写一个简单的汇编语言程序,如输出“Hello, World!”的程序,了解汇编语言的指令、寄存器、数据和程序结 构等基本概念。
实现一个简单的计算器程序
总结词
掌握汇编语言的算术运算指令
详细描述
编写一个可以进行加、减、乘、除运 算的简单计算器程序,通过汇编语言 的算术指令实现。
了解汇编语言程序的 基本结构,如程序头、 数据段、代码段等。
熟悉子程序和中断服 务程序的编写和使用。
掌握汇编语言程序的 流程控制结构,如顺 序、分支、循环等。
掌握汇编语言的程序调试方法
熟悉汇编语言程序的调试工具, 如调试器、反汇编器等。
掌握调试工具的基本使用方法, 如设置断点、单步执行、查看 寄存器值等。
调试程序并运行可执行文件
打开调试器

汇编语言上机实训

汇编语言上机实训

===========================================================4月28日1、从键盘输入一个数n ( 1<=n<=9 ),然后屏幕上显示连续的n个“+”号。

例如,当键盘输入的是5时,屏幕上显示+++++2、从键盘输入一个字母,然后程序使得屏幕再出现该字母之后的5个后继字母。

例如:键盘输入的是m,则屏幕上除了m外,还出现nopqr。

===========================================================5月5日1、编程:在屏幕上显示如下字符:1234567123456712345672、[选做] 一个2位数( 11-99 ),个位数与十位数之和为12,求所有符合要求的数。

并显示出来,格式如下:3948.... (省略掉若干行)93提示:用两重循环来做,循环体中判断个位数与十位数是否满足条件,如果满足,则显示出来,并换一行。

===========================================================5月12日1、一个2位数( 11-99 ),个位数的2倍与十位数之和为15,求所有符合要求的数的个数并在屏幕上显示出个数。

提示:共有17,36,55,74,93等5个值。

2、[选做] 键盘输入两个小写的英文字母,编程实现在其下一行显示出这两个字母之间的所有字母。

(要考虑输入的时候,字母的大小关系)。

例1:bg (这是键盘输入的)cdef (这是软件显示的)例2:kh (这是键盘输入的)ij (这是软件显示的)===========================================================5月19-21日1、键盘输入有序的两个小写的英文字母(即第1个字母比第2个字母的ASCII值小),编程实现在其下一行显示出这两个字母之间的所有字母。

汇编语言上机实验报告

汇编语言上机实验报告

汇编语言上机实验报告实验时间:XXXX年XX月XX日实验课程:XXXXX实验室地点:XXXXX一、实验目的:1.熟悉汇编语言的基本语法和指令格式;2.掌握汇编语言程序的编写和调试方法;3.理解汇编语言与计算机硬件之间的关系。

二、实验设备与环境:1.实验设备:个人计算机或计算机终端;2. 实验环境:汇编语言开发工具,如Masm、TASM等。

三、实验内容:本实验通过编写汇编语言程序,实现以下功能:1.输入两个整数,求出其和并输出;2.输入一个正整数,判断其是否为素数并输出结果;3.输入一段字符串,判断其中是否存在一些字符,并输出字符的位置。

四、实验原理与方法:1.汇编语言基本语法:包括数据定义、指令格式、寄存器、标志位等;2.输入输出操作:通过中断调用实现从键盘输入、向屏幕输出;3.常用指令:包括数据传送指令、算术运算指令、逻辑运算指令等;4.判断与分支:通过条件判断指令实现程序流程控制。

五、实验步骤:1. 打开汇编语言开发工具,新建文件,并保存为.asm文件;2.编写程序,包括数据定义、指令编写等;3.进行程序调试,检查程序的正确性和运行结果;4.运行程序,查看程序的输出结果;5.对程序进行优化,确保程序的效率和稳定性;6.编写实验报告,记录实验过程和结论。

六、实验结果与数据分析:1.第一个功能的结果:输入两个整数进行相加并输出;2.第二个功能的结果:输入一个正整数,判断是否为素数并输出结果;3.第三个功能的结果:输入一段字符串,判断是否存在一些字符,并输出字符的位置。

七、实验总结:通过本次实验,我对汇编语言的基本语法和指令格式有了更深入的了解,掌握了汇编语言程序的编写和调试方法,加深对汇编语言与计算机硬件之间关系的理解。

在实验过程中,我遇到了一些困难和问题,但通过不断学习和尝试,最终解决了这些问题。

通过实验,我对汇编语言的应用有了更深入的认识,并体会到了编程的乐趣和挑战。

实验完成后,我深刻感受到了汇编语言的底层性能和灵活性,同时也意识到了其编码复杂和调试困难的一面。

汇编语言上机报告

汇编语言上机报告

汇编语言上机报告班级:姓名:学号:成绩:实验1:8086的微处理器结构(现场)的认识实验一、实验目的1、通过DEBUG工具了解8086的寄存器2、了解DEBUG工具二、预习要点1、8086微处理器的内部特性。

2、8086的寄存器类型、名称和作用。

3、debug工具的作用和特点三、实验项目在DOS下利用Debug调试工具的R命令查看8086微处理器的现场(数据结构)四、实验设备环境PC机1台,DOS操作系统,Debug调试工具五、实验方法在DOS下利用Debug调试工具的R命令查看8086微处理器的现场(数据结构)。

六、实验要求1、写出R命令的功能。

2、写出8086的当前现场的所有数据部件(寄存器)的名称及作用。

1. 进入DOS 指定上机目录的方法2.建立第一次上机的源程序Z=X+Y (2=1+1)3.对源程序进行编译(汇编)产生目标(二进制)文件的方法。

源程序正确(无致命错误 0 Severest Errors )时会出现编译正确的信息并产生同名1.obj 目标文件。

4.制造错误并存盘后重新汇编(MASM 1; 为快速汇编命令,不能缺少“;”。

即不用会话直接)看产生错误的信息。

修改错误重新存盘汇编。

5. 对1.obj链接(link.exe)产生可执行1.exe文件6.完成1.exe后的文件夹7.用DEBUG调入要调试的1.exe文件,用U命令查看。

8.DEBUG的U命令的功能本程序的机器语言(二进制)程序的形态。

用十六进制表示。

每条指令的首地址,如13E7:0000(指令地址由系统分配)每条指令的机器代码,如B8E613每条指令的助记符(汇编指令),如MOV AX,13E6系统分配的本程序数据段的段地址13E69. DEBUG的R命令的功能自己完成截图,并小结指出R命令的所有功能实验2:8086传送类指令的学习实验一、实验目的1、了解8086指令的特点。

2、验证传送类所有指令类型的功能。

3、通用传送指令和专用传送指令的对比。

微机原理汇编实验-汇编语言程序上机操作方法实验

微机原理汇编实验-汇编语言程序上机操作方法实验

学生实验报告实验课程名称:微机原理汇编实验开课实验室:年月日年级、专业、班学号姓名成绩实验项目名称汇编语言程序上机操作方法实验指导教师教师评语一、实验目的学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法,为后继课程打下坚实的基础。

二、实验原理使用MASM汇编语言设计工具,设计简单的汇编语言程序并进行运行调试,以便掌握汇编语言设计、编写、调试和运行程序的方法。

三、实验仪器、材料1.软件MASM5.02.PC微机一台四、实验步骤1.建立asm文件在windows系统环境下,应用写字板或其它文字编辑软件编写汇编语言源文件。

注意保存的源文件以asm为后缀。

2.用汇编程序MASM对源文件汇编产生目标程序.OBJ。

3.用连接程序LINK产生可执行文件.EXE。

4.执行程序。

5.程序调试五、实验源代码;------------------------------------------------- ;程序名:Lab101;功能:把NUM数组中的最大值取出并显示输出;-------------------------------------------------DATA SEGMENTNUM DB 12,52,36,14,25,32,14,126 COUNT EQU ($-NUM)DATA ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV CX,COUNT ;初始化循环次数MOV SI,OFFSET NUMMOV AL,[SI]MOV DL,ALINC SIAGAIN:MOV AL,[SI]INC SICMP DL,ALJL SWAPLOOP AGAINJMP FINISHSWAP:MOV DL,ALLOOP AGAINJMP FINISH;--------------------------------;子程序名:TRANNUM;功能:将数字转换为字符串;入口参数:AL;出口参数:无;--------------------------------TRANNUM PROC NEARMOV AL,DLXOR AH,AHMOV CX,3MOV DL,10TRAN1:DIV DLXCHG AH,ALADD AL,'0'PUSH AXXCHG AH,ALMOV AH,0LOOP TRAN1MOV CX,3TRAN2:POP DXCALL DISPLAYLOOP TRAN2RETTRANNUM ENDP;--------------------------------;子程序名:DISPLAY;功能:将单个字符显示输出;入口参数:DL;出口参数:无;--------------------------------DISPLAY PROC NEARMOV AH,02HINT 21HRETDISPLAY ENDPFINISH:CALL TRANNUMMOV AH,4CH ;程序结束返回DOSINT 21HMAIN ENDPCODE ENDSEND START六、实验过程原始记录(数据图表、计算等)1、打开命令提示符:输入cmd2、输入:cd G:/asm/tos3、输入:G:4、输入:masm lab1015、输入:link lab1016、输入:lab101七、实验结果分析从程序代码分析,所给数值中最大值为126,运行程序后输出结果为126,说明程序能够实现其功能。

汇编语言上机实验汇总

汇编语言上机实验汇总

START: MOV AX,DATA MOV DS,AX LEA DX,INFON MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H MOV CL, [BUF+1] LEA DI,BUF+2 CALL DATACATE CALL IFYEARS JC A1 LEA DX,N MOV AH,9 INT 21H JMP EXIT A1: LEA DX,Y MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H DATACATE PROC NEAR LEA SI,BUF+2 MOV BX,0 X3: MOV AL ,[SI] SUB AL ,30H MOV AH,0 XCHG AX,BX MOV DX,10D MUL DX XCHG AX,BX ADD BX,AX INC SI LOOP X3 MOV W,BX RET DATACATE ENDP IFYEARS PROC NEAR PUSH BX PUSH CX PUSH DX MOV AX,W MOV CX,AX MOV DX,0 MOV BX,4 DIV BX CMP DX,0 JNZ LAB1 MOV AX,CX MOV BX,100 DIV BX CMP DX,0 JNZ LAB2 MOV AX,CX MOV BX,400
18A2:011E CD21 INT 21 可见,要执行10条指令,至011B处停止 -G=100,011B AX=7777 BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0200 DI=0204 DS=18A2 ES=1892 SS=18A2 CS=18A2 IP=011B NV UP EI PL NZ NA PE NC 18A2:011B B8004C MOV AX,4C00 -D 200 20F 18A2:0200 78 56 34 12 A9 87 43 65-21 DE 77 77 43 43 83 06 xV4...Ce!.wwCC.. 和为7777DE21H,正确。 ⑥再取一组数据,查看运行结果。为此,首先用E命令修改数据。 -E 200 CD,AB,78,56,90,EF,34,12 -D 200 20F 18A2:0200 CD AB 78 56 90 EF 34 12-21 DE 77 77 43 43 83 06 ..xV..4.!.wwCC.. -G=100,11B AX=68AC BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0200 DI=0204 DS=18A2 ES=1892 SS=18A2 CS=18A2 IP=011B NV UP EI PL NZ NA PE NC 18A2:011B B8004C MOV AX,4C00 -D 200 20F 18A2:0200 CD AB 78 56 90 EF 34 12-5D 9B AC 68 43 43 83 06 ..xV..4.]..hCC.. 和为68AC9B5DH,错误。说明程序有问题。 ⑦再将断点设在完成低位字加法后,查看运行结果。 -G=100,112 AX=9B5D BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0200 DI=0204 DS=18A2 ES=1892 SS=18A2 CS=18A2 IP=0112 NV UP EI NG NZ NA PO CY 18A2:0112 8B4402 MOV AX,[SI+02] DS:0202=5678 -D 200 20F 18A2:0200 CD AB 78 56 90 EF 34 12-5D 9B AC 68 43 43 83 06 ..xV..4.]..hCC.. 低位和为9B5D,正确。说明错误可能出在后面 ⑧使用T命令从刚才的断点处向后单步调试,查看运行结果。 -T=112 AX=5678 BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0200 DI=0204 DS=18A2 ES=1892 SS=18A2 CS=18A2 IP=0115 NV UP EI NG NZ NA PO CY 18A2:0115 034502 ADD AX,[DI+02] DS:0206=1234 -T AX=68AC BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0200 DI=0204 DS=18A2 ES=1892 SS=18A2 CS=18A2 IP=0118 NV UP EI PL NZ NA PE NC 18A2:0118 89440A MOV [SI+0A],AX DS:020A=68AC AX寄存器的结果为68AC,而应为68AD。可见是本条加法指令使用错误,这里应使用带进位加法指令。 ⑨使用A命令装入正确指令后再次运行,察看结果。 -A 115 18A2:0115 ADC AX,[DI+02] 18A2:0118 -G=100,11B AX=68AD BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0200 DI=0204 DS=18A2 ES=1892 SS=18A2 CS=18A2 IP=011B NV UP EI PL NZ NA PO NC 18A2:011B B8004C MOV AX,4C00 -D 200 20F 18A2:0200 CD AB 78 56 90 EF 34 12-5D 9B AD 68 43 43 83 06 ..xV..4.]..hCC.. 和为68AD9B5DH,正确。对于这样一个简单程序一般来说不会再有问题。退出后修改源程序即可。 ⑩退出 -Q D:\MASM> 四、实验要求 (1)熟练掌握Debug的命令; (2)熟练掌握使用Debug调试汇编程序; (3)记录实验结果,写实验报告。

汇编实验报告一实验总结

汇编实验报告一实验总结

汇编实验报告一实验总结
实验报告一:汇编实验总结
实验目的:通过汇编实验,掌握汇编语言的基本语法和编程技巧,加深对计算
机底层工作原理的理解。

实验过程:在实验中,我们首先学习了汇编语言的基本语法和指令格式,包括
寄存器的使用、内存地址的访问、算术运算和逻辑运算等。

随后,我们进行了
一系列的编程练习,包括编写简单的程序来实现加法、乘法、比较大小等功能。

在实验的最后阶段,我们还学习了如何调用系统中断来实现输入输出操作。

实验结果:通过本次实验,我们深入了解了汇编语言的编程技巧和应用场景。

我们不仅掌握了汇编语言的基本语法,还学会了如何编写简单的汇编程序来实
现一些基本的功能。

同时,通过实验,我们对计算机底层的工作原理有了更深
入的理解,对计算机系统的运行机制有了更清晰的认识。

实验总结:本次汇编实验让我们深入了解了汇编语言的基本知识和编程技巧,
为我们今后的学习和工作打下了坚实的基础。

通过实验,我们不仅学会了如何
使用汇编语言编写程序,还对计算机系统的底层工作原理有了更深入的理解。

希望在今后的学习和工作中,我们能够继续深入研究汇编语言,不断提高自己
的编程水平,为计算机科学技术的发展贡献自己的力量。

汇编语言程序设计上机实验指导

汇编语言程序设计上机实验指导

汇编语言程序设计上机实验指导一、实验目的1.掌握汇编语言的基本原理和编程技巧。

2.加深对计算机系统结构的理解。

3.培养实验操作和编程能力。

二、实验环境1.所需软件:MARS仿真器。

2.操作系统:任意支持MARS仿真器的操作系统。

三、实验内容1.实验一:编写一个简单的汇编语言程序,实现加法运算。

(1)要求用户输入两个整数。

(2)将两个数相加。

(3)输出两个数的和。

2.实验二:编写一个汇编语言程序,实现乘法运算。

(1)要求用户输入两个整数。

(2)将两个数相乘。

(3)输出两个数的乘积。

3.实验三:编写一个汇编语言程序,实现判断一些数是否为质数。

(1)要求用户输入一个整数。

(2)判断该整数是否为质数。

(3)输出判断结果。

4.实验四:编写一个汇编语言程序,实现打印从1到N之间的所有质数。

(1)要求用户输入一个整数N。

(2)打印出从1到N之间的所有质数。

四、实验步骤1.打开MARS仿真器,创建一个新的程序。

2.按照实验要求,编写汇编语言程序代码。

3.在MARS仿真器中调试和运行程序。

4.检查程序输出结果是否与预期相符。

5.优化程序代码,提高程序的效率和性能。

五、实验注意事项1.确保编写的代码逻辑正确、语法规范。

2.程序设计要遵循模块化设计原则,尽量将程序划分为多个模块,提高程序代码的可读性和维护性。

3. 实验过程中要注意调试程序,排除可能出现的bug。

4.在程序编写过程中,保持良好的编程习惯,合理命名变量和子程序,提高代码的可读性。

六、实验总结1.实验报告中需包含实验的目的、内容、步骤、注意事项等内容。

2.分析并总结实验中遇到的问题和解决方法。

3.对实验过程、结果的合理性进行分析和讨论。

4.提出对实验中存在问题的改进建议。

以上就是一份汇编语言程序设计上机实验指导的内容。

希望这份指导能够帮助学生们更好地进行汇编语言程序设计的实验,提高他们的实践能力和编程水平。

汇编语言上机实验

汇编语言上机实验

汇编语言上机实验主讲:左琼一、汇编程序的功能1.MASM的功能.检查语法错误,提示错误信息.产生可重定位的目标文件(.OBJ).处理各种伪指令.处理宏库,对于宏指令进行宏扩展.提供包括源程序、目标程序以及符号表在内的汇编列表文件(.LST) .提供一个夹有特定控制字符的符号交叉参考文件(.CRF)。

MASM是一个两次扫描(即从头到尾逐行阅读处理汇编源程序,直到END伪指令)的汇编程序,第一次扫描确定用户自定义符号的值,第二次扫描产生目标代码。

即两次扫描后MASM就能将源程序翻译成目标程序(.OBJ)。

DATA1 SEGMENT USE16A DD A1 ;第二遍扫描处理DATA1 ENDSDATA2 SEGMENT USE16A1 DW 125 ;第一遍扫描处理DATA2 ENDS2.其它汇编程序TASMNASM二、连接程序的功能1.连接程序LINK的功能.将指定的若干个目标模块(OBJ)和子程序库(LIB)中的子程序模块连接在一起,生成一个能够执行的文件(EXE/COM).生成一个地址分配文件(MAP),描述各段的起始地址、结束地址、大小等信息。

三、在PC机上建立、调试、运行汇编源程序的方法1.上机步骤(1)建立与修改汇编源程序文件,扩展名为.asm在WINDOWS98或WIN2000下可用记事本输入汇编源程序,然后以.asm为扩展名存盘。

(2)在DOS窗口下,汇编源文件以产生相应的目标文件(扩展名为.obj):执行命令:MASM DEMO.ASM;(简单方式)或者:MASM DEMO.ASM (交互方式)(3)在DOS窗口下,连接目标文件以建立可执行文件(扩展名为.exe)LINK DEMO; (简单方式)LINK (交互方式)LINK命令还可以连接多个目标文件:LINK DEMO1(主模块名)+DEMO2+DEMO3产生可执行文件DEMO1.EXE2.程序调试(1) 调试工具TD.EXE源代码级调试器,可以调试ASM/C等多种语言程序。

08计算机汇编语言上机实习一

08计算机汇编语言上机实习一
的实验报告目录中。 文件名:学号_姓名_汇编语言实验一.word
INT 21H ; 9号调用输出How do you do?
MOV AH,4CH ;设置4CH号调用 INT 21H ;结束程序运行,返回DOS CODE ENDS END START
注意:请在西文状态下输入程序和, ;等符号,否则汇编会 出错 (out of memory)。
思考题:修改程序,使用2号单字符输出DOS功能调用显示
二、实验环境建立
1、汇编语言源程序的上机环境 (1)硬件系统(省略) (2)软件系统
1)DOS操作系统:汇编语言程序的建立和 运行都是在DOS操作系统下进行的。 注意在WIN XP/WIN 2K/WIN SERVS的开始 程序 附件 C:\命令 提示
• DOS 命令简单介绍 改变盘符: C:\>D: (变成D:\>)
How do you do?(参照老师提供的程序实例AAA.ASM)
实验(二)汇编语言调试过程部分实验 报告内容
1、写出汇编语言源程序结构 2、汇编语言调试过程 3、汇编调试中的问题和解决方法
四、要求
1、必须完成课件规定的两个实验内容。 2、将连接后的执行文件保留,老师抽查,完
成后签到。 3、提交电子档实验报告至网络教学平台指定
DATA SEGMENT STR DB “How do you do?$” DATA ENDS STACK SEGMENT STACK DB 200 DUP(?) STACK ENDS
CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE
START: MOV AX,DATA ; 给DS赋初值 MOV DS,AX LEA DX,STR ;显示缓冲区首址赋DX MOV AH,9 ; 设置9号调用

汇编上机实验报告

汇编上机实验报告

汇编上机实验报告实验名称:汇编上机实验报告1. 实验目的通过完成汇编上机实验,掌握汇编语言的基本概念和语法规则,理解计算机底层运行的原理,加深对计算机体系结构的理解。

2. 实验环境硬件环境:个人电脑一台,操作系统为Windows 10软件环境:MASM汇编语言开发工具(Microsoft Macro Assembler)、DOSBox模拟器3. 实验内容及步骤3.1 实验一:汇编程序基本框架搭建步骤:(1) 在MASM环境下创建一个新的汇编源文件,命名为"lab1.asm"。

(2) 在源文件中编写汇编程序的基本框架,包括段定义、数据定义和代码段等。

(3) 使用MASM汇编器将源文件编译为目标文件。

(4) 使用链接器将目标文件连接为可执行程序。

(5) 在DOSBox模拟器中执行可执行程序,观察程序输出结果。

3.2 实验二:实现简单的数值运算步骤:(1) 按照实验一的步骤,在MASM环境下创建一个新的汇编源文件,命名为"lab2.asm"。

(2) 在源文件中编写汇编程序,实现两个数的相加、相减、相乘和相除等简单的数值运算。

(3) 使用MASM汇编器将源文件编译为目标文件。

(4) 使用链接器将目标文件连接为可执行程序。

(5) 在DOSBox模拟器中执行可执行程序,输入两个数值,观察程序计算结果。

3.3 实验三:字符串处理步骤:(1) 按照实验一的步骤,在MASM环境下创建一个新的汇编源文件,命名为"lab3.asm"。

(2) 在源文件中编写汇编程序,实现字符串的输入、输出和处理。

(3) 使用MASM汇编器将源文件编译为目标文件。

(4) 使用链接器将目标文件连接为可执行程序。

(5) 在DOSBox模拟器中执行可执行程序,输入一个字符串,观察程序对字符串的处理结果。

4. 实验结果与分析实验一:汇编程序基本框架搭建在DOSBox模拟器中成功执行了汇编程序,没有出现任何错误提示,并得到了预期的输出结果。

汇编语言上机实验报告

汇编语言上机实验报告

汇编语言上机实验报告汇编语言上机实验报告引言:汇编语言是一种底层的计算机语言,通过使用汇编语言,我们可以更加深入地了解计算机的运行原理和底层机制。

本次实验旨在通过上机实践,掌握汇编语言的基本语法和编程技巧,同时加深对计算机底层的理解。

实验目的:1. 学习汇编语言的基本语法和指令集;2. 掌握汇编语言的程序设计和调试方法;3. 加深对计算机底层原理的理解。

实验环境:本次实验使用的是Windows操作系统,并安装了MASM汇编语言开发工具。

实验过程:1. 实验一:Hello World程序我们首先编写一个简单的Hello World程序,用于验证汇编语言的环境是否正常。

通过使用MASM工具,我们可以将源代码汇编成可执行文件,并在命令行中运行。

该程序的功能是在屏幕上输出"Hello World"。

```assembly.model small.stack 100h.datamsg db 'Hello World$'.codemain procmov ah, 09hlea dx, msgint 21hmov ah, 4chint 21hmain endpend main```通过编译、链接和运行,我们可以在屏幕上看到"Hello World"的输出。

2. 实验二:计算两个数的和在这个实验中,我们将学习如何编写一个简单的加法程序。

我们定义两个变量a和b,并将其值相加,然后将结果输出到屏幕上。

```assembly.model small.stack 100h.dataa db 10b db 20sum db ?.codemain procmov al, aadd al, bmov sum, almov ah, 09hmov dl, sumadd dl, 30hint 21hmov ah, 4chint 21hmain endpend main```在屏幕上,我们可以看到输出结果为"30",即10加20的和。

汇编语言上机实验

汇编语言上机实验

实验一 DOS常用命令及8088指令使用 二、实验内容
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,347FH 7、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF 和AF的内容。 8、用R命令将AX,BX内容改写为1050H及23A8H。在操作时要注意提示信息,并按提示操
实验二 内存操作数及寻址方法
二、实验内容和步骤
求累加和程序: 程序: MOV BX,1000 MOV CX,10 SUB AX,AX LOP: ADD AL,[BX] AD CAH,0 INC BX J: LOOP LOP INT 3 步骤: 1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址 值代替。 2)用命令N AA将此程序命名为文件AA(文件名可任取)。 3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开 始地址) 4)用命令W 100将此程序存到AA命名的磁盘文件中。 5)用命令Q退出DEBUG。 6)用命令DEBUG AA再次调入DEBUG和文件AA,可用U命令检查调入程序。 若调入DEBUG时忘了加AA文件名,可用N命令和L命令将文件调入。 7)用E命令在内存地址1000H处键入16个数字 8)用命令G=100 J(J用实际地址代替),使程序运行并停在断点J上,检查 AX,BX的值是否符合你的预计值。 9)用T命令运行一步,观察程序方向(IP值)和CX值是否与你的估计一样, 若不一样,检查程序是否有错。 10)重复G J与T,再检查AX是否正确。 11)用G命令使程序运行到结束,检查AX值是否正确。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言程序设计的实验环境及实验步骤 知识提要:1、汇编语言源程序编写好以后, 必须经过下列几个步骤才能在机器上运行:(1) 编辑源程序(生成.ASM 文件)(2) 汇编源程序(.ASM → .OBJ )(3) 连接目标程序(.OBJ → .EXE )(4) 调试可执行程序(使用调试程序Debug 调试生成的.EXE 文件)(5) 运行程序输出结果。

2、 Windows 环境下的汇编语言集成编程环境的使用实验一 汇编语言上机实验(一)一、实验要求和目的1、掌握汇编语言程序设计的基本方法和技能;2、熟练掌握使用全屏幕编辑程序EDIT 编辑汇编语言源程序;3、熟练掌握宏汇编程序MASM 的使用;4、熟练掌握连接程序LINK 的使用。

二、软硬件环境1、硬件环境:微机CPU 486以上,500MB 以上硬盘,32M 以上内存;2、软件环境:装有MASM 、DEBUG 、LINK 等应用程序。

三、实验内容与步骤1、实验内容编写程序,判断一个年份是否是闰年。

2、实验步骤汇编语言程序设计上机过程如图1.1所示。

图1.1 汇编语言程序上机过程(一)用编辑程序EDIT 建立汇编语言源程序文件(ASM 文件) 手工编写的源程序汇编语言源文件(.ASM)EDIT MASM 机器语言目标文件(.OBJ)机器语言执行文件(.EXE)LINK 编辑程序编辑汇编程序汇编连接程序连接建议源程序存放的目录名为MASM中,MASM子目录在D盘的根目录下。

可以在DOS模式下用编辑程序EDIT.EXE建立汇编语言源程序文件ABC.ASM,注意文件名的扩展名必须是.ASM。

也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“CMD”进入DOS模式,运行EDIT软件,例如:C:\documents and settings\administrator>cd\ *进入C盘根目录C:\>d: *进入D盘D:\>md masm *在D盘创建MASM文件夹D:\>cd masm *进入MASM文件夹D:\masm>edit run.asm *建立run源文件进入EDIT的程序编辑画面时,编写程序,判断一个年份是否是闰年的汇编语言源程序,输入汇编语言源程序如下:DATA SEGMENTINFON DB 0DH,0AH,'Please input a year: $'Y DB 0DH,0AH,'This is a leap year! $'N DB 0DH,0AH,'This is not a leap year! $'W DW 0BUF DB 8DB ?DB 8 DUP(?)DATA ENDSSTACK SEGMENT 'stack'DB 200 DUP(0)STACK ENDSCODE SEGMENTASSUME DS:DATA,SS:STACK,CS:CODESTART: MOV AX,DATAMOV DS,AXLEA DX,INFONMOV AH,9INT 21HLEA DX,BUFMOV AH,10INT 21HMOV CL, [BUF+1]LEA DI,BUF+2CALL DATACATECALL IFYEARSJC A1LEA DX,NMOV AH,9INT 21HJMP EXITA1: LEA DX,YMOV AH,9INT 21HEXIT: MOV AH,4CHINT 21HDATACATE PROC NEARLEA SI,BUF+2MOV BX,0X3:MOV AL ,[SI]SUB AL ,30HMOV AH,0XCHG AX,BXMOV DX,10DMUL DXXCHG AX,BXADD BX,AXINC SILOOP X3MOV W,BXRETDATACATE ENDPIFYEARS PROC NEARPUSH BXPUSH CXPUSH DXMOV AX,WMOV CX,AXMOV DX,0MOV BX,4DIV BXCMP DX,0JNZ LAB1MOV AX,CXMOV BX,100DIV BXCMP DX,0JNZ LAB2MOV AX,CXMOV BX,400DIV BXCMP DX,0JZ LAB2LAB1: CLCJMP LAB3LAB2: STCLAB3: POP DXPOP CXPOP BXRETIFYEARS ENDPCODE ENDSEND START源程序输入完毕后,用Alt-F打开File菜单,用其中的Save功能将文件存盘,然后exit 退出。

此时,在D:\MASM> 中已经建立RUN.ASM源文件。

(二)用汇编程序MASM将ASM文件汇编成目标程序文件(OBJ文件)当源程序建立以后,我们用汇编程序MASM对RUN.ASM源程序文件进行汇编,以便产生机器码的目标程序文件RUN.OBJ,其操作步骤如下:D:\masm>masm run *调用masm程序Microsoft (R) Macro Assembler Version 5.00Copyright (C) Microsoft Corp 1981–1985,1987. All rights reserved.Object filename [RUN.OBJ]:*询问目标程序文件名,默认回车Source listing [NUL.LST]:*是否建立列表文件,默认不建立回车Cross-reference [NUL.CRF]:*是否建立交叉索引文件,默认不建立回车50674 + 450574 Bytes symbol space free0 Warning Errors0 Severe Errors此时,在D:\MASM> 中已经生成RUN.OBJ目标程序文件。

(三)用连接程序LINK生成可执行程序文件(EXE文件)经汇编后产生的二进制的目标程序文件(OBJ文件)并不是可执行程序文件(EXE文件),必须经连接以后,才能成为可执行文件。

连接过程如下:D:\MASM>link run *调用link程序Microsoft (R) Overlay Linker Version 3.60Copyright (C) Microsoft Corp 1983-1987. All rights reserved.Run File [RUN.EXE]:*询问可执行文件名,默认回车List File [NUL.MAP]:*是否建立连接映象文件,默认不建立回车Libraries [.LIB]:*是否用到库文件,若无特殊需要,直接回车上述提示行回答后,连接程序开始连接。

若连接过程中有错,则显示错误信息,错误分析清楚后,要重新调入编辑程序进行修改,然后重新汇编,再经过连接,直至无错为止。

连接以后,便在D:\MASM> 中产生了可执行程序文件(RUN.EXE文件)。

(四)程序的执行当我们建立了可执行文件RUN.EXE后,就可直接在DOS下执行该程序:D:\MASM>run根据程序提示,输入一个年份,计算机会输出是否闰年的结果。

四、实验要求(1)掌握汇编语言程序设计上机过程;(2)回答思考问题;(3)记录实验结果,写实验报告。

五、思考(1)汇编过程中MASM ABC和MASM ABC.ASM的结果是否一致。

(2)连接过程中LINK ABC和LINK ABC.OBJ的结果是否一致。

实验二汇编语言上机实验(二)一、实验要求和目的熟练掌握动态调试程序DEBUG的使用;二、软硬件环境1、硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存;2、软件环境:装有MASM、Debug、LINK应等用程序。

三、实验内容与步骤1、实验内容(1)进入和退出Debug程序(2)学会Debug中的D命令、E命令、R命令、T命令、A命令、G命令、U命令等的使用。

(3)使用Debug调试程序调试汇编程序。

2、实验步骤(1)在DOS提示符下,进入Debug程序。

(2)详细记录每一步所用的命令,以及查看结果的方法和具体结果。

(3)现有一个双字加法源程序如下,其中存在错误。

现假设已汇编、连结生成了可执行文件HB.EXE,存放在D:\MASM目录下。

请使用Debug对其进行调试。

Code SEGMENTASSUME CS:code,DS:codeORG 100H ;从100H处开始存放下列指令Start:MOV AX,code ;将DS置成code段的首地址MOV DS,AXMOV SI,200H ;取第一个数的首地址MOV AX,[SI] ;将第一个数的低16位取到AXMOV DI,204H ;取第二个数的首地址ADD AX,[DI] ;第一个数和第二个数的低16应相加MOV [SI+8],AX ;低16位相加的结果送到208H和209H单元MOV AX,[SI+2] ;取第一个数的高16位送到AX中ADD AX,[DI+2] ;两个数的高16位相加MOV [SI+0AH],AX ;高16位相加的结果送到20AH,20BH单元MOV AX,4C00H ;使用DOS的4CH号功能调用INT 21H ;进入功能调用,返回DOSORG 200H ;从200H处开始存放下列数据DD 12345678h,654387A9h,0h ;被加数、加数、和Code ENDSEND start调试过程:①进入Debug并装入可执行文件HB.EXED:\MASM>Debug HB.EXE-②观察寄存器初始状态-RAX=0000 BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1892 ES=1892 SS=18A2 CS=18A2 IP=0100 NV UP EI PL NZ NA PO NC18A2:0100 B8A218 MOV AX,18A2③以单步工作方式开始运行程序-TAX=18A2 BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1892 ES=1892 SS=18A2 CS=18A2 IP=0103 NV UP EI PL NZ NA PO NC18A2:0103 8ED8 MOV DS,AX-TAX=18A2 BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=18A2 ES=1892 SS=18A2 CS=18A2 IP=0105 NV UP EI PL NZ NA PO NC18A2:0105 BE0002 MOV SI,0200④观察用户程序数据段初始内容-D 200 20F18A2:0200 78 56 34 12 A9 87 43 65-00 00 00 00 00 74 13 50 xV4...Ce.....t.P -⑤连续工作方式运行程序至返回DOS前(设断点),查看运行结果。

相关文档
最新文档