汇编实验2
实验二拆字、拼字程序

班级:2学号:姓名:成绩:实验二拆字、拼字程序一实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。
二实验内容1.把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。
ORG 0660HSE02: MOV DPTR,#2000HMOVX A,@DPTRMOV B,A;(2000)→A→BSW AP A;交换ANL A,#0FH ;屏敝高位INC DPTRMOVX @DPTR,A;送2001HINC DPTRMOV A,BANL A,#0FH ;(2000)内容屏敝高位MOVX @DPTR,A;送2002HSJMP $END2. 把2000H、2001H的低位分别送入2002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成—个字节ORG 0680HSE03: MOV DPTR,#2000HMOVX A,@DPTRANL A,#0FH ;(2000H)内容屏敝高位SW AP A;交换MOV B,A;保存INC DPTRMOVX A,@DPTR ;(2001H)内容送AANL A,#0FH ;屏敝高位ORL A,B ;或INC DPTRMOVX @DPTR,A;送2002HSJMP $END三实验步骤编译、装载程序,以连续或单步方式运行程序,检查2000~20FFH中执行程序前后的变化。
四思考1.将2000的高低位分别送入3000H、3001H的高位, 3000H、3001H低位清零;ORG 0660HSE02: MOV DPTR,#2000HMOVX A,@DPTRMOV B,A;(2000)→A→BSW AP A;交换ANL A,#0FH ;MOV DPTR,#3000HMOVX @DPTR,A;送3000HINC DPTRMOV A,BANL A,#0FHMOVX @DPTR,A;送3001HEND2.把片内20H,21H的高位拼在一起送到片内30H单元。
实验二-用“李萨如图形法”---课程中心(汇编)

