资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
汇编语言程序设计的实验环境及上机环节一、 实验环境汇编语言程序设计的实验环境如下:1. 硬件环境微型计算机(nte x6系列CPU)一台2. 软件环境n Widows8/X操作系统n 任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltEDIT等)n 汇编程序(MASM.EE或TA.EXE)n 连接程序(LNK.EXE或TLINK.EXE)n 调试程序(DEBUGXE或EE)文本编辑器建议使用DIT或NOEPAD,汇编程序建议使用ASEE,连接程序建议使用LIKEXE,调试程序建议使用TDEXE。二、上机实验环节注:如下环节合用于除汇编语言程序设计的实验一到实验四外的所有实验(实验一到实验四仅使用TD.EXE)。1拟定源程序的寄存目录建议源程序寄存的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。如果没有创立过此目录,请用如下措施创立:通过Windws的资源管理器找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”“文献夹”,并把新建的文献夹命名为S。请把MASM.EXE、INK.XE、DENUGEX和TD.EE都拷贝到此目录中。2建立SM源程序建立源程序可以使用IT或OTEPAD(记事本)文本编辑器。下面的例子阐明了用EDI文本编辑器来建立M源程序的环节(假定要建立的源程序名为LLAM),用NOEPAD(记事本)建立SM源程序的环节与此类似。在Win中点击桌面左下角的“开始”按钮选择“运营”在弹出的窗口中输入“EI.CO :ASEL.ASM”,屏幕上浮现EDIT的编辑窗口,如图1所示。 图1 文本编辑器EDT的编辑窗口窗口标题行显示了EIT程序的完整途径名。紧接着标题行下面的是菜单行,窗口最下面一行是提示行。菜单可以用lt键激活,然后用方向键选择菜单项,也可以直接用t-F打开File文献菜单,用Alt-打开Edt编辑菜单,等等。如果键入EIT命令时已带上了源程序文献名(C:AMHELL.ASM),在编辑窗口上部就会显示该文献名。如果在键入DI命令时未给出源程序文献名,则编辑窗口上会显示“UTLED”,表达文献还没有名字,在这种状况下保存源程序文献时,EDT会提示输入要保存的源程序的文献名。编辑窗口用于输入源程序。EDT是一种全屏幕编辑程序,故可以使用方向键把光标定位到编辑窗口中的任何一种位置上。EIT中的编辑键和功能键符合Windos的原则,这里不再赘述。源程序输入完毕后,用lt打开Fle菜单,用其中的Save功能将文献存盘。如果在键入EIT命令时未给出源程序文献名,则这时会弹出一种“ve as”窗口,在这个窗口中输入你想要保存的源程序的途径和文献名(本例中为C:SLO.AS)。注意,汇编语言源程序文献的扩展名最佳起名为ASM,这样能给背面的汇编和连接操作带来很大的以便。3.用MA.EXE汇编源程序产生BJ目的文献源文献HELO.AS建立后,要使用汇编程序对源程序文献汇编,汇编后产生二进制的目的文献(.BJ文献)。具体操作如下: 措施一:在Windos中操作用资源管理器打开源程序目录C:ASM,把HELLO.ASM拖到MSMEXE程序图标上。 措施二:在DOS命令提示符窗口中操作选择“开始”“程序”“附件”“命令提示符”,打开DS命令提示符窗口,然后用D命令转到源程序目录下,接着输入MSM命令:C: C:CDAM:AMASM HELLASM操作时的屏幕显示如图所示。 图2 在DO命令提示符窗口中进行汇编不管用以上二个措施中的哪个措施,进入MS程序后,都会提示让你输入目的文献名(becene),并在方括号中显示默认的目的文献名,建议输入目的文献的完整途径名,如:C:MHLLOJ回车。背面的两个提示为可选项,直接按回车。注意,若打开MAS程序时未给出源程序名,则MAM程序会一方面提示让你输入源程序文献名(Sorc fileme),此时输入源程序文献名HLLO.ASM并回车,然后进行的操作与上面完全相似。图 有错误的汇编过程例子如果没有错误,MM就会在目前目录下建立一种LO.OBJ文献(名字与源文献名相似,只是扩展名不同)。如果源文献有错误,MASM会指出错误的行号和错误的因素。图3是在汇编过程中检查出两个错误的例子。在这个例子中,可以看到源程序的错误类型有两类: 警告错误(Warnig Errors)。警告错误不影响程序的运营,但也许会得出错误的成果。此例中无警告错误。 严重错误(Sere rrr)。对于严重错误,MASM将无法生成BJ文献。此例中有两个严重错误。在错误信息中,园括号里的数字为有错误的行号(在此例中,两个错误分别出目前第6行和第9行),背面给出了错误类型及具体错误因素。如果浮现了严重错误,你必须重新进入E编辑器,根据错误的行号和错误因素来改正源程序中的错误,直到汇编没有错为止。注意,汇编程序只能指出程序的语法错误,而无法指出程序逻辑的错误。.用NK.EX产生E可执行文献在上一环节中,汇编程序产生的是二进制目的文献(OB文献),并不是可执行文献,要想使我们编制的程序可以运营,还必须用连接程序(IN.EXE)把OJ文献转换为可执行的EX文献。具体操作如下: 措施一:在Wdos中操作用资源管理器打开源程序目录:A,把L.J拖到LIN.EE程序图标上。 措施二:在DOS命令提示符窗口中操作选择“开始”“程序”“附件”“命令提示符”,打开DOS命令提示符窗口,然后用CD命令转到源程序目录下,接着输入LINK命令:I:C:回车 C:D AC:ASIK HLLO.OB操作时的屏幕显示如图4所示。 图4 把B文献连接成可执行文献不管用以上二个措施中的哪个措施,进入LIN程序后,都会提示让你输入可执行文献名(Ru fi),并在方括号中显示默认的可执行文献名,建议输入可执行文献的完整途径名,如:C:ASMHELLEXE回车。背面的两个提示为可选项,直接按回车。注意,若打开LINK程序时未给出OBJ文献名,则INK程序会一方面提示让你输入OBJ文献名(bjct dules),此时输入OJ文献名HLO.O并回车,然后进行的操作与上面完全相似。如果没有错误,LIN就会建立一种HEO.EXE文献。如果OBJ文献有错误,IN会指出错误的因素。对于无堆栈警告(Waring:NTAC en)信息,可以不予理睬,它不影响程序的执行。如链接时有其他错误。须检查修改源程序,重新汇编、连接,直到对的。5执行程序建立了HLO.X文献后,就可以直接在DOS下运营此程序,如下所示::HELL回车C:程序运营结束后,返回DO。如果运营成果对的,那么程序运营结束时成果会直接显示在屏幕上。如果程序不显示成果,我们如何懂得程序与否对的呢?例如,这里的HLO.X程序并未显示出成果,因此我们不懂得程序执行的成果与否对的。这时,我们就要使用D.EX调试工具来查看运营成果。此外,大部分程序必须通过调试阶段才干纠正程序执行中的错误,调试程序时也要使用TD.EXE。有关如何使用D.EXE程序的简要阐明请读者参阅T简要使用阐明和D使用入门的10个HwTo。实验一 数据传送一、 实验目的1 熟悉806指令系统的数据传送指令及8086的寻址方式。2 2运用TurbDebuer调试工具来调试汇编语言程序。二、 实验预习规定1 复习8086指令系统中的数据传送类指令和808的寻址方式。2 预习urbo Debugr的使用措施(见附录二):a) ) 如何启动Trbo ebugger;b) )如何在各窗口之间切换;c) c)如何查看或修改寄存器、状态标志和存储单元的内容;d) d) 如何输入程序段;e) e) 如何单步运营程序段和用设立断点的措施运营程序段。3 按照题目规定预先编写好实验中的程序段。三、 实验任务.通过下述程序段的输入和执行来熟悉Turbo Debuge的使用,并通过显示屏屏幕观测程序的执行状况。练习程序段如下: MOV B,8 MO C,B MV X,FF MOV BX,X OV DS:02H,B .用如下程序段将一组数据压入(US)堆栈区,然后通过不同的出栈顺序出栈,观测出栈后数据的变化状况。压栈程序段如下: MOV AX,02H O BX,004H MO CX,0506H MO DX,708 PUSH X PUS B PSH CX PU D 出栈程序段请自行编写(用不同的出栈顺序)。 指出下列指令的错误并加以改正,上机验证之。() MOV B,SI(2) OV AH,BX(3)MOV AX,IDI(4) MOV BYTE PTRBX,H(5) MV CS,(6) MOV S,H环节: (1)编辑语句:发现只有第五个指令没有发现错误,但并不代表它没有错,通过如下验证可以发现第五个指令也有错误:选择忽视后发现运营成果错误,并未完毕指令:因素:CS是代码段寄存器,S如果被修改程序就无法执行。因此无法改正。(2).改正这些错误指令:(3).运营:4. 设立各寄存器及存储单元的内容如下: (B)010H,(SI)001H(100H)=12H,(11H)=4H,(1001H)56H,(11H)=7(101H)ABH,(011H)CDH,(1122H)0EFH阐明下列各条指令执行完后A寄存器中的内容,并上机验证。 () MOV AX,1200H (2) O AX,B (3) MOV X,01H ()MOV X,BX (5) MV AX,010BX ()M A,BX (7) OV AX,011HBXSI5. 将DS:1000H字节存储单元中的内容送到S:H单元中寄存。试分别用6的直接寻址、寄存器间接寻址、变址寻址、寄存器相对寻址传送指令编写程序段,并上机验证成
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号