文档库 最新最全的文档下载
当前位置:文档库 › MASM_6.11安装方法

MASM_6.11安装方法

MASM_6.11安装方法
MASM_6.11安装方法

实验1 MASM 6.11的安装与设置

主题:[07计应(3)班] | | 浏览数(1568) | 评论数(0) | 2008-12-16 1 实验目的

⒈ 实验MASM 6.11的安装方法。

⒉ 实验MASM 6.11的启动方法。

⒊ 实验MASM 6.11的设置方法。

2 预习要求

⒈认真阅读实验指导中实验1的内容。

⒉了解本次实验的各项要求。

⒊认真阅读教材中的附录。

3 实验内容

⒈ MASM 6.11的安装

⒉ MASM 6.11的启动

⒊ MASM 6.11的设置

4 实验环境

⒈ 硬件:PC计算机。

⒉ 软件:Windows 98操作系统。

5 实验过程

5.1 MASM

6.11的安装

5.1.1 安装前的准备工作

1. 安装MASM 6.11的操作系统要求为Windows 98。

2. 在D∶\盘或别的硬盘上建一个文件夹。今假设在D∶\盘上建立一个如下的文件夹:“D∶\xxxxxyyyyyy”,其中“xxxxx”是班级名,“yyyyyy”是本人姓名。

3. 从教师机上下载文件夹“MASM611SETUP”及其内容,并放入文件夹“D∶\xxxxxyyyyyy”。

4. 在文件夹“D∶\xxxxxyyyyyy”下建立一个如下的工作目录:“D∶\xxxxxyyyyyy \mymasm”,以备将来在工作的时候存放MASM 6.11汇编语言源文件、目标文件、可执行文件。

5.1.2 安装过程

1. 打开MASM611SETUP文件夹,运行“Setup”。

2. 在出现“Microsoft MASM 6.11 Setup”屏幕之后,按“ENTER”键。

3. 在出现的“Microsoft MASM 6.11 Setup Main Menu”屏幕上,

选中“Install the Microsoft Macro Assembler” ,按“ENTER”键。

4. 在出现的“Microsoft MASM 6.11 Setup System Configuration”屏幕上,

选中“MS-DOS/Microsoft WINDOWS”,按“ENTER”键。

5. 在出现的“Microsoft MASM

6.11 Setup Microsoft Windows Files”屏幕上,对于“Install Files for Microsoft Windows?”,选中“Yes”,按“ENTER”键。

6. 在出现的“Microsoft MASM 6.11 Setup Programmer’s Work B ench”屏幕上,对于“Install PWB?”,选中“Yes”,按“ENTER”键。

7. 在出现的“Microsoft MASM 6.11 Setup Brief Compatibility”屏幕上,

对于“Install Brief Compatibility?”,选中“No”,按“ENTER”键。

8. 在出现的“Microsoft MASM 6.11 Setup Mouse Driver”屏幕上,

对于“Copy the Micr osoft Mouse Driver?”,选中“Yes”,按“ENTER”键。

9. 在出现的“Microsoft MASM 6.11 Setup MAS.EXE Utility” 屏幕上,

对于“Install the MASM.EXE Utility?”,选中“Yes”,按“ENTER”键。

10. 在出现的“Microsoft MASM 6.11 Setup Help Files”屏幕上,

对于“Copy the Help Files?”,选中“Yes”,按“ENTER”键。

11. 在出现的“Microsoft MASM 6.11 Setup Sample Programs” 屏幕上,

对于“Copy the Sample Programs?”,选中“Yes”,按“ENTER”键。

12. 在出现的“Microsoft MASM 6.11 Setup Destination Drive” 屏幕上,

对于“Please Select the Destination Drive∶”中所列出的硬盘驱动器,可任选其一,此处选中“Hard Drive D”,按“ENTER”键。

13. 在出现的“Microsoft MASM 6.11 Setup Executable Files” 屏幕上,

对于“D∶MASM611\BIN”,不改变,按“ENTER”键。

