微机原理实验指导书(2008-11-11)
微机原理实验指导书

实验一初级程序的编写与调试一、实验目的1、熟练掌握的DEBUG常用命令,学会用DEBUG调试程序;2、深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出;3、掌握各种寻址方法以及简单指令的执行过程。
二、实验内容1、设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换。
请用堆栈作为两寄存器交换内容的中间单元,用DEBUG调试程序进行汇编与调试。
2、设DS=当前段地址,BX=0300H,SI=0002H,请用DEBUG的命令将存储器偏移地址300H—304H连续单元顺序装入0AH、OBH、0CH、0DH、0EH。
在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程。
当每条数据传送完毕时,AX中的内容是什么。
程序清单如下:MOV AX,BXMOV AX,0304HMOV AX,[0304H]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI]HLT3、设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成。
三、实验要求1、实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,对程序结果的分析等。
2、本实验要求在PC机上完成。
3、本实验只要求在DEBUG调试程序状态下进行,包括汇编程序,调试程序,执行程序。
4、编程提示:(1)、实验内容1将两个寄存器内容进行交换时,必须有一个中间寄存器才能进行内容的交换。
如果用堆栈作为中间存储单元,必须遵循先进后出的原则。
(2)、实验内容2[1] 其中数据段寄存器中的段地址为进入DEBUG状态后系统自动分配的段地址。
[2] SI和BX的初值可在DEBUG的状态下,用R命令装入,也可以在程序中用指令来完成。
[3] 用T命令执行程序,可进行单步跟踪执行,每执行一条指令就可以看到各寄存器的状态,也可用R命令直接调出寄存器,来检查各寄存器内容是否正确。
微机原理实验指导书定稿

实验一二进制码转换为BCD码一、实验目的1、掌握数码转换基本方法,加深对数码的理解。
2、用于十进制BCD码显示。
二、实验内容将AX的内容转换为十进制BCD码。
三、实验程序框图四、实验步骤联机模式:(1)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开8KASM文件夹,点击S2.ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。
⑵复位RST键,由于AX中给定数为0FFFF,查看BCD码结果保留在4100H~4104H单元中,故其值应为06、05、05、03、05。
脱机模式:⑴在P.态,按SCAL键,输入2CE0,按EXEC键。
⑵复位RST键,由于AX中给定数为0FFFF,查看BCD码结果保留在4100H~4104H 单元中,故其值应为06、05、05、03、05。
五、实验程序清单;将AX拆为5个BCD码,并存入RESULT开始的5个单元DA TA SEGMENT A T 0ORG 4000HRESULT DB 5 DUP(?)DA TA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA ORG 2CE0HSTART PROC NEARMOV AX, DATAMOV DS, AXMOV DX,0000HMOV AX, 65535MOV CX, 10000DIV CXMOV RESULT, AL ;除以10000, 得WAN位数MOV AX,DXMOV DX,0000H MOV CX, 1000DIV CXMOV RESULT+1, AL ; 除以1000, 得QIAN位数MOV AX,DXMOV DX,0000HMOV CX, 100DIV CXMOV RESULT+2, AL ; 除以100, 得BAI位数MOV AX,DXMOV DX,0000HMOV CX, 10DIV CXMOV RESULT+3, AL ; 除以10, 得SHI位数MOV RESULT+4, DL ; 得GE位数JMP $CODE ENDSEND START实验二 BCD 码转换为二进制码一、实验目的1、掌握BCD 码到二进制码的转换方法。
微机原理与接口技术课程实验指导书