实验二 用“李萨如图形法” 测量简谐振动的频率一、实验目的1.了解李萨如图形的物理意义规律和特点。
2.学会用“李萨如图形法”测量简谐振动的频率。
二、实验装置图2-1 实验装置框图三、实验原理互相垂直、频率不同的两振动的合成,其合成振动波形比较复杂,在一般情况下,图形是不稳定的。
但当两个振动的频率为整数比时,即可合成稳定的图形,称为李萨如图形。
李萨如图形的形成如图2-2(a)所示,在图2-2(a)中,沿X 、Y 两个方向对两振动信号作两对边框,每对边框各有n x 和n y 两个切点,n x 与n y 之比就等于两个振动周期T x 、T y 之比,即:n y /n x =T y /T x =f x /f y 。
所以。
只要示波器荧光屏上出现了稳定图形,就可根据李萨如图形的规律求出待测频率f 。
1.1/ y x f f 时,振动方程: )2cos(111ϕπ+=t f A x (2-1))2cos(222ϕπ+=t f A y (2-2) 当21ϕϕ=,则21A yA x =,图形为过原点的直线; 当πϕϕ+=21,则21A y A x -=,图形为过原点的直线;当221πϕϕ±=-,则1222212=+A y A x ,图形为以X 、Y 轴为对称轴的椭圆;当21ϕϕ-为其它任意值时,得到的图形是形状各不相同的椭圆。
2.1/≠y x f f 时,合成振动波形不再是椭圆,而是更为复杂的图形。
但是,只要y x f f /是一个有理数,总能形成一个稳定的图形。
例如,2/=y x f f 时,图为“8”形,这表明,当Y 轴变化了一个正峰和一个负峰,则X 轴变化了两个正峰和两个负峰。
2/1/=y x f f 时,图形为“∞”形,这表明,当Y 轴变化了两个正峰和两个负峰,则X 轴变化了一个正峰和一个负峰。
李萨如图形的原理可以直观地同图解法来证明。
由图2-2(a)可以看出:当4/21πϕϕϕ=-=时,示波器上的图形是一斜椭圆;当ϕ由0变到2/π时,图形则由一根斜直线经斜椭圆变为正椭圆;当ϕ继续增加,则又变为斜椭圆,但椭圆的长轴所在象限由I 、Ⅲ象限变为Ⅱ、Ⅳ象限;当ϕ增至π时,图形又变为斜直线。
实验2-寻找最大数最小数

实验一、寻找最大数最小数实验吴艳红 11283019一、实验目的1、学习循环程序结构,掌握编写循环处理程序的方法和技巧。
2、通过循环结构程序熟悉汇编语言程序设计的主要方法。
3、了解和掌握程序设计过程中算法的选择。
4、掌握汇编语言调试方法。
二、实验题目以buff开始的内存单元中有10个有符号数(字节型DB):-37、28、-115、-2、98、-100、93、120、56、-99请编写程序,找出最大的数并存入MAX单元中,同时也找出最小的数并存入MIN单元中,在Debug下运行程序,查看数据区MAX和MIN的内容检验运行结果。
三、实验过程1、新建一个.txt文件,在文件中编辑寻找最大数最小数的源程序代码,并以max——min.asm命名保存,程序代码见附。
2、用MASM 文件汇编源程序,C>masm max_min.asm; 生成目标文件max_min.obj和max_min.lst。
3、用LINK连接程序,C>link max_min; 形成max_min.exe文件。
结果见截图1:截图14、在DEBUG调试环境下调试并运行max_min.exe程序。
C>debug max_min.exe,首先用R指令,后使用U指令查看编写的程序结果见截图2截图2单步执行完命令后,用 D DS:0 检查数据区MAX及MIN内容,检查结果是否正确。
见截图3:已知78H为最大数,8DH为最小数,说明程序运行结果正确。
截图3四、实验过程遇到的问题以及解决办之前一直在尝试利用加法将ASCII码转换成字符输出,结果总是出现乱码,经过仔细的考虑和认真的尝试之后,终于发现了问题所在:本组给定的数据为-37、28、-115、-2、98、-100、93、120、56、-99,当把最大数还有最小数输入到寄存器DL中用以输出时,数据以补码的形式保存,可是数据默认是ASCII码,每一个ASCII码对应一个字符,所以当存入数据78H时,表示ASCII码的120位字符x,即输出x,而不是78H,如果提出改进,将BUF 的输入值改为0,1,2,3,4,5,6,7,8,9十位数时,经过ASCII码与字符的转换,即在ASCII 码的基础上加一个30H,那么就将数字转换成了相应的字符,如截图4,即为修改后的运行结果截图:输出结果为0和9,结果正确。
汇编语言程序设计实验报告二(分支循环程序实验)

汇编语言程序设计实验报告二(分支循环程序实验)一、实验目的1、掌握分支程序、循环程序的设计方法。
2、熟悉DEBUG程序的使用方法。
3、掌握汇编语言程序的编辑、汇编、连接以及调试过程。
二、实验内容1、编写一程序,将内存中某一区域的数据传送到另一个区域中(要求用循结构,不考虑数据块重叠问题)。
2、编写一程序,将内存中某一区域的数据传送到另一区域(要求考虑数据块重叠问题)。
三、实验准备1、预习数据传送指令,熟悉分支和循环程序设计方法。
2、预习DEBUG调试程序的使用方法。
3、根据实验内容要求,编写好实验源程序。
四、实验步骤1、用QE或其它编辑软件,在计算机上编辑源程序,使其正确无误。
2、汇编、连接源程序,产生.EXE可执行文件。
3、运行程序。
(1) 进入DEBUG。
打入DEBUGT MYPROG.EXE。
MYPROG为所编程序的文件名。
(2) 先用G命令连续剧连续执行程序,程序执行完毕后,观察运行结果。
如果执行后是对的,说明程序编写是正确的,如果结果不对,说明程序有错误,则执行下一步。
(3) 检查程序。
在程序中设置若干断点,以便杳出错误所在。
(4) 采用单步命令T或执行程序,观察各寄存器和存储单元内容,以便找到错误之处。
五、实验报告要求1、列出程序清单,并给出程序流程图。
2、总结实现数据传送的几种方法,指出它们的区别。
开始3、分析实验中所遇到的一些问题,分析错误原因。
4、说明本实验中是如何使用DEBUG进行调试的。
CX、SI、DI置初值六、流程图勤开始设置增量方式CX、SI、DI置初值保存SI内容AL [SI] SI SI+源块长度[DI] AL N SI>DIYSI SI+1 恢复SI内容恢复SI内容DI DI+1CX CX-1 设置减量方式N CX=0, SI指向源块末尾DI指向目的块末尾Y结束 [DI] [SI]题一流程图 N 传完了吗, 书馆 Y结束题二流程图七、程序清单题一程序清单:STACK SEGMENT STACK ‘STACK’DB 100 DUP(0)STACK ENDSDATA SEGMENT PARA ‘DATA’SOUR DB 0、1、2、3、4、5、6、7、8、9 DEST DB 10 DUP(,)DB ‘$’DATA ENDSSEGMENT PARA‘CODE’ASSUME CS:CODEMAIN PROC FARSTART: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV CX,10MOV SI,offset SOURMOV DI, offset DESTAGAIN: MOV AL,[SI]MOV [DI],ALINC SIIN DILOOP AGAINMOV DX,offset DESTMOV AH,09HINT 21HRETMAIN ENDPCODE ENDSEND START题二程序清单:DATA SEGMENT PARA ‘DATA’STRG DB ‘ABCDEFGHIJKLMNOP’STG1 EQU STRG+4STG2 EQU STHG+8STRSE EQU 6DATA ENDSSTACK SEGMENT PARA ‘CODE’DB 100 DUP(0) STACK ENDSCODE SEGMENT PARA ‘CODE’ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK PROC FARSTART: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV ES,AXMOV CX,STRSEMOV SI,OFFSET STG1MOV DI,OFFSET STG2CLDPUSH SIADD SI,STRSE-1CMP SI,DIPOP SIJL MOVESTDADD SI,STRSE-1ADD DI,STRSE-1 MOVE: REP MOVSB RETMAIN ENDPCODE ENDSEND START。
实验二:监控程序与汇编实验报告

实验二:监控程序与汇编实验报告一、实验目的本次实验的主要目的是深入了解监控程序的工作原理和汇编语言的编程方法,通过实际操作和编程实践,提高对计算机底层工作机制的理解和掌握能力。
二、实验环境1、操作系统:Windows 102、编程工具:MASM 汇编编译器3、调试工具:DEBUG 调试器三、实验内容1、监控程序的基本原理监控程序是一种系统软件,它负责管理计算机系统的资源,如内存、处理器、输入输出设备等。
监控程序提供了一系列的服务和功能,如任务调度、内存管理、中断处理等,以确保计算机系统的正常运行。
2、汇编语言的基础知识汇编语言是一种低级编程语言,它直接操作计算机的硬件资源,如寄存器、内存地址等。
学习了汇编语言的指令格式、寻址方式、数据类型等基础知识。
3、简单的汇编程序编写与调试使用汇编语言编写了一些简单的程序,如加法运算、数据存储与读取等。
通过 DEBUG 调试器对编写的程序进行调试,查看寄存器和内存的状态,分析程序的执行过程和结果。
四、实验步骤1、安装和配置实验环境下载并安装 MASM 汇编编译器和 DEBUG 调试器。
配置环境变量,以便在命令行中能够方便地使用这些工具。
2、学习监控程序的原理通过阅读相关的教材和资料,了解监控程序的功能和工作流程。
分析监控程序在计算机系统中的作用和地位。
3、学习汇编语言的基础知识掌握汇编语言的指令集和语法规则。
练习不同的寻址方式和数据类型的使用。
4、编写简单的汇编程序使用文本编辑器编写汇编程序代码。
保存为asm 文件。
5、编译和链接汇编程序在命令行中使用 MASM 编译器对asm 文件进行编译,生成obj 文件。
使用 LINK 链接器将obj 文件链接为可执行文件exe。
6、调试汇编程序启动 DEBUG 调试器,加载可执行文件。
使用调试命令查看寄存器、内存的内容,单步执行程序,观察程序的执行过程和结果。
五、实验结果与分析1、加法运算程序编写了一个实现两个数相加的汇编程序。
实验2-用户登录验证程序的实现

P_MODULE: MOV AH,2 ;换行 MOV DL,0AH INT 21H
MOV AH,09H ;DOS显示提示字符串 MOV DX,OFFSET PASSWORD INT 21H
MOV BX,OFFSET BUF1 MOV CX,LLL MOV COUNT,3
五、支撑毕业要求指标点
目标 3.1 使学生了解微型计算机硬件结构和微型计算机工作原理,掌握 Intel X86 指令系统。使学 生能够将掌握的软硬件相关工程基础知识,用于分析微型计算机及应用领域的相关工程问题。 目标 3.2 使学生掌握汇编语言程序设计方法,具备汇编语言程序开发能力,能够根据实验方案,配置 实验环境、开展实验,进行数据分析与处理,综合实验结果以获得合理有效的结论。
U_MODULE: ;用户名模块
3
MOV AH,09H ;DOS显示字符串 MOV DX,OFFSET MESG1 ;取偏移地址 INT 21H
MOV AH,0AH ;等待从键盘输入的字符串(在屏幕上显示),并保存在缓 冲区
MOV DX,OFFSET BUF;DX=缓冲区首地址 INT 21H
;判断用户名是否正确 MOV DI,OFFSET BUF+2 MOV SI,OFFSET USER CLD
10
六、指导教师评语 (含学生能力达成度的评价)
成绩
批阅人
日期
评分项 评 遵守实验室规章制度
学习态度
算法思想准备情况
程序设计能力
分
解决问题能力
课题功能实现情况
算法设计合理性
算法效能评价
回答问题准确度
汇编语言实验二查找匹配字符串

汇编语言实验二查找匹配字符串一、目的查找匹配字符串SEARCH二、实验内容程序接收用户键入的一个关键字以及一个句子。
如果句子中不包含关键字则显示‘NO match!’;如果句子中包含关键字则显示‘MATCH’,且把该字在句子中的位置用十六进制数显示出来。
流程图N YY Y输入关键字结束关键字长度=0输入句子句子长度<关键字长度Y保存关键字长度到cx ,cx 入栈,保存总循环次数(句子长度-关键字长度+1)到al ,将句子的首地址放进bx(作为基址寄存器) si=di=0(变址寄存器)开始比较[bx+di]与[si]是否相等si+1,di+1,cx-1(同时指向下一个字符)YN bx+1(句子指向下一个字符) cx 出栈,再入栈,si,di 清零,al-1 cx 是否为0N 匹配完成,调用子程序输出al 是否为0 不匹配,输出三、设计和编码DATA SEGMENTmess1 DB'Enter keyword:','$'mess2 DB'Enter Sentence:','$'mess3 DB'Match at location:','$' mess4 DB'NOT MATCH.',13,10,'$' mess5 DB'H if the sentence',13,10,'$'change DB 13,10,'$'stoknin1 label bytemax1 db 10act1 db?stokn1 db 10 dup(?)stoknin2 label bytemax2 db 50act2 db?stokn2 db 50 dup(?)DATA ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODE SEGMENT;*************************************代码段main proc farassume cs:code,ds:data,es:dataSTART:push dssub AX,AXsub BX,BXsub DI,DIsub SI,SIpush AX ;为返回dos并清空后面要用到的寄存器MOV AX,DATAMOV DS,AXLEA DX,mess1MOV ah,09INT 21h ;输出Enter keywordLEA DX,stoknin1MOV ah,0ah ;用21号中段的0ah号功能获取关键字INT 21hcmp act1,0je exit ;如果为空直接退出程序a10:;********************************输入Sentence并判断LEA DX,changeMOV ah,09INT 21h ;输出回程,换行LEA DX,mess2MOV ah,09INT 21h ;输出Enter Sentence:LEA DX,stoknin2MOV ah,0ahINT 21h ;用21号中段的0ah号功能获取句子MOV AL,act1CBWMOV CX,AX ;保存关键字长度到cxPUSH CX ;cx入栈MOV AL,act2cmp AL,0je a50 ;保存句子长度到al,若句子为空则跳转显示not match SUB AL,act1js a50 ;若句子长度小于关键字长度,则跳转显示not match INC ALCBWLEA BX,stokn2 ;将句子的首地址放进BXMOV DI,0MOV SI,0a20:;****************************************比较,内循环MOV AH,[BX+DI]CMP AH,stokn1[SI] ;遇见字符不相等就跳转到a30jne a30INC DIINC SIDEC CX ;没遇到一个相等的字符,cx-1,cx不为0则比较下一个字符,当cx为0是说明关键字比较完CMP CX,0je a40jmp a20a30:;*****************************************外循环,BX+1,清空si,di继续内循环比较INC BXDEC ALcmp AL,0je a50MOV DI,0MOV SI,0POP CXpush CXjmp a20a40:;*****************************************match,将bx减去句子的首地址加一得到关键字所在位置,调用二进制转十六进制子函数将位置输出SUB BX,offset stokn2INC BXLEA DX,changeMOV ah,09INT 21hLEA DX,mess3MOV ah,09INT 21hCALL btohLEA DX,mess5MOV ah,09INT 21hjmp a10;****************************************二进制转换十六进制btoh PROC NEARMOV CH,4rotate: MOV CL,4ROL BX,CLMOV AL,BLand AL,0fhadd AL,30hcmp al,3ahjl printitadd al,7hprintit:MOV dl,alMOV ah,2int 21hdec chjnz rotateretbtoh endpa50:;*****************************************显示not matchLEA DX,changeMOV ah,09INT 21hLEA DX,mess4MOV ah,09INT 21hjmp a10exit:retmain endpCODE ENDSEND START 四、运行结果及分析五、实验小结六、附录(选)。
实验二、1简单并行接口

int 21h
mov ah,06 mov dl,0ffh int 21h jnz exit je start exit: mov ah,4ch int 21h code ends end 244程序流程图 ;若无,则转start ;返回DOS ;是否有键按下
八、实验结果
并行输出接口实验结果 并行输入接口实验结果
保存时输入自命名的源程序“XXX.ASM ”
为扩展名)
(“.ASM”
在“Alt+F”中,选择“EXIT ”退出文本编辑环境
3
图1
图2
使用汇编程序MASM.EXE (微软工具),对 源程序进行汇编,生成OBJ文件。 C:\> MASM (进入汇编环境) Source filename [.ASM]: xxx.asm
;返回DOS
code segment assume cs:code
start:
mov dx,2a0h
in al,dx mov dl,al mov ah,02
;从2A0输入一数据
;将所读数据保存在DL中 ;显示ASCII为DL的数据
int 21h
mov dl,0dh int 21h mov dl,0ah ;显示换行符 ;显示回车符
3
使用连接程序LINK.EXE (微软工具),对 OBJ文件进行连接。只有正确的OBJ文件,才能进 行连接操作。将OBJ文件与库函数或其他目标程序
进行连接成可执行的目标程序-EXE文件。
C:\> LINK (进入连接环境) Object Modules [.OBJ]: xxx.obj Run File [XXX.EXE]: List File [NUL.MAP]: Libraries [.LIB]: Warning: No STACK segment (忽略) There was 1 error detected. C:\> XXX.EXE (执行程序)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
仲恺农业工程学院实验报告纸
信息科学与技术学院(院、系)计算机科学与技术专业142 班
学号:201420224430 姓名:黄丽君实验日期教师评定
汇编语言程序设计实验2 人机界面设计初步
实验目的:
1、掌握汇编语言的开发环境
2、熟悉汇编语言的调试过程
3、掌握DOS功能调用的使用方法
实验内容:
1、编程实现:从键盘输入一个4位的年份,判断输出该年是否为闰年
2、编程实现:在屏幕上显示一个菜单,并且实现菜单中的退出功能。
实验步骤
(1)
DSEG SEGMENT ;定义数据段
INBUFF DB 5,?,5 DUP(?)
PROMPT DB 'please input the year:','$'
ERRMSG DB 'input illegal!','$'
YES DB ' is a leap year:','$'
NO DB ' is not a leap year:','$'
MESS DB ' continue?(y/n):','$'
NEWLINE DB 13,10,'$'
DSEG ENDS
SSEG SEGMENT STACK ;定义堆栈段
DB 100H DUP(?) ;设置堆栈段大小为100H
SSEG ENDS
CSEG SEGMENT ;定义代码段
ASSUME CS:CSEG, DS:DSEG, SS:SSEG ;关联段寄存器START:
push ds
sub ax,ax
push ax
mov ax,DSEG
mov ds,ax
lop0:
call input
call judge
lea dx,mess
mov ah,09h
int 21h ;是否继续输入年份的判断
mov ah,01h
int 21h
cmp al,'n'
je exit
continue:
lea dx,newline
mov ah,09h
int 21h
jmp lop0
exit:
ret
;MAIN endp
;输入一个具体的年份,并转换成10进制
;返回:
;(ax)=输入的年份
input proc near
push bx
push cx
push dx
s1:
lea dx,prompt
mov ah,09h
int 21h ;提示输出
lea dx,inbuff
mov ah,0ah
int 21h ;键盘输入
mov dl,byte ptr inbuff[1] ;把有效地址为inbuff的字节送给dl cmp dl,4 ;输入的值判断是否为4位数
jne error ;调用输入不合条件时的错误处理mov cx,4
lea bx,inbuff
add bx,2
mov ax,0
mov dx,0
lop1: ;检查输入有效性
mov dl,10
mul dl
mov dl,byte ptr [bx]
sub dl,30h ;将字符转化为数值
cmp dl,0
jb error
cmp dl,9
ja error
inc bx ;循环体中字符在字符串中的位置bx+1 loop lop1
jmp s2
error: ;错误处理
lea dx,newline
mov ah,09h
int 21h
lea dx,errmsg
mov ah,09h
int 21h
lea dx,newline
mov ah,09h
int 21h
jmp s1
s2:
mov cx,ax
lea dx,newline
mov ah,09h
int 21h
mov ax,cx
pop dx
pop cx
pop bx ;现场恢复
ret
input endp
;判断一个年份是否闰年
;输入:
;(ax)=年份
judge proc near
push bx
push cx
push dx
push ax ;保存ax;输出要判断的年份
mov cx,4
lea bx,inbuff
add bx,2
lop2:
mov dl,byte ptr [bx]
mov ah,02h
int 21h
inc bx
loop lop2 ;循环输出年份正确时结果中的年份
lop3:
mov dx,0
mov cx,ax ;保存ax到cx中
mov bx,4 ;判断是否能被4整除
div bx
cmp dx,0
jne notleap
mov ax,cx
mov bx,100 ;判断是否能被100整除
div bx
cmp dx,0
jne isleap
mov ax,cx
mov bx,400 ;判断是否能被400整除
div bx
cmp dx,0
jne notleap
isleap:
lea dx,yes
mov ah,09h
int 21h
jmp s3
notleap:
lea dx,no
mov ah,09h
int 21h
s3:
;换行
lea dx,newline
mov ah,09h
int 21h ;输出年份正确时结果的剩余部分pop dx
pop cx
pop bx
ret
judge endp
CSEG ENDS
END START ; 程序结束
(2)
DSEG SEGMENT ;定义数据段
DSEG ENDS
SSEG SEGMENT STACK ;定义堆栈段
DB 100H DUP(?) ;设置堆栈段大小为100H
SSEG ENDS
CSEG SEGMENT ;定义代码段
ASSUME CS:CSEG, DS:DSEG, SS:SSEG ;关联段寄存器
ORG 100H
START: ;主程序入口点
;TO DO:添加主程序代码
; ------------------------------------------------------
JMP BBB
MEUN: DB 10,13,' -----------------MENU----------------------'
DB 10,13,' | | '
DB 10,13,' | 1.EXIT | '
DB 10,13,' | 0.QUIT |'
DB 10,13,' | | '
DB 10,13,' |-------------------------------------------|'
DB 10,13,' please choose one of 0-1:','$'
BBB: PUSH CS
POP DS
DISP0:
MOV AH,15
INT 10H
MOV AH,0
INT 10H
LEA DX,MEUN
MOV AH,9
INT 21H
MOV AH,1
INT 21H
CMP AL,'0'
JE EXIT
CMP AL,'1'
JE DISP1
JMP DISP0
DISP1: ;------------------------------------------------------- ; 退出DOS
MOV AH, 4CH ;返回DOS系统
INT 21H
EXIT: MOV AH,4CH
INT 21H
CSEG ENDS
;TO DO: 添加其他段[可选]
;///////////////////////////////////////////////////////////////
END START ; 程序结束。