14. 在出现的“Microsoft MASM 6.11 Setup Library Files” 屏幕上,

对于“D∶\ MASM611\LIB”,不改变,按“ENTER”键。

15. 在出现的“Microsoft MASM 6.11 Setup Include Files” 屏幕上,

对于“D∶\ MASM611\INCLUDE”,不改变,按“ENTER”键。

16. 在出现的“Microsoft MASM 6.11 Setup Initialization Files” 屏幕上,

对于“D∶MASM611\INIT”,不改变,按“ENTER”键。

17. 在出现的“Microsoft MASM 6.11 Setup Help Files” 屏幕上,

对于“D∶MASM611\HELP”,不改变,按“ENTER”键。

18. 在出现的“Microsoft MASM 6.11 Setup Sample Files” 屏幕上,

对于“D∶MASM611\SAMPLES”,不改变,按“ENTER”键。

19. 此后,出现“Microsoft MASM 6.11 Setup Confirm Your Choices”屏幕,列出了前面各步所做出的各项选择的清单,供用户校核。如果发现有选择不当的项目,依然可以进行修改。

修改的方法是:先用箭头键选中欲修改的项目,按“ENTER”键,然后再用箭头键选中“Yes”或“No”,最后再按“ENTER”键。

如果校核无误,可以按“ENTER”键,以给出确认信息。

20. 此后,出现“Microsoft MASM 6.11 Setup Installing”屏幕,安装程序进行拷贝文件的操作,此时仅需等待一会儿。

21. 拷贝文件操作结束之后,出现“Microsoft MASM 6.11 Setup Installation Complete”屏幕,按“CTRL+C”键,退出安装。

5.2 MASM

6.11的启动

MASM 6.11的人机操作接口有两类窗口:一类是PWB(Programmer’s Work Bench)窗口,支持用户进行汇编语言源程序文件的编辑、汇编和链接操作。另一类是CodeView窗口,支持用户进行各种调试操作。

MASM 6.11的启动过程是:首先启动PWB的主窗口,然后通过PWB的主窗口,再启动PWB的其他子窗口和启动CodeView类窗口。

PWB主窗口的启动方法如下:

1. 打开“D∶MASM611\INIT”,把其中的文件“Tools.pre”改名为“Tools.ini”。

2. 打开“D∶MASM611\BIN”,运行其中的文件“PWB.EXE”,屏幕上即会出现PWB的主窗口。

5.3 MASM

6.11 PWB的设置

通常在使用PWB以前,需要进行设置,请按以下过程对MASM 6.11 PWB进行设置:

5.3.1“Editor Settings”项目的设置

在PWB的主窗口中,单击“Options”。然后,在弹出的选单上,单击“Editor Settings”。此后,会弹出“Editor Settings”窗口。接着,在“Editor Settings”窗口中,应进行开关“autosave”、“envcursave”和“envprojsave”的修改设置,即把它们由“no”改为“yes”,方法如下:

1. 在“Switch List”项目下列出的开关清单上,单击欲修改设置的开关。

2. 在“Switch”项目下,进行开关的状态修改,每次一个开关。

3. 单击“Set Switch”。

4. 重复A、B、C三步,直至把欲修改设置的开关全部完成为止。

5. 单击“Save”。

6. 在弹出的“Save Editor Settings”窗口中,检查“Modified Switches List”项目下所列出的开关清单应正确无误,之后单击“OK”。

7. 单击“Editor Settings”窗口中的“OK”。

8. 结束。

5.3.2“Environment Variables”项目的设置

在PWB的主窗口中,单击“Options”。然后,在弹出的选单上,单击“Environment Variables”。此后,会弹出“Environment Variables”窗口。接着,在Environment Variables”窗口中,在原有的“PATH=”行上增加“D∶\mymasm”和“D∶\MASM611\BIN”两项,从而把原有的“PATH=”行修改为:

