序停止汇编。四、实验内容1、MASM6.11的安装、设置步骤(1)找到MASM6中DISK1的SETUP.EXE程序,按照提示安装该软件包,可以安装在硬盘的任何一个分区。(2)假设安装在D盘,那么安装完成后在目录D:IMASM61I\INIT中有一个名为TOOLS.PRE的文件,复制该文件并改名为TOOLS.INI.。(3)运行D:IMASM611\BIN下面的集成开发环境PWB。(4)在PWB环境中,选择Options菜单,打开BuildOptions命令,选择生成可执行文件为调试类型。(5)开始编写程序或者调入已有的程序,(6)写好程序后,选择相应菜单中命令进行汇编,链接,调试,如果有错误进行修改。2、程序示例(1)编辑程序。按照以上方法打开pwb,弹出如下界面:3
序停止汇编。 四、实验内容 1、MASM6.11 的安装、设置步骤 (1)找到 MASM6 中 DISK1 的 SETUP.EXE 程序,按照提 示安装该软件包,可以安装在硬盘的任何一个分区。 (2)假设安装在 D 盘,那么安装完成后在目录 D:\MASM611\INIT\中有一个名为 TOOLS.PRE 的文件,复 制该文件并改名为 TOOLS.INI.。 (3)运行 D:\MASM611\BIN 下面的集成开发环境 PWB。 (4)在 PWB 环境中,选择 Options 菜单,打开 Build Options 命令,选择生成可执行文件为调试类型。 (5)开始编写程序或者调入已有的程序。 (6)写好程序后,选择相应菜单中命令进行汇编,链接,调 试,如果有错误进行修改。 2、程序示例 (1)编辑程序。按照以上方法打开 pwb,弹出如下界面: 3
FileEditSearch ProjectRunBrovseWindowHelOmtionsUntitled.Bai1图2从键盘输入下列程序,该程序可以实现在屏幕上显示“hello,world!”的功能:DATASEGMENT;定义一个数据段STRRDBHELLO,WORLD!S;定义一个数据区存放字符串DATAENDSSTACK SEGMENT STACKDB200DUP(?)STACKENDSCODE SEGMENTASSUMECS:CODE.DS:DATA;定义CODE段为代码段,DATA段为数据段4
图 2 从键盘输入下列程序,该程序可以实现在屏幕上显 示“hello,world!”的功能: DATA SEGMENT ;定义一个数据段 STRR DB 'HELLO,WORLD!$' ;定义一个数据区存放字 符串 DATA ENDS STACK SEGMENT STACK DB 200 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA ;定义 CODE 段为代码段,DATA 段为数据段 4
START:MOVAXDATAMOVDS,AX;取数据区的首地址偏移量给DXLEADX,OFFSET STRRMOVAH,09H;调用DOS中断,显示HELLO,WORLD!字符串INT21H;返回DOSMOVAH,4CHINT21HCODEENDSENDSTART输完后程序存盘。用鼠标点击file菜单下的saveas...,弹出如下对话框为程序命名为testl.asm,并指定存放路径为d:lmasm611lbin,然后点OK。5
START: MOV AX,DATA MOV DS,AX LEA DX,OFFSET STRR ;取数据区的首地址偏移量给 DX MOV AH,09H ;调用 DOS 中断,显示 HELLO,WORLD!字符串 INT 21H MOV AH,4CH ;返回 DOS INT 21H CODE ENDS END START 输完后程序存盘。用鼠标点击 file 菜单下的 save as.,弹出如下对话框为程序命名为 test1.asm,并指定存 放路径为 d:\masm611\bin,然后点 OK。 5
FileEditSearchPnoiectRurOntionsBrovseWindowHelrIntitled-tSaveAsFileName:[testi.asnD:\MASM611\BINFile List:Drives/Dirs:OK<Cance1)<Help>图3(2)对汇编源文件进行汇编,汇编成功后生成二进制目标文件.obj。操作方法:点击project菜单,弹出菜单如下所示:
图 3 (2)对汇编源文件进行汇编,汇编成功后生成二进制目 标文件.obj。 操作方法:点击 project 菜单,弹出菜单如下所示: 6
EditPileSearchPro.iectRunOptionsBrowseWindowHelCompileFile:testi.asndata segnentuildFiexeRebuildAiistrr dhhello,woBuild Targetlata endsstacksegmentstacdh 100dup<?ew Project.stack endsOpen Project...Edit Projectcode segnentClose Projectassune csicode,start:Next ErrorShift+F3ax,dataShift+F4Previous Errornounou ds,.axGoto Errorleadx,offsetnoUah,09hint21hah,4chnouint21hcode endsend start图4选择complefile,若无语法错误,则会出现如下提示,回车后可进行连接。BuildOperationCompleteCompiletesti.asn0Errors/Warnings<UiewResults><Run Progran><DebugProgram>Gancel)<Help)图5若有语法错误,则会出现错误个数,若想得到详细错误提示,则选择viewresults项或按V键。只有修改了所有的错误,才可以生成.obj文件。(3)对目标文件进行连接,连接成功后生成可执行性程序.exe。操作方法是点击project菜单下的build项,若连接成7
图 4 选择 comple file,若无语法错误,则会出现如下提示,回 车后可进行连接。 图 5 若有语法错误,则会出现错误个数,若想得到详细 错误提示,则选择 view results 项或按 V 键。只有修改了 所有的错误,才可以生成.obj 文件。 (3)对目标文件进行连接,连接成功后生成可执行性程 序.exe。 操作方法是点击 project 菜单下的 build 项,若连接成 7