汇编语言上机试验汇总
汇编语言上机实验内容

实验一上机操作一、实验目的掌握汇编语言程序编辑、汇编、连接、运行以及利用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!”传送到另一段中。
汇编语言第四次上机实验报告

汇编语言第四次上机实验报告时间: 2013/5/10 7:00-9:30 地点:南一楼803实验人员:计科10班王涛学号: U201114445一、题目1、用三种方式获取中断类型码10H对应的中断处理程序的入口地址。
(1)直接运行调试工具(TD.EXE),观察中断矢量表中的信息,指出中断类型码10H 对应的中断处理程序的入口地址。
(使用TD观看即可)。
使用TD观看时,在调试工具下调入以前编好的运行程序,跟踪执行INT 21H(即进入中断处理程序,方法是:执行到INT 21H 时,按ALT+F7),观察CS及IP是否改变成了前面记录的值。
(2)编写程序,用DOS系统功能调用方式获取,观察相应的出口参数与(1)看到的结果是否相同(使用TD观看即可)。
(3)编写程序,直接读取相应内存单元,观察读到的数据与(1)看到的结果是否相同.2、编制时钟显示程序。
要求每隔1s在屏幕右下角显示“年-月-日时:分:秒”,并将程序驻留在内存。
3、安装MASM32软件包,以其中的一个例子(如example\3dframes)为例,试用软件包中的集成汇编、连接和调试(TD32.EXE)功能。
软件包从汇编教学网站上下载,操作参见《80X86汇编语言程序设计上机指南》第七章。
二、实验要求1. 在调试工具下调入之前编好的运行程序,跟踪执行INT 21H(即进入中断处理程序,方法是:执行到INT 21H时,按ALT+F7),观察CS及IP是否改变成了前面记录的值。
操作提示:由于INT 21H内部的代码较长,为便于从中断处理程序返回到主程序,可在主程序INT 21H后面的指令上先设置好断点,当不再想跟踪中断处理程序时按F9即可。
实验报告的3、4、5 三个部分不用写。
2. 提示:CMOS内部07,08,09单元中分别存放着日、月、年的信息,“年”只显示低2位即可。
汇编教学网站(http://202.114.1.86)上有CMOS参考资料。
汇编上机实验报告心得体会

汇编语言程序设计第一次上机作业1.从键盘上接受一个字符,找出他的前导字符和后继字符,按顺序显示这三个字符。
寄存器分配: AL :存输入值x DL :输出显示 流程图:如右图所示 DA TA SEGMENTA DB 0DA TA ENDSSTACK SEGMENT STACKDB 200 DUP(0) STACK ENDSCODE SEGMENT ASSUME DS:DA TA,SS:STACK,CS:CODE S: MOV AX,DA TAMOV DS,AX MOV AH,1INT 21H INC AL MOV DL,AL MOV AH,2 INT 21HDEC ALMOV DL,AL MOV AH,2 INT 21H DEC AL MOV DL,AL MOV AH,2 INT 21H CODE ENDS END S2.从键盘上输入一个数字字符,如不是,显示‘not odd ’,否则显示‘odd ’。
寄存器分配: AL :存输入值x DL :输出显示流程图:如右图所示 程序代码如下:DA TA SEGMENT A DB 0BUF DB,'NOT ODD$' EA DB,'ODD$' DA TA ENDSSTACK SEGMENT STACK DB 200 DUP(0) STACK ENDSCODE SEGMENTASSUME DS:DA TA,SS:STACK,CS:CODE S: MOV AX,DA TA MOV DS,AX MOV AH,1 INT 21H CMP AL,'0' JNGE B CMP AL,'9' JGE B LEA DX,EA MOV AH,9 INT 21H JMP CB: LEA DX,BUF MOV AH,9 INT 21HC: MOV AH,4CH INT 21H CODE ENDS END S第二次上机作业1.将以H为首地址的字节存储区中的技能被3整除又能被13整除的无符号整数的个数(假定<=9)显示出来;同时对应的显示它们分别对应的地址偏移量。
实验二汇编语言上机过程实验(机制本)

实验二汇编语言上机过程实验一、实验目的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 (2)

追踪命令T(Trace),也称为单步命令,每执行一条指令就显
示运行结果,使程序员可以细致地观察程序的执行情况。 有两种格式: 1)逐条指令追踪: -T[=地址] 该命令从指定地址起执行一条指令后停下来,显示寄存器内容 和状态值。 2)多条指令追踪: -T[=地址][值] 该命令从指定地址起执行n条命令后停下来,n由[值]确定。 从指定地址起执行一条或数值参数指定条数的指令后停下来,如 未指定地址则从当前的CS : IP开始执行。 注意:给出的执行地址前有一个等号,否则会被认为是被跟踪指 令的条数(数值)。 T命令逐条指令执行程序,遇到子程序(CALL)或中断调用 (INT n)指令也不例外,也会进入到子程序或中断服务程序当中 执行。
运行Debug程序时,如果不带被调试程序,则所有段 寄存器值相等,都指向当前可用的主存段;除SP之 外的通用寄存器都设置为0,而SP指示当前堆栈顶在 这个段的尾部;IP=0100h;状态标志都是清0状态。 运行Debug程序时,如果带入的被调试程序扩展名不 是.EXE,则BX.CX包含被调试文件大小的字节数 (BX为高16位),其他同不带被调试程序的情况。 运行Debug程序时,如果带入的被调试程序扩展名 是.EXE,则需要重新定位。此时,CS : IP和SS : SP 根据被调试程序确定,分别指向代码段和堆栈段。 DS=ES指向当前可用的主存段,BX.CX包含被调试文 件大小的字节数(BX为高16位),其他通用寄存器 为0,状态标志都是清0状态。
检查和修改寄存器内容的命令R(Register) ,
它有三种方式: 1)显示CPU内部所有寄存器内容和标志位状态 格式为:-R R命令显示中标志位状态的含义如下表所示:
标志名 溢出Overflow(是/否) 方向Direction(减量/增量) 中断Interrupt(允许/屏蔽) 符号Sign(负/正) 零Zero(是/否) 辅助进位Auxiliary Carry(是/否) 奇偶Parity(偶/奇) 进位Carry(是/否) 置位 OV DN EI NG ZR AC PE CY 复位 NV UP DI PL NZ NA PO NC
汇编语言上机实验汇总