PATH=D∶\mymasm;D∶\MASM611\BIN;C∶\WINDOWS;C∶\WINDOWS\COMMAND,

其中的“D∶\mymasm”,为用户在启动PWB之前自建的工作目录。增加如下项目:

LIB=D∶\MASM611\LIB,

INCLUDE=D∶\MASM611\INCLUDE,

INIT=D∶\MASM611\INIT

HELPFILES=D∶\MASM611\HELP\*.HLP,

ASMEX=D∶\MASM611\SAMPLES。

修改和增加项目的方法如下:

1. 在“Variable”项目下输入欲修改或增加的项目。

2. 单击“Set Variable”。

3. 重复A、B两步,直至欲修改和增加的项目全部完成为止。

4. 单击“OK”。

5. 结束。

5.3.3“Build Options”项目的设置

在PWB的主窗口中,单击“Options”。然后,在弹出的选单上,单击“Build Options ”。此后,会弹出“Build Options”窗口。接着,在“Build Options ”窗口中,选中“Use Debug Options”。单击“OK”。结束。

6 实验结果处理

学生在按照5中要求完成MASM 6.11的安装、启动、设置之后,报告老师检查、通过即可。

本次实验不要求写实验报告。

实验2 熟悉MASM 6.11汇编语言环境

主题:[07计应(3)班] | | 浏览数(434) | 评论数(0) | 2008-12-16 1 实验目的

⒈ 实验建立汇编语言源程序文件的方法。

⒉ 实验建立可执行程序文件的方法。

⒊ 实验调试可执行程序的方法。

2 预习要求

⒈认真阅读实验指导中实验2的内容。

⒉了解本次实验的各项要求。

⒊认真阅读教材中的附录。

3 实验内容

⒈ 建立汇编语言源程序文件。

⒉ 建立可执行程序文件。

⒊ 调试可执行程序。

4 实验环境

⒈ 硬件:PC计算机。

⒉ 软件:Windows 98操作系统、MASM 6.11汇编语言。

5 实验过程

5.1 建立汇编语言源程序文件

建立汇编语言源程序文件的过程是:首先启动PWB主窗口,然后再调用编辑程序。具体操作按下列步骤进行:

1. 启动PWB。

2. 点击“File”。

3. 点击“New”。

4. 在“Editor”窗口弹出后,把下列汇编语言源程序打入计算机。

.model small ;初始化内存模型为代码段和数据段各一个

.data ;以下为定义数据段

string byte 20h,20h,41h,42h,43h,0dh ;空格、A、B、C和回车的ASCII代码

index byte ? ;预留一个字节单元

.stack 40h ;定义堆栈区的大小为40个字节单元

.code ;以下为定义代码段

start: mov ax,@data ;数据段基址传送到ax

mov ds,ax ;初始化数据段ds

mov bx,-1 ;进入循环前,(bx)初始化为-1

next: inc bx ;(bx)增量1

cmp string[bx],0dh ;(string)与0dh(回车的ASCII码)比较

jz nospace

cmp string[bx],20h ;(string)与20h(空格的ASCII码)比较

jz next ;是空格时循环

jne ok

nospace: mov bl,0ffh

ok: mov index,bl

.exit

end start

5. 点击“File”。

6. 点击“Save as……”。

7. 在弹出的窗口中,在“File Name”项目下输入自己命名的汇编语言源程序文件名。假设此处的汇编语言源程序文件命名为“space.asm”,事先所建立的工作目录为“mymasm”,驱动器名为“D∶”,则在“File Name”项目下应输入:“D∶\ mymasmspace.asm”。如果要使用与上述不同的汇编语言源程序文件名、工作目录和驱动器名,则应作相应的修改。

8. 点击“OK”。

5.2 建立可执行程序文件

在本实验中,采用把汇编和链接两步操作连起来进行的方法。结果,可由“.asm”文件生成“.exe”文件。具体操作按下列步骤进行:

1. 在PWB主窗口中,单击“File”。

2. 在弹出的选单上,单击“Open”。