实验一二进制多位加法运算一、实验目的1、熟悉实验系统键盘显示的使用。
2、掌握使用加法类运算指令编程及调试方法。
3、掌握加法类指令对状态标志位的影响。
二、实验内容计算X+Y+Z=?(X、Y、Z为16位二制数)三、编程指南由于本实验是三个十六位二制数相加运算,因此,当X+Y时要考虑用ADC指令,把进位C加到结果的高16位中,当(X+Y)+Z时,再把进位C加到结果的高16位中,本实验设定三个加数0FFFFH,计算结果应为2FFFDH。
四、实验步骤联机模式:(1)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开8kAsm文件夹,点击S1.ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。
(2)运算结果保留在内存4100H~4102H单元中,点击DICE-8086K软件中存贮器RAM窗口,输入RAM的起始地址4100、4101、4102,单元内容应为FD、FF、02。
脱机模式:⑴在P.态下,按SCA L键,输入2CA0,按EXEC键。
⑵复位RST键,运算结果保留在内存4100H~4102H单元中,共内容分别为:FD、FF、02,低位在前,高位在后,具体操作方法:输入键[4100]→[ME]→[NX]→[NX]。
五、实验程序清单CODE SEGMENT ;S1.ASM-->BIN ADDASSUME CS:CODEORG 2CA0H ;this is a program of addSTART: CLCMOV SI,4000H ;result in [4100]MOV [SI],0ffffH MOV [SI+2],0ffffH MOV [SI+4],0ffffH MOV A X,0000H MOV [SI+102H],AX MOV A X,[SI]ADD AX,[SI+2] ADC [SI+102H],0000 ADD AX,[SI+4] MOV [SI+100H],A X ADC [SI+102H],0000 JMP $CODE ENDSEND STA RT实验二A/D转换实验一、实验目的了解模/数转换基本原理,掌握A DC0809的使用方法。
微机原理实验指导书

微机原理实验指导书微机实验一DEBUG软件的使用―、实验目的1.学习DEBUG软件的基本使用方法。
2.掌握8088/8086的寻址方式。
3.掌握数据传送、算术运算逻辑运算等类指令的基本操作。
二、实验内容与步骤本实验进行前必须保证系统盘上有DEBUG.EXE文件。
在DOS环境下执行DEBUG命令就在屏幕上显示DEBUG提示符:“-”(短划线)。
D:\*****GK ;以下在字符下加下划线表示键入的内容,K代表回车1.装载文件――(N、L命令)-N EXSE2_3.EXE K ;程序命名为EXSE2_3.EXE -LK2.反汇编命令(U命令) -U K3.显示当前环境和寄存器内容(R命令)-RK4.以十六进制和ASCII码形式显示内存单元内容(D命令)-DK5.修改寄存器内容-R cxK ;修改完后检查是否已修改6.输入数据(可以是指令的机器码或操作数)――即修改内存内容(E 命令)-E 段地址:偏移地址K ;修改完后检查是否已修改7.程序输入――汇编命令(A命令) 输入程序应注意以下几点:(1)输入的数字必须是十六进制数,并且不输入H。
(2)分号后面的内容(注释)不要输入。
(3)不输入标号,条件转移指令中的标号用偏移地址代替。
-AK;以下用K代表回车键,下面加下划线部分代表要键入的内容。
(可以是任意程序)。
重新回到DEBUG提示符“-”状态,表示汇编命令已结束。
8.执行机器指令程序到指定断点――(G命令)-G=段地址:偏移地址(起始)段地址:偏移地址(指定断点)9.程序调试练习修改并调试以下程序,使之完成*****H开始的内存单元中存入31个先自然递增然后又自然递减的数据(00H~0FH~00H)的功能。
程序从CS:0100H开始存放。
调试完成后程序命名为PCS1.EXE并存盘。
程序如下:;PCS1MOV AX,3000H MOV DS,AX MOV SI,0 MOV CL,0FH XOR AX,AX L1:MOV [SI],AL1微机INC AL DEC CL JNZ L1MOV CX,10H L2:MOV [SI],AL INC SI DEC AL LOOP L2 INT 20H 步骤:(1)用A命令输入程序;(2)用反汇编U命令显示程序及目标码:(3)存盘程序命名为PCSl.EXE;(4)用断点执行G命令执行程序到INT 20H指令(不执行INT 20H指令);(5)用D命令检查程序执行后31个数是否已写入存储器3000H:0H 中。
微机原理与接口技术实验指导书2008