汇编语言上机实验汇总汇编语言是计算机的低级语言,主要用于编写底层程序和驱动程序。
在学习汇编语言的过程中,学生通常需要进行一定数量的上机实验。
下面是一个汇编语言上机实验的汇总。
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!”的程序,了解汇编语言的指令、寄存器、数据和程序结 构等基本概念。
实现一个简单的计算器程序
总结词
掌握汇编语言的算术运算指令
详细描述
编写一个可以进行加、减、乘、除运 算的简单计算器程序,通过汇编语言 的算术指令实现。
了解汇编语言程序的 基本结构,如程序头、 数据段、代码段等。
熟悉子程序和中断服 务程序的编写和使用。
掌握汇编语言程序的 流程控制结构,如顺 序、分支、循环等。
掌握汇编语言的程序调试方法
熟悉汇编语言程序的调试工具, 如调试器、反汇编器等。
掌握调试工具的基本使用方法, 如设置断点、单步执行、查看 寄存器值等。
调试程序并运行可执行文件
打开调试器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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文件)建议源程序存放的目录名为MASM 中,MASM 子目录在D 盘的根目录下。
可以在DOS 模式下用编辑程序EDIT.EXE 建立汇编语言源程序文件ABC.ASM ,注意 文件名的扩展名必须是.ASM 。
也可以在Windows 2000或者在Windows XP 环境下鼠标单击 “开始” f “运行”,在“运行”中输入七乂口”进入DOS 模式,运行EDIT 软件,例如: C:\documents and settings\administrator>cd\ *进入 C 盘根 目录C:\>d: *进入D 盘*在D 盘创建MASM 文件夹*进入MASM 文件夹*建立 run 源文件进入EDIT 的程序编辑画面时,编写程序,判断一个年份是否是闰年的汇编语言源程序, 输入汇编语言源程序如下:DATA SEGMENTINFONDB 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 0 BUFDB 8 DB ?DB 8 DUP(?) DATA ENDS STACKSEGMENT 'stack'DB 200 DUP(0)STACK ENDS CODESEGMENTASSUME DS:DATA,SS:STACK,CS:CODE START:MOV AX,DATA MOV 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 EXIT A1:LEA DX,Y MOV AH,9INT 21H EXIT:MOV AH,4CHINT21H DATACATE PROC NEARD:\>md masm D:\>cd masm D:\masm>edit run.asmLEA SI,BUF+MOV 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 -985,1987. All rights reserved.Object filename [RUN.OBJ]:*询问目标程序文件名,默认回车Source listing [NUL.LST]:*是否建立列表文件,默认不建立回车Cross-reference [NUL.CRF]:*是否建立交叉索引文件,默认不建立回车50674 + 450574 Bytes symbol space free 0 Warning Errors 0 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处开始存放下歹U指令Start:MOV AX,code ;将05置成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处开始存放下歹1」数据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前(设断点),查看运行结果。