3. 转到自建的“mymasm”工作目录中,打开“space.asm”文件。

4. 在PWB主窗口中,单击“Project”。

5. 在弹出的选单上,单击“Build:space.exe”。

6. 在弹出的“Build Operation Complete” 窗口中,可以单击“View Results”查看汇编和链接的结果。如发现有错误产生时,右键单击该错误的数字代码,即可查看其原因。然后,重新编辑并纠正源程序文件中的错误,之后再汇编和链接,并生成可执行程序文件,直至正确无误为止。

7. 结束。

5.3 调试可执行程序

调试可执行程序文件“space.exe”,应在CodeView类窗口中进行。常用的CodeView类窗口,主要有CodeView主窗口,显示源程序(内存代码段CS中指令代码的反汇编)的窗口“source x”,显示寄存器内容的窗口“register”,显示数据(内存数据段)的窗口“memory x”,监视变量值的窗口

“watch”,断点设置窗口“Set Breakpoint”,断点编辑窗口“Edit Breakpoints”和命令窗口“command”。

5.3.1“source x” 窗口的应用

“source x” 窗口包含“source 1”和“source 2”两个窗口,他们可以用不同的格式显示内存代码段CS中的反汇编指令代码,以方便错误分析。这样,我们可以利用“source x” 窗口显示内存代码段CS中的反汇编指令代码的功能,检查进入内存代码段CS中的指令代码是否符合程序的要求。

启动“source 1”窗口,既可以从PWB主窗口中启动,也可以从CodeView主窗口中的“Windows”选单上启动。“source 2”窗口则仅能从CodeView主窗口中的“Windows” 选单上启动。

从PWB主窗口中,启动“source 1”窗口的方法如下:

1. 在PWB主窗口中,单击“Run”。

2. 在弹出的选单上,单击“Debug:space.exe”。

3. 在弹出CodeView主窗口的同时,“source 1”窗口也被启动,其名称为:“source 1 CS:IP space.asm”。

如欲启动“source 2”窗口,在CodeView主窗口中,单击“Windows” 选单项目,在弹出的选单上,再单击“source 2”即可。

在使用“source x”窗口之前,如能进行必要的设置,则会给调试工作带来很大方便。在对“source x”窗口进行设置之前,必须先激活“source 1”或“source 2”窗口。以“source 1” 窗口为例,具体的設置方法如下:

1. 在CodeView主窗口中,单击“Options”。

2. 在弹出的选单上,单击“Source 1 Window”。

3. 在弹出的“Source 1 Window Options”窗口中,主要的项目有“Display Mode”(显示方式选项)和“Disassembly Options”(反汇编选项)。

在“Display Mode”项目下,共有三个单选项:“Source”(显示源程序指令代码行)、“Mixed Source and Assembly”(混合显示源程序指令代码行和反汇编指令代码行)和“Assembly”(显示反汇编指令代码行)。每次设置仅可以从中选中一个。通常情况下,可以选中“Source”。

对于“Source” 选项,以格式“行号∶源程序指令代码”,显示源程序指令代码行。对于“Mixed Source and Assembly” 选项,一行是与“Source”方式下相同的源程序指令代码行,紧接着的下一行是与“Assembly” 方式下相同的标准反汇编指令代码行。对于“Assembly” 选项,指令代码行的显示格式与“Disassembly Options”项目下的设置相一致,即“CS∶IP指令机器代码反汇编指令代码”。

在“Disassembly Options”项目下共有四个复选项:“Show Machine Code”(显示指令机器代码)、“Show addresses”(显示地址CS∶IP)、“Lower Case Instructions”(用小写字母显示源程序指令代码)和“Show Symbolic Name”(显示符号名)。可以根据需要选中他们。通常情况下,可以选中“Show Machine Code”、“Show addresses”、和“Show Symbolic Name”。

4. 单击“OK”。

5.3.2“register”窗口的应用