微机原理与接口技术实验指导书电子与电气工程系2010 年10 月目录准备知识 (1)实验一汇编语言程序的输入、汇编、连接与运行 (4)实验二顺序程序的设计 (6)实验三分支程序的设计 (7)实验四冒泡法程序设计 (9)实验五循环程序设计 (12)实验六菜单程序设计 (14)附录一 Debug 的主要命令 (17)附录二 ASCII码表 (24)附录三 DOS功能调用一览表 (26)准备知识一、程序的编辑、汇编与连接1、编辑源程序汇编语言上机操作过程与某些高级语言上机操作过程类似,程序实际人员先调用一个文字编辑程序,例如NE,将汇编程序输入计算机,建立以ASM为扩展名的源程序文件。
格式为:EDIT SAMPLE.ASM。
源程序按段组织数据段、附加段、堆栈段和代码段。
为便于对程序的阅读和查错,希望各语句的四个字段(标号,助记符,操作数,注释)排列整齐。
一个源程序开头常常用标题伪指令说明本程序的名字或功能。
2、汇编与链接汇编就是把汇编语言编制的源程序翻译成机器语言的目标程序。
汇编程序MASM是一个宏汇编程序,它包括宏功能处理。
源程序经MASM汇编后,可产生三个文件:以扩展名为.OBJ的目标程序,以扩展名为.LST的列表程序,以扩展名为.CRF的交叉程序。
格式为:MASM SAMPLE源程序经过汇编后产生的目标程序,需经过连接程序LINK后才能运行。
格式为:LINK SAMPLE连接程序Link把一个或多个独立的目标程序模块联结成一个可浮动代码的执行文件(扩展名为.EXE)。
被连接的目标文件可以是由MASM汇编生成的,也可以是高级语言经编译后生成的。
注意:即使不需连接任何其他目标文件,对单一的目标文件也必须经过LINK这一步,否则不能生成可执行文件。
经过汇编——连接后,汇编语言源程序基本被翻译成对应的机器码模块,只是整个模块装入内存的具体地址尚未确定,因此涉及段地址的指令机器码还未最后“定型”,故此模块被称为浮动代码模块。
微机原理实验指导书

实验一 DOS命令与汇编源程序输入、汇编、连接、运行一、实验目的掌握在计算机上运行汇编语言程序的整个操作过程。
学会将自己编制的汇编语言源程序用EDIT编辑程序输入计算机并存盘;学会用MASM 宏汇编程序对汇编语言源程序进行汇编形成二进制目标文件;学会用LINK连接程序对二进制目标文件连接形成可执行文件;学会运行经汇编和连接后形成的可执行文件;学会用DEBUG调试程序运行和调试可执行文件。
二、实验设备1、PC系列不低于80286档次的微型机;2、DOS3.3以上版本的操作系统;3、EDIT,MASM,LINK,DEBUG执行程序。
三、实验步骤1、用EDIT编辑汇编源程序(1)MS-DOS Editor的启动与退出Editor是在DOS系统提示符下启动,其命令格式为:C:EDIT [Path] [filename]在编辑完成后,选择屏幕菜单的File命令(按“ALT+F”键)中的Exit项即可退出Editor。
(2)建立文本文件在MS-DOS Editor的屏幕菜单栏中File命令就是对文本文件的建立、存储和打印的操作。
A.建立文件(New)打开屏幕菜单栏中File下拉菜单,选择New项。
B.编辑文件将写好的汇编语言源程序输入到编辑文本区。
输入时,一行结束后按回车键(Enter)换行。
C.保存文件(Save)打开屏幕菜单栏中File下拉菜单,选择Save项在弹出的对话框中键入文件名。
如果要把文件保存到非默认路径下,则在键入文件名的同时键入路径。
D.打开文件(Open)打开屏幕菜单栏中File下拉菜单,选择Open项。
该窗口中有三个区可以选择要打开的文件:文件名区:可以直接键入要打开的文件名;文件表区:文件表中列出要打开的所有文件名,供用户选择;目录/磁盘区:键入的文件名是哪个磁盘目录中的,在该区中选择。
在Open对话框中用“Tab”或“Shift+Tab”键选择各区。
选完后按“OK”确定。
2.MASM宏汇编程序的使用方法(1)命令格式和功能命令格式:MASM文件名功能:对汇编语言源程序进行汇编形成二进制目标文件(2)操作过程在DOS下,将目录切换到汇编语言所在目录下,然后调入MASM宏汇编程序。
电气2008微机原理实验指导书

《微机原理与程序设计》
实验指导书
实验一:熟悉汇编语言程序的开发环境
实验二:分支程序的设计
试验三:循环程序的设计
试验四:子程序设计
实验五:混合程序设计
实验指导老师:于仲安、张振利
自动化与电气工程实验中心
2010.10.15
实验一熟悉汇编语言程序开发环境
一.实验目的
1.熟悉在汇编语言程序的编辑、汇编、连接、调试和运行的过程;
2.熟悉汇编过程中一些常见出错信息;
3.掌握简单的DEBUG调试命令。
二.实验内容
1. 编写一个简单的汇编语言程序,要求程序运行后在平屏幕上显示字符串:
my name is ×××
其中×××为你自己的名字的汉语拼音,在数据段中定义。
2. 用DEBUG命令进行调试,掌握简单的命令调试程序
三、编程提示
1.在数据段中定义以上的字符串;
2.利用DOS功能调用输出字符串
四.实验报告
编写实验内容1的实验程序并记录实验结果。
微机原理实验指导书_第2章

