资源描述:
《汇编与接口课程实验指导》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《汇编语言与接口技术课程实验指导书》西安交通大学软件学院马瑞芳二0一二年二月目录《汇编语言与接口技术课程实验指导书》1目录2实验1汇编语言的上机环境及调试方法31.1实验目的31.2实验内容提要31.3实验类型31.4实验步骤31.4.1建立汇编语言的工作环境31.4.2汇编语言的上机步骤31.5实验记录10实验2算术逻辑运算程序设计方法112.1实验目的112.2实验内容提要112.3实验类型112.4实验步骤112.4.1循环程序设计112.4.2分支程序设计方法122.5实验记录13实验3DOS/B10S中断程序设计163
2、.1实验目的163.2实验内容提要163.3实验类型163.4实验步骤163.5实验记录17实验4模块化程序设计及接口应用技术194.1实验目的194.2实验内容提要194.3实验类型194.4实验步骤194.4.1宏汇编194.4.2模块化程序设计214.4.3接口应用技术224.5实验记录22实验1汇编语言的上机环境及调试方法1.1实验目的建立汇编语言的工作坏境,掌握汇编语言上机过程,特别是DEBUG调试方法。1-2实验内容提要熟悉汇编语言的工作环境和上机步骤。1.3实验类型设计和验证1.4实验步骤1.4.1建立汇编语言的工
3、作环境方法1•为运行汇编语言程序,至少要在磁盘上建立以下文件:编辑程序,如D:ASMEDIT.COM,DOS的文本编辑工具,用于编辑输入汇编语言源程序汇编程序,如D:ASMMASM.EXE,宏汇编器连接程序,如D:ASMLINK.EXE,连接器调试程序,如D:ASMDEBUG.EXE,DOS的动态调试器方法2・自选安装汇编语言集成实验环境推荐集成环境:MasmForWindows集成实验环境2011及以上版本1.4.2汇编语言的上机步骤下列的汇编语言源程序清单,完成把源数据区的20个数据传送到目的数据区中去。DA
4、TA1SEGMENTCOUNTDW20SADDRDB1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,1&19,20DAADRDB20DUP(?)DATA1ENDSCODEISEGMENTASSUMECS:CODE1,DS:DATA1DMOVNEXTMOV:PROCPUSHMOVPUSHMOVMOVMOVMOVMOVMOVMOVINCINCDECJNZFARDSAX,0AXAX,DATA1DS,AXSI,OFFSETSADDRDI,OFFSETDAADRCX,COUNTAL,[SI][DI],A
5、LSIDICXNEXTMOVRETENDPENDSENDDMOVDMOVCODEI汇编语言上机步骤如下:1.输入ASM文件用编辑程序(如DOS的EDIT)将汇编语言源程序输入计算机,经修改认为无误后,存入文件系统。设用户将源文件命名为pname.asmo(汇编语言源程序的后缀为“.asm”)。汇编语言环境建立在D盘ASM文件夹下,建立ASM文件的具体做法如下(图1.1、图1.2):(1)进入编辑状态D:ASM>EDITpname.asm/(2)编辑输入图1.1DOSEDIT窗口进入编辑状态后,光标停留在第一行、第一列的位置。程
6、序员从光标处开始输入源程序,图1.2给出了EDIT状态下输入源程序的示意图。图1.2在EDIT状态下输入源程序(3)源程序输入完毕后,用file-save保存源程序。2.用汇编程序产生OBJ文件目前常用的汇编程序有以下两种:一是微软公司的汇编程序MASM…Macroassembler□二是Borland公司的汇编程序TASM…Turboassemble。这两种汇编程序的基本(本书介绍的)用法相同,扩展用法可参考联机帮助。调用TASM汇编程序对源文件进行汇编的具体做法(图1.3):D:ASM>TASMpname;/图1.3汇编程
7、序产生OBJ文件如果汇编正确,则生成pnamc.obj文件,用dir命令列出文件目录观看(图1.3);若汇编不正确,无法得到pname.obj文件。如果在汇编过程中发现源程序有语法错误,则系统会输出“出错信息”,列出笫几行有什么样的错误。程序员应重新调用编辑程序,对源程序修改后再进行汇编,直到汇编通过为止。TASM(MASM)被称为汇编器,它用来把汇编语言源文件转换成目标模块pname.objo如果需要得到列表文件pname.1st,可按如下方法进行汇编(图1.4):D:ASM>TASMpname.asm/11S-D0S方式-
8、!□!x
9、
10、童6小丄匸]
11、蹙墮
12、田
13、創面Al阪1988,1996BorlandInternationalD:asm>tasmpname.asm/1TurboAssembIerVersion4.1CopyrightCc)pname•asmNoneN-«ri»*1