《实验二 顺序结构、分支结构程序设计.doc》由会员分享,可在线阅读,更多相关《实验二 顺序结构、分支结构程序设计.doc(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验实验二二 顺顺序序结结构、分支构、分支结结构程序构程序设计设计一一实验实验目的目的1熟悉汇编语言上机全过程。3学会EDIT、MASM和LINK程序的正确使用。4掌握顺序结构、分支结构程序设计的方法。二二实验实验准准备备1.PC系列微型计算机一台;2.软件安装DOS系统、含EDIT.EXE、MSAM.EXE 、LINK.EXE或其他软件编辑工具;3.C盘下创建MASM目录。三三.实验实验内容、要求与步内容、要求与步骤骤(一一) 程序实现将存储器中的两个字节数相加,结果(“和”)送到另一个存储器单元中。(程序名LX21.ASM)源程序如下:DATA SEGMENT ;定义数据段ADD_BUF
2、DB 47H,6AH ;从ADD_BUF开始连续存放;2个字节数据,47H和6AHSUM_BUF DB ? ;定义SUM_BUF为空字节,存放相加之和DATA ENDS ;数据段结束CODE SEGMENT ;定义代码段ASSUME CS:CODE,DS:DATA ;用伪指令设定段寄存器START: MOV AX,DATA ;数据段首地址通过累加器AXMOV DS,AX ;送数据段寄存器DSMOV AX, 0000H ;AX清零MOV AH,ADD_BUF ;取第一个数据送累加器ADD AH,ADD_BUF+1 ;2数相加,“和”放AHMOV SUM_BUF,AH ;“和”送SUM_BUFHL
3、T ;暂停MOV AH,4CH ;准备返回DOSINT 21H ;返回CODE ENDS ;代码段结束END START ;本段程序结束 1在MSDOS环境下编辑、连接和调试汇编语言程序(1) 进入DOS状态和MASM子目录,在C:MASM目录下输入:C:MASM5EDITEDIT ;进入编辑程序, 输入源程序并保存在C:MASM目录下,文件名为:LX21.ASM (2)应用MASM.EXE对汇编语言源程序进行汇编,产生目标文件LX21.OBJ:显示 键入C:MASM MASM enterenterSOURCE FILENAME .ASM LX21 enterenterOBJECT FILEN
4、AME LX21.OBJ enterenterSOURCE LISTINGNUL.LST LX21 enterenterCROSS-REFERENCENUL.CRF enterenter WARNIING ERRORS 0SEVERE ERRORS 0如ERRORS 均为0 表示汇编正确,如不为0,则必须在编辑状态下重新修改源程序。(3)运行子目录DOS下LINK执行文件将目标文件LX21.OBJ连接成为可执行的文件 LX21.EXE。操作如下:显示 键入C:MASM LINK enterenterOBJECT MODULES.OBJ: LX21 enterenterRUN FILEPLAYP
5、IA.EXE enterenterLIST FILENUL.MAP LX21 enterenterLIBRARIES.LIB enterenter 2在DOS下用DEBUG调试 (1)使用EDIT程序,打开列表文件LX22.LST,记录有关内容:数据段的起始单元的偏移地址: ADD_BUF、SUM_BUF对应的地址: 变量ADD_BUF单元存放的数据: 数据段占有字节数: 代码段的起始单元的偏移地址: 代码段占有字节数: (2)用DEBUG调试程序LX21.EXE并记录观察结构、结果:键入:C:MASM DEBUG LX21.EXE用U命令检查程序:1)记录在DEBUG下数据段变量ADD_BUF、SUM_BUF的单元地址2)记录源程序汇编所产生的机器码。3)程序执行后ADD_BUF、SUM_BUF的单元存放的内容(二)有一符号函数,设给定值X存放于XX单元,函数Y值存放于YY单元,则按X的不同取值给Y赋值。1 ,当X0 Y= 0 ,当=0-1 ,当X0 1.画出程序流程图2.写出函数赋值的源程序(LX22.ASM)3.在MSDOS环境下编辑、连接和调试汇编语言程序4.用DEBUG调试程序LX22.EXE并记录观察结果:1)记录在DEBUG下数据段的段基值、变量XX、YY的单元地址2)程序所在代码段的段基值,第一条代码的物理地址。3)程序执行后YY单元存放的内容
限制150内