2.1 实验一
一、 实验目的
掌握 TDN86/88 教学实验系统的基本操作。
系统认识实验
二、 实验设备
TDN86/88 教学实验系统一套。
三、 实验内容和步骤
内容:
程序的编辑、汇编、连接、装载与简单调试。
实验程序:
下面的实验程序将数据段内偏移地址为 3500H 开始的区域用组合 BCD 编码的方 式建立十进制数 0~15 共 16 个数据。注意:在程序中未定义数据段,实验调试操作时 应使 DS=0000H。 STACK SEGMENT STACK ; 定义堆栈段 DW 64 DUP( ? ) STACK ENDS CODE SEGMENT ; 定义代码段 ASSUME CS:CODE START: MOV DI,3500H ; 设定数据区的首地址 MOV CX,0010H ; 定义数据长度 MOV AX,0000H ; 初始数据为 0 (各标志和数的编码) SAHF ; 清标志(因为 AH=0) A1: MOV [DI],AL ; 保存当前的数的编码 INC DI ; 修改地址指针,指向下一单元 INC AX ; 修改数据 DAA ; 十进制调整(生成新数的编码) LOOP A1 ; 循环,重复建立所有数的编码。 A2: JMP A2 ; 死循环,程序陷阱。 CODE ENDS END START
四、 实验报告要求
1、 概要记录在实验过程中的操作过程及其结果(包括出错的操作) 。 2、 工整书写实验程序并画出其流程图。 3、 回答下述问题: 1) 在使用 T 命令调试程序时,什么时刻使标志位 A=1,其原因是什么? 2) 在使用 GB 命令调试程序时,断点 200AH 和 2011H 分别是哪两条指令,若 要在 DAA 指令处设置断点,该进行怎样的操作? 3) 在使用 G 命令调试程序时,两次的现象有何不同,为什么? 4、 根据实验情况,分析三种调试方法的优缺点,总结调试程序的基本原则。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机原理及应用》实验指导书张群英编写桂林工学院电子与计算机系2008-11-11目录汇编语言程序设计的实验环境及上机步骤 (3)实验一汇编语言程序上机过程与调试 (17)实验二顺序程序设计 (21)实验三分支程序设计 (22)实验四循环程序设计 (24)实验五子程序设计 (25)实验六显示程序设计 (26)实验七系统认识实验 (29)实验九中断特性及8259应用编程实验 (33)实验十8255并行接口应用实验 (45)实验十一8253定时/计数器应用实验 (50)第一部分:汇编语言程序设计的实验环境及上机步骤1.1汇编语言程序设计的实验环境汇编语言程序设计的实验环境为:80x86系列微型计算机一台机进行汇编语言程序设计所必需的编程工具一套。
目前被广泛使用的编程工具分别来自Microsoft和Borland两家公司。
1.1.1 Microsoft公司的汇编语言程序设计工具◆任意一种文本编辑器——用于编辑生成汇编语言源程序(*.ASM)◆小汇编程序ASM.EXE或宏汇编程序MASM.ESE——用于将汇编语言源程序(*.ASM)翻译成机器语言文件,即目标文件(*.OBJ)◆连接程序LINK.EXE——用于将目标文件连接生成可执行文件(*.EXE)◆调试程序DEBUG.EXE——用于对生成的可执行文件(*.EXE)进行逻辑错误检查。
1.1.2 Borland公司的Turbo系列汇编语言程序设计工具◆任意一种文本编辑器——用于编辑生成汇编语言源程序(*.ASM)◆汇编程序TASM.EXE——用于将汇编语言源程序(*.ASM)翻译成机器语言文件(*.OBJ)◆连接程序TLINK.EXE——用于将目标文件连接生成可执行文件(*.EXE)◆调试程序TD.EXE (Turbo Debugger) ——用于对生成的可执行文件(*.EXE)进行逻辑错误检查。
可以看出,进行汇编语言程序设计时需要的编程工具有:文本编辑器、汇编程序、连接程序以及调试程序,下面分别对它们进行简要介绍。
1.文本编辑器(Text Editor)在文本编辑器中,用户可以通过键盘输入汇编语言源程序,并可以对源程序进行编辑、修改以及存盘等操作。
不论使用哪一种文本编辑器,都应该把汇编语言源程序保存为*.ASM文件,即源程序的扩展名必须为“ASM”,否则,汇编程序将无法对其进行汇编。
2.汇编程序(Assembler)汇编程序用于将用户编写的汇编语言源程序(*.ASM)翻译成机器语言文件(*.OBJ),其主要功能可以概括为以下三点:(1)检查源程序中的语法错误,并给出错误信息。
(2)产生目标文件(*.OBJ)(3)展开宏指令(Microsoft公司的小汇编程序ASM.EXE无此功能)Microsoft公司和Borland公司这两家公司研制的汇编程序MASM和TASM基本上是相同的,且都在IBM PC系列机中得到广泛使用。
3.连接程序(Linker)经汇编后得到的二进制机器语言程序中的地址是“浮动”的,它只是一种逻辑地址,一次,汇编后得到的二进制目标文件(*.OBJ)是不能直接在计算机上运行的,必须对其进行连接装配后才能成为可执行文件(*。
EXE)。
不同版本的汇编程序有着与其配套的连接程序,也就是说,如果所生成的*.OBJ文件是使用Microsoft公司的汇编程序得到的,那么,对该*.OBJ文件进行连接是就应使用Microsoft公司的LIINK.EXE;如果使用Borland公司的汇编程序TASM生成目标文件,那么,对目标文件进行连接是就必须使用Borland公司的TLINK.EXE。
4.调试程序(DEBUG)调试程序用于在DOS环境下对已生成的可执行文件(.EXE或.COM)进行调试,一边法相程序中存在的逻辑或算法错误。
在对汇编语言源程序进行汇编是,汇编程序只对源程序语法错误进行检查,而对程序中存在的逻辑错误是无法进行检查的,如果汇编过程没有发现语法错误,即可生成OBJ文件,OBJ文件经过连接后生成可执行的EXE文件。
因此,经常会出现运行所生成的EXE文件无法得到正确结果的情况。
出现这种情况的原因通常是由源程序中存在的逻辑错误或算法错误引起的。
遇到这种情况后最简单的解决办法就是使用文本编辑器打开源程序文件(*.ASM)对其进行逻辑或算法错误检查,显然使用这种办法查找逻辑错误是非常困难的,尤其对那些逻辑关系复杂。
程序较长的源程序更是如此。
对逻辑错误或算法错误的检查最好的办法就是使用DEBUG程序对已生成的可执行文件进行调试。
通过DEBUG可以使程序逐段甚至逐条指令地执行,一边观察是否达到预期的功能或得出预测的结果,从而发现源程序在设计上存在的而逻辑错误、算法错误或其他一些缺陷。
初学者往往意识不到DEBUG程序的重要性,在程序汇编、连接生成可执行文件后,总是寄希望于程序一次运行成功,这往往是不显示的。
为了能很好地进行汇编语言程序实际,掌握DEBUG程序的使用是非常重要的,这已点务必请初学者注意。
本书专用以Microsoft公司研制的汇编语言程序设计工具(MASM.EXE,LINK.EXE和DEBUG.EXE)进行介绍。
1.2上机步骤汇编语言程序设计过程分成两个阶段:编写程序阶段和上机调试阶段。
编写程序阶段包括问题分析、确定算法以及手工编写程序等步骤。
如下图所示,汇编语言上机步骤包括编辑、汇编、连接和调试等过程。
(1)编辑源程序。
利用文本编辑工具输入事先已手工编写好的汇编语言源程序,生成一个汇编语言源程序的纯文本文件,并将其存储为扩展名为.ASM的文件。
如利用EDIT程序编辑源程序。
命令为:EDIT 源程序名.ASM(2)汇编源程序。
使用汇编程序(MASM)对.ASM文件进行汇编,生成目标代码文件,目标代码文件的扩展名是﹒OBJ,汇编器还可以生成列表文件和交叉参考文件,如果源程序有语法错误行,汇编器就不生成目标代码文件。
这时,必须重新编辑源程序,修改语法错误的行。
当发现源程序中的某些行含不确定因素时,汇编器会给出警告信息,但仍按缺省处理办法生成目标代码文件。
此时,可以重新编辑源程序,消除不确定因素。
命令为:MASM 源程序名.ASM(3)连接目标程序。
通过连接程序(LINK)将.OBJ文件连接装配成可在计算机上直接运行的可执行文件.EXE,此时,就可以在DOS命令行键入文件名来运行程序。
通常DOS平台上的可执行程序文件的扩展名是﹒EXE。
一般单个或者与库函数连接时,如果在目标代码文件或者库中找不到所需的连接信息,连接器就会发生错误提示信息,而不生成可执行程序文件。
这时,就要重新编辑源程序,并汇编源程序。
命令为:LINK 目标程序名.OBJ(4)调试可执行程序。
程序的动态调试是在形成可执行程序文件后,针对可执行程序进行的。
DEBUG是简单而有效的动态调试工具,利用调试工具动态地调试程序,找出程序中的问题。
如果发现程序中有问题,那么必须重新编辑、汇编源程序。
命令为:DEBUG 可执行程序名.EXE下面以两个简单的例子说明汇编源程序的上机过程。
例一:假定要在显示器显示如下一行信息:I am a student!根据要求编好的源程序如下:STACK SEGMENT STACKDB 200 DUP(0)STACK ENDSDA TA SEGMENTBUF DB 'I am a student!$'DA TA ENDSCODE SEBMENTASSUME CS:CODE,DS:DA TA,SS:STACKSTART: MOV AX,DA TAMOV DS,AXLEA DX,BUFMOV AH,9INT 21HMOV AH,4CHINT 21HCODE ENDSEND START那么,其在DOS状态下编辑、汇编、连接、运行源程序的过程如下:首先:假设已经在D盘上建立了名为masm的文件夹,其中拷贝了汇编程序MASM.EXE和连接程序LINK.EXE,我们以下的操作均在路径D:\masm> 下进行。
第一步:编辑源程序。
假定源文件名为XS﹒ASM,键入编辑命令(edit)和文件名后回车,界面如下:在编辑界面下输入源程序,指令用大写或小写字母均可,界面如下:程序输入完成,点击下拉菜单选择Save项保存,再次点击下拉菜单选择Exit项即可退回到DOS 状态,源程序的编辑就完成了,界面如下:第二步:汇编源程序xs.asm,键入汇编命令(masm)和文件名后回车,界面如下:对于简单程序(比如本例),在系统出现的3个选项中选择回车即可,系统提示没有出错,即表明源程序汇编通过,已经生成了名为xs.obj的目标文件;若系统提示出错,则应该重新回到编辑状态将出错的地方更正并保存后方可再次进入汇编过程。
界面如下:第三步:连接目标程序文件xs.obj, 键入连接命令(link)和文件名后回车,界面如下:在系统出现的3个选项中选择回车即可,系统显示的警告“no stack segment”不会影响程序的执行,此时,可执行程序xs.exe已经生成了。
界面如下:在DOS状态下键入程序名xs.exe并回车,执行该程序,界面如下:显示器上将显示出“I am a student!”,并重新回到DOS状态。
由显示结果即可判断程序是否达到预定要求。
若未得到预期的结果,可检查XS﹒ASM文件内容,修改错误,再次汇编、连接、运行,直到满意为止。
界面如下:对于程序的执行结果没有在显示器上显示出来的,则必须要进入到调试状态才能探查程序的执行结果,并进行相应的完善,下面将以一个求数据累加所得的和作为例子。
例二:编制程序,求10个字节类型的数据的和,源程序如下:data segmenta db 1,2,3,4,5,6,7,8,9,10he db ?data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axlea bx,amov cx,10mov al,0next: add al,[bx]inc bxloop nextmov he,almov ah,4chint 21hcode endsend start其在DOS状态下编辑、汇编、连接、运行源程序的过程如下:首先:假设已经在D盘上建立了名为masm的文件夹,其中拷贝了汇编程序MASM.EXE和连接程序LINK.EXE,我们以下的操作均在路径D:\masm> 下进行。
第一步:编辑源程序。
假定源文件名为qiuhe.asm,键入编辑命令(edit)和文件名后回车,界面如下:在编辑界面下输入源程序,指令用大写或小写字母均可,界面如下:程序输入完成,点击下拉菜单选择Save项保存,再次点击下拉菜单选择Exit项即可退回到DOS 状态,源程序的编辑就完成了,界面如下:第二步:汇编源程序qiuhe.asm,键入汇编命令(masm)和文件名(可在文件名后加分号)回车,界面如下:键入汇编命令(masm)和文件名后加分号再回车,系统将不再给出选项,而是直接生成目标文件,若源程序中有错误,则给出相应的出错信息;若系统提示出错,则应该重新回到编辑状态将出错的地方更正并保存后方可再次进入汇编过程。