汇编语言程序设计的实验环境及上机步骤(共29页).doc
《汇编语言程序设计的实验环境及上机步骤(共29页).doc》由会员分享,可在线阅读,更多相关《汇编语言程序设计的实验环境及上机步骤(共29页).doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上汇编语言程序设计的实验环境及上机步骤一、 实验环境汇编语言程序设计的实验环境如下:1. 硬件环境微型计算机(Intel x86系列CPU)一台2. 软件环境n Windows98/2000/XP操作系统n 任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等)n 汇编程序(MASM.EXE或TASM.EXE)n 连接程序(LINK.EXE或TLINK.EXE)n 调试程序(DEBUG.EXE或TD.EXE)文本编辑器建议使用EDIT或NOTEPAD,汇编程序建议使用MASM.EXE,连接程序建议使用LINK.EXE,调试程序建议使用TD.EXE
2、。二、 上机实验步骤注:以下步骤适用于除汇编语言程序设计的实验一到实验四外的所有实验(实验一到实验四仅使用TD.EXE)。1确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。如果没有创建过此目录,请用如下方法创建:通过Windows的资源管理器找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”“文件夹”,并把新建的文件夹命名为ASM。请把MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷贝到此目录中。2建立ASM源程序建立ASM源程序可以使用EDIT或NOTEPAD(记事本)文本编辑器。下面的例子说明了用
3、EDIT文本编辑器来建立ASM源程序的步骤(假定要建立的源程序名为HELLO.ASM),用NOTEPAD(记事本)建立ASM源程序的步骤与此类似。在Windows中点击桌面左下角的“开始”按钮选择“运行”在弹出的窗口中输入“EDIT.COM C:ASMHELLO.ASM”,屏幕上出现EDIT的编辑窗口,如图1所示。 图1 文本编辑器EDIT的编辑窗口窗口标题行显示了EDIT程序的完整路径名。紧接着标题行下面的是菜单行,窗口最下面一行是提示行。菜单可以用Alt键激活,然后用方向键选择菜单项,也可以直接用Alt-F打开File文件菜单,用Alt-E打开Edit编辑菜单,等等。如果键入EDIT命令时
4、已带上了源程序文件名(C:ASMHELLO.ASM),在编辑窗口上部就会显示该文件名。如果在键入EDIT命令时未给出源程序文件名,则编辑窗口上会显示“UNTITLED1”,表示文件还没有名字,在这种情况下保存源程序文件时,EDIT会提示输入要保存的源程序的文件名。编辑窗口用于输入源程序。EDIT是一个全屏幕编辑程序,故可以使用方向键把光标定位到编辑窗口中的任何一个位置上。EDIT中的编辑键和功能键符合Windows的标准,这里不再赘述。源程序输入完毕后,用Alt-F打开File菜单,用其中的Save功能将文件存盘。如果在键入EDIT命令时未给出源程序文件名,则这时会弹出一个“Save as”窗
5、口,在这个窗口中输入你想要保存的源程序的路径和文件名(本例中为C:ASMHELLO.ASM)。 注意,汇编语言源程序文件的扩展名最好起名为.ASM,这样能给后面的汇编和连接操作带来很大的方便。3用MASM.EXE汇编源程序产生OBJ目标文件源文件HELLO.ASM建立后,要使用汇编程序对源程序文件汇编,汇编后产生二进制的目标文件(.OBJ文件)。具体操作如下: 方法一:在Windows中操作用资源管理器打开源程序目录C:ASM,把HELLO.ASM拖到MASM.EXE程序图标上。 方法二:在DOS命令提示符窗口中操作选择“开始”“程序”“附件”“命令提示符”,打开DOS命令提示符窗口,然后用C
6、D命令转到源程序目录下,接着输入MASM命令:I:C: C:CD ASMC:ASMMASM HELLO.ASM操作时的屏幕显示如图2所示。 图2 在DOS命令提示符窗口中进行汇编不管用以上二个方法中的哪个方法,进入MASM程序后,都会提示让你输入目标文件名(Object filename),并在方括号中显示默认的目标文件名,建议输入目标文件的完整路径名,如:C:ASMHELLO.OBJ回车。后面的两个提示为可选项,直接按回车。注意,若打开MASM程序时未给出源程序名,则MASM程序会首先提示让你输入源程序文件名(Source filename),此时输入源程序文件名HELLO.ASM并回车,然
7、后进行的操作与上面完全相同。 图3 有错误的汇编过程例子如果没有错误,MASM就会在当前目录下建立一个HELLO.OBJ文件(名字与源文件名相同,只是扩展名不同)。如果源文件有错误,MASM会指出错误的行号和错误的原因。图3是在汇编过程中检查出两个错误的例子。在这个例子中,可以看到源程序的错误类型有两类: 警告错误(Warning Errors)。警告错误不影响程序的运行,但可能会得出错误的结果。此例中无警告错误。 严重错误(Severe Errors)。对于严重错误,MASM将无法生成OBJ文件。此例中有两个严重错误。在错误信息中,园括号里的数字为有错误的行号(在此例中,两个错误分别出现在第
8、6行和第9行),后面给出了错误类型及具体错误原因。如果出现了严重错误,你必须重新进入EDIT编辑器,根据错误的行号和错误原因来改正源程序中的错误,直到汇编没有错为止。 注意,汇编程序只能指出程序的语法错误,而无法指出程序逻辑的错误。4用LINK.EXE产生EXE可执行文件在上一步骤中,汇编程序产生的是二进制目标文件(OBJ文件),并不是可执行文件,要想使我们编制的程序能够运行,还必须用连接程序(LINK.EXE)把OBJ文件转换为可执行的EXE文件。具体操作如下: 方法一:在Windows中操作用资源管理器打开源程序目录C:ASM,把HELLO.OBJ拖到LINK.EXE程序图标上。 方法二:
9、在DOS命令提示符窗口中操作选择“开始”“程序”“附件”“命令提示符”,打开DOS命令提示符窗口,然后用CD命令转到源程序目录下,接着输入LINK命令:I:C: C:CD ASMC:ASMLINK HELLO.OBJ操作时的屏幕显示如图4所示。 图4 把OBJ文件连接成可执行文件不管用以上二个方法中的哪个方法,进入LINK程序后,都会提示让你输入可执行文件名(Run file),并在方括号中显示默认的可执行文件名,建议输入可执行文件的完整路径名,如:C:ASMHELLO.EXE回车。后面的两个提示为可选项,直接按回车。注意,若打开LINK程序时未给出OBJ文件名,则LINK程序会首先提示让你输
10、入OBJ文件名(Object Modules),此时输入OBJ文件名HELLO.OBJ并回车,然后进行的操作与上面完全相同。如果没有错误,LINK就会建立一个HELLO.EXE文件。如果OBJ文件有错误,LINK会指出错误的原因。对于无堆栈警告(Warning:NO STACK segment)信息,可以不予理睬,它不影响程序的执行。如链接时有其它错误。须检查修改源程序,重新汇编、连接,直到正确。5执行程序建立了HELLO.EXE文件后,就可以直接在DOS下运行此程序,如下所示:C:HELLO回车C:程序运行结束后,返回DOS。如果运行结果正确,那么程序运行结束时结果会直接显示在屏幕上。如果程
11、序不显示结果,我们如何知道程序是否正确呢?例如,这里的HELLO.EXE程序并未显示出结果,所以我们不知道程序执行的结果是否正确。这时,我们就要使用TD.EXE调试工具来查看运行结果。此外,大部分程序必须经过调试阶段才能纠正程序执行中的错误,调试程序时也要使用TD.EXE。实验一 数据传送一、 实验目的1 熟悉8086指令系统的数据传送指令及8086的寻址方式。2 利用Turbo Debugger调试工具来调试汇编语言程序。二、 实验预习要求1 复习8086指令系统中的数据传送类指令和8086的寻址方式。2 预习Turbo Debugger的使用方法(见附录二):a) 如何启动Turbo De
12、bugger;b) 如何在各窗口之间切换;c) 如何查看或修改寄存器、状态标志和存储单元的内容;d) 如何输入程序段;e) 如何单步运行程序段和用设置断点的方法运行程序段。3 按照题目要求预先编写好实验中的程序段。三、 实验任务1通过下述程序段的输入和执行来熟悉Turbo Debugger的使用,并通过显示器屏幕观察程序的执行情况。练习程序段如下: MOV BL,08H MOV CL,BL MOV AX,03FFH MOV BX,AX MOV DS:0020H,BX 2用以下程序段将一组数据压入(PUSH)堆栈区,然后通过不同的出栈顺序出栈,观察出栈后数据的变化情况。压栈程序段如下: MOV
13、AX,0102H MOV BX,0304H MOV CX,0506H MOV DX,0708H PUSH AX PUSH BX PUSH CX PUSH DX 出栈程序段请自行编写(用不同的出栈顺序)。3. 指出下列指令的错误并加以改正,上机验证之。(1) MOV BX,SI(2) MOV AH,BX(3) MOV AX,SIDI(4) MOV BYTE PTRBX,2000H(5) MOV CS,AX(6) MOV DS,2000H4. 设置各寄存器及存储单元的内容如下: (BX)0010H,(SI)0001H(10010H)12H,(10011H)34H,(10012H)56H,(1001
14、3H)78H(10120H)0ABH,(10121H)0CDH,(10122H)0EFH说明下列各条指令执行完后AX寄存器中的内容,并上机验证。 (1) MOV AX,1200H (2) MOV AX,BX (3) MOV AX,0120H (4) MOV AX,BX (5) MOV AX,0110HBX (6) MOV AX,BXSI (7) MOV AX,0110HBXSI5. 将DS:1000H字节存储单元中的内容送到DS:2020H单元中存放。试分别用8086的直接寻址、寄存器间接寻址、变址寻址、寄存器相对寻址传送指令编写程序段,并上机验证结果。6. 设AX寄存器中的内容为1111H,
15、BX寄存器中的内容为2222H,DS:0010H单元中的内容为3333H。将AX寄存器中的内容与BX寄存器中的内容交换,然后再将BX寄存器中的内容与DS:0010H单元中的内容进行交换。试编写程序段,并上机验证结果。7. 设(DS)1000H,(ES)2000H,有关存储器的内容如图1.5所示。要求将DS段的内容传送到AX寄存器,ES段的内容传送到BX寄存器,试编写程序段。DS:1000H0FFH0EEH0DDH0CCH ES:2000H图1.5 第7题图实验二 算术逻辑运算及移位操作一、 实验目的1熟悉算术逻辑运算指令和移位指令的功能。2了解标志寄存器各标志位的意义和指令执行对它的影响。二、
16、 实验预习要求1复习8086指令系统中的算术逻辑类指令和移位指令。2按照题目要求在实验前编写好实验中的程序段。三、 实验任务1 实验程序段及结果表格如表1.2: 表1.2标志位CFZFSFOFPFAF程序段1:MOV AX, 1018HMOV SI, 230AHADD AX, SIADD AL, 30HMOV DX, 3FFHADD AX,BXMOV 20H, 1000HADD 20H, AXPUSH AXPOP BX000000程序段2:MOV AX, 0A0AHADD AX, 0FFFFHMOV CX, 0FF00HADC AX, CXSUB AX, AXINC AXOR CX, 0FFH
17、AND CX, 0F0FHMOV 10H, CX000000程序段3: MOV BL, 25HMOV BYTE PTR10H, 4MOV AL, 10HMUL BL000000程序段4:MOV WORD PTR10H,80HMOV BL, 4MOV AX, 10HDIV BL000000程序段5:MOV AX, 0DEC AXADD AX, 3FFFHADD AX, AXNOT AXSUB AX, 3OR AX, 0FBFDHAND AX, 0AFCFHSHL AX,1RCL AX,10000002用BX寄存器作为地址指针,从BX所指的内存单元(0010H)开始连续存入三个无符号数(10H、0
18、4H、30H),接着计算内存单元中的这三个数之和,和放在0013H单元中,再求出这三个数之积,积放0014单元中。写出完成此功能的程序段并上机验证结果。3写出完成下述功能的程序段。上机验证你写出的程序段,程序运行的最后结果(AX)?(1) 传送15H到AL寄存器;(2) 再将AL的内容乘以2;(3) 接着传送15H到BL寄存器;(4) 最后把AL的内容乘以BL的内容。4写出完成下述功能的程序段。上机验证你写出的程序段,程序运行后的商?(1) 传送数据2058H到DS:1000H单元中,数据12H到DS:1002H单元中;(2) 把DS:1000H单元中的数据传送到AX寄存器;(3) 把AX寄存
19、器的内容算术右移二位;(4) 再把AX寄存器的内容除以DS:1002H字节单元中的数;(5) 最后把商存入字节单元DS:1003H中。5下面的程序段用来清除数据段中从偏移地址0010H开始的12个字存储单元的内容(即将零送到这些存储单元中去)。(1) 将第4条比较指令语句填写完整(划线处)。 MOV SI,0010H NEXT: MOV WORD PTRSI,0 ADD SI,2 CMP SI, JNE NEXT HLT(2) 假定要按高地址到低地址的顺序进行清除操作(高地址从0020H开始),则上述程序段应如何修改?上机验证以上两个程序段并检查存储单元的内容是否按要求进行了改变。6 输入并运
20、行表1.3中的程序段,把结果填入表右边的空格中,并分析结果,说明本程序段的功能是什么。表1.3程序段字单元(1A00H)=字单元(1A02H)=MOV 1A00H, 0AA55HMOV 1A02H, 2AD5HSHL WORD PTR1A02H,1 CMP 1A00H, 8000HCMCRCL WORD PTR1A02H,1RCL WORD PTR1A00H,1实验三 串操作一、 实验目的1熟悉串操作指令的功能。2了解串操作指令的使用方法。二、 实验预习要求1复习8086指令系统中的串操作类指令。2按照题目要求在实验前编写好实验中的程序段。三、 实验任务1 输入以下程序段并运行之,回答后面的问
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计 实验 环境 上机 步骤 29
限制150内