在调试程序的过程中,CPU各寄存器内容的变化情况,对发现错误是至关重要的。为了有效地监视CPU各寄存器内容的变化情况,这就要用到“register“窗口。此窗口的启动与设置方法如下:

1. 在CodeView主窗口中,单击“Windows”。

2. 在弹出的选单上,单击“Register”。

3. 在弹出的“register”窗口中,不仅显示出了CPU各寄存器的内容,而且还可以进行修改。

4. 请注意记录CPU各寄存器内容的变化情况,以备在设置“memory x”窗口和分析错误时使用。例如,在设置“memory x”窗口时,就要用到数据段寄存器DS和ES的内容。

在“register”窗口的上部,显示的是CPU各个寄存器的当前值。在隐含情况下,显示16位寄存器的当前值。如欲显示32位寄存器的当前值,可按如下方法进行设置:

1. 在CodeView主窗口中,单击“Options”。

2. 在弹出的选单上,单击“32-Bit Registers”。

3. 命令“32-Bit Registers”具有开关性质,即该命令可以在16位寄存器显示和32位寄存器显示之间切换。

在“register”窗口的下部,显示的是CPU中FLAGS寄存器中常用的8个标志位的状态,上边1行显示的是OF、DF、IF、SF等4个标志位的状态,下边1行显示的是ZF、AF、PF、CF等4个标志位的状态,8个标志位状态的显示方法如表2.1所示。

表2.1 8个标志位的位号、名称与状态的显示方法

标志位在FLAGS寄存器中的位号与名称标志位的状态

位号缩写全称10

b11OF Overflow Flag OV NV

b10DF Direction Flag DN UP

b9IF Interrupt Flag EI DI

b7SF Sign Flag NG PL

b6ZF Zero Flag ZR NZ

b4AF Auxiliary carry Flag AC NA

b2PF Parity Flag PE PO

b0CF Carry Flag CY NC

5.3.3“watch”窗口的应用

在调试程序的过程中,经常需要监视变量在程序执行过程中的变化情况,以便发现该程序所引用的变量中的原始数据和执行该程序所产生的结果数据是否正确。这就要用到“watch”窗口。此窗口的启动与设置方法如下:

1. 在CodeView主窗口中,单击“Data”。

2. 在弹出的选单上,单击“Add Watch”。

3. 在弹出的“Add Watch”窗口中,可在Expression:[……]项目的会话框中输入变量名,例如源程序文件“space.asm”中的变量名“index”。

注意,如果仅输入变量名时,系统以隐含方式显示变量的值,以下输入方式可以改变隐含方式:index,d—带符号十进制整数方式显示变量index的值。

index,u—无符号十进制整数方式显示变量index的值。

index,x—十六进制整数方式显示变量index的值。

4. 单击“OK”。

5.3.4“Memory x”窗口的应用

“Memory x”窗口包含“Memory 1”和“Memory 2”两个窗口,他们可以显示内存数据段DS中不同区域的数据。这样,我们可以利用“Memory x” 窗口显示内存数据段DS中不同区域数据的功能,

检查程序所引用的原始内存数据和执行该程序所产生的内存结果是否正确。

对于“Memory 1”和“Memory 2” 两个窗口,都应该先启动/激活,后设置。启动/激活“Memory 1”和“Memory 2” 两个窗口的方法完全相同。此处,以“Memory 1” 窗口的启动/激活、设置为例,具体的方法如下:

启动/激活“Memory 1”窗口的方法如下:

1. 在CodeView主窗口中,单击“Windows”。

2. 在弹出的选单上,单击“Register”。

3. 执行“Step”命令两次(“Step”命令按钮位于CodeView主窗口底部),记录(DS)。

4. 在CodeView主窗口中,再次单击“Windows”。

5. 在弹出的选单上,单击“Memory 1”。

6. 弹出名为“Memory1 b DS∶0”的窗口。

7. 在CodeView主窗口中,单击“Options”。

8. 在弹出的选单上,单击“Memory 1 Window”。

9. 在弹出的“Memory 1 Window Options”窗口中,项目“Address Expression”和“Display Format”需要设置。

在“Address Expression”项目的会话框中,以与C语言兼容的格式输入欲查看的DS段数据区地址:0xnnnn:0xnnnn(n为十六进制数字)。

在“Display Format”项目下,列有六个选项,可从中任选一个,一般可选中“Byte”项。

例如,如果在“source 1”窗口中执行“Step”命令查看到的DS的内容为“1D77”时,则可以输入“0x1D77∶0x0000”。此后,在“memory1 b 0x1D77∶0x0000”窗口中即可看到源程序文件“space.asm”中定义的字符串“20h,20h,41h,42h,43h,0dh”。

10. 单击“OK”。

5.3.5 断点的设置

通过设置断点的方法,可把程序分成若干段,以达到隔离错误,方便调试的目的。

⑴ 设置单个断点

设置单个断点的具体方法如下:

1. 在CodeView主窗口中,单击“Data”。

2. 在弹出的选单上,单击“Set Breakpoint”。

3. 在弹出的“Set Breakpoint”窗口中,上部列有五个单选项目,可从中任选一个,一般可选中“Break at Location”项目。在位于该窗口下部的“Location:[……]”项目的会话框中,输入断点地址,其形式可以为“.行号”或“CS∶IP”,视“source x”窗口选用的显示格式而定。

⑵ 设置多个断点

如欲设置多个断点时,可按以下方法进行:

1. 在Code View主窗口中,单击“Data”。

2. 在弹出的选单上,单击“Edit Breakpoints”。

3. 在弹出的“Edit Breakpoints”窗口中,单击“Add”。

4. 此时会弹出与⑴中同样的“Set Breakpoint”窗口,进行与⑴中同样的操作,直至全部断点设

置完成为止。

5. 单击“OK”。

5.3.6 CodeView环境中程序的执行

⑴ 复位操作

在调试有错误的程序时,经常会出现程序混乱的情况,此时则需要对程序进行复位操作,即复位IP,使其内容为0h。方法如下:

1. 在CodeView主窗口中,单击“Run”。

2. 在弹出的选单中单击“Restart”。

⑵ 选择执行方式

在调试程序的过程中,需要从“跟踪(Trace)”、“单步(Step)”、“执行(Go)”等方式中选择不同的执行方式,以方便调试。在CodeView主窗口的底部有“Trace”、“Step”、“Go”命令可供选用,只需单击相应的命令即可。也可以在“command”窗口中输入相应的命令。

如在CodeView主窗口的底部,单击“Trace”和“Step”时,二者都是只执行一条指令便会停下来。如果在“command”窗口中,输入“T (Trace)条数”命令时,则会执行“条数”所指定的指令数后才停下来。“Trace”和“Step” 二者最重要的区别是:在执行“Step” 命令的过程中,如碰到过程(即子程序)或中断服务程序时,则不进入而跳过去。但“Trace” 命令则不同,如碰到过程或中断服务程序时,则会继续跟踪执行。

5.3.7“command”窗口的应用

“command”窗口主要实现两项功能,一是显示程序执行的状态/错误信息,二是允许输入DEBUGGER (调试程序)的各种命令并执行之。

“command”窗口的启动方法如下:

1. 在CodeView的主窗口中,单击“Windows”。

2. 在弹出的选单上,单击“Command”。

3. “command”窗口弹出到屏幕上。

CodeView提供的调试功能实际上有两种,一是上述介绍的带鼠标用户接口的窗口式调试功能,二是传统的DEBUGGER(命令行)式调试功能。DEBUGGER式调试功能共提供五十五条命令,他们可以在“command”窗口中输入和执行。

6 实验结果处理

学生在按照5中要求完成建立汇编语言源程序文件、建立可执行程序文件、调试可执行程序的各项工作之后,报告老师检查、通过即可。

本次实验不要求写实验报告。

相关文档