MASM6使用简介
- 格式:doc
- 大小:1.08 MB
- 文档页数:13
项目一Mastercam X6概述【学习目标】1.了解MasteramX6系统的模块组成、主要特点、功能及工作界面。
2.熟练掌握命令的输入、自动抓点方式设置、文件操作管理、定制工其栏。
1.1 Mastercam X6 系统概述Mastercam 是美国CNC公司开发的基于PC 平台的CAD/CAM软件。
该软件自1984 年问世以来,就以其强大的三维造型与加工功能闻名于世。
软件虽然不如工作站级软件功能全、模块多,但具有很大的灵活性。
它对硬件的要求不高,可以在一般的微机上运行,且操作简单方便,易学易用,目前已被广泛用于机械制造业、汽车、造船、模具及家电等领域。
Mastercam X6在以前版本的基础上又增加了很多新的功能和模块,对了轴和多轴功能进行了提升,包括3轴曲面加工和多轴刀具路径。
它集二维绘图、三维造型、图形编辑、数控编程、刀具路径模拟及真实感模拟等功能于一身,并且可以将生成的数控程序通过计算机的通信端口,将数控程序直接输入数控机床,提高工作效率。
1.1.1 Mastercam X6 的模块组成及功能1.Mastercam X6的模块组成Msteracm x6 是CAD/CAM一体化软件,主要包括设计、铣削、车削、线切制和雕刻5 大模块。
2.Mastercam X6 中的设计、铣削和车削模块的主要功能(1)绘制二维图形。
Msteracm x6可以直接进行二维图形的绘制。
在【绘图】菜单中提供了丰富的绘图命令,用户使用这些命令可以绘制点、直线、圈、圆弧、椭圆、矩形、本图形。
(2)绘制三维图形。
MasteramX6具有较强的三维造型功能,可完成三维曲面和实体造型。
在绘制好的二维图形的基础上使用曲面的举升、直效、旋转、扫描、牵引和网格进行三维曲西应面造型。
同样,在绘制好的二维图形的基础上使用举升、旋转、打描和挤出等完成三维实体造型。
(3)由三维实体图直接生成二维工程图。
Mastercam X6 具有由三维实体图直接生成二维工程图的功能。
3DS MAX 6基础教程:工作界面和设计流程自1996年由Kinetix推出3DS MAX1.0版本,3DS MAX前进的步伐一直没有停止过。
其中的3.1版是一个非常优秀的版本,其卓越的稳定性致使现在有许多人还在使用此版本。
4.0版中将以前单独出售的Character Studio并入;5.0版中加入了功能强大的Reactor动力学模拟系统,全局光和光能传递渲染系统;在去年发布的6.0版本中3DS MAX将三维迷们期待已久的电影级渲染器Mental Ray整合了进来。
从本期开始,我们将由浅入深地为大家献上3DS MAX 6的系列教程,和大家一起进入神奇的三维天地。
本期基础教程介绍3DS MAX 6的设计界面和工作流程。
熟悉工作界面学习3DS MAX 6,我们先从熟悉它的工作界面开始。
很多人都觉得3DS MAX 6的工作界面太复杂,其实只要我们先把每一部分的功能了解清楚,后面的学习就会轻松很多了。
图1-1(3DS MAX 6主界面图)学习3DS MAX 6,我们首先从熟悉它看似复杂的界面开始,3DS MAX 6不仅有Windows环境下标准应用程序的界面布局特点,还有自己的特色(如图01)。
下图中我们用不同的颜色区域和注释大致勾画出3DS MAX 6的主界面布局。
后面详细介绍每一部分的功能。
标题栏标题栏:标题栏显示当前打开的3DS MAX文件的名称等信息。
位于最上方的是标题栏(如图02),标题栏的前面是当前打开的MAX文件的名称,3DS MAX 6不能同时打开多个文件,要打开多个文件需要启动多个MAX程序,但这样是很消耗系统资源的,应该根据自己机器的性能决定。
菜单栏接下来是菜单栏(如图1-2),3DS MAX 6有非常丰富的菜单命令,共有15个菜单命令,分别是:File(文件)、Edit(编辑)、Tools(工具)、Group(组合)、Views(视图)、Create(创建)、Modifiers(修改)、Character(角色)、Reacter(反应堆)、Animation(动画)、Graph Editors(图表编辑)、Rendering(渲染)、Customize(用户设定)、MAXScript(MAX脚本)和Help(帮助)。
MASM6.14从傻瓜到入门最近有网友向我询问如何使用MASM6.14,其实我也不是很懂,只是对一些常用的功能有所了解。
对于一些常见的问题,这一点点可怜的知识还是勉强可以解决的。
所以本文只是从最浅显的方面谈一下MASM6.14的用法,只是能让读者入门而已。
本文将分成几个部分来叙述。
1.ML的参数问题在编译的时候主要使用的是ML.EXE,因此,我们的重点将集中在这个程序上。
ML.EXE的使用格式如下:ML [ /options ] filelist [ /link linkoptions ]下面简单解释一下一些常用的编译选项,因为绝大多数参数我也没有用过,所以,我不能保证解释的正确性,如果你发现了什么错误,欢迎来信告诉我。
/AT :允许小模式/Bl :指定链接器/c :只编译,不链接/Cp :保留用户标识符的大小写/Cu :所有标识符映射为大写/Cx :用public或者extrn引用的标志符保留大小写/coff :产生coff格式的目标文件/F :设置堆栈长度/Fe :命名可执行程序/Fo :命名目标文件/FPi :对80x87指令进行软件仿真/G :使用Pascal,C或者stdcall调用/I :添加包含文件的路径/WX :视警告为错误/W :设置警告级别/Zd :在调试信息中添加行标号/Zf :使所有符号变为PUBLIC类型/Zi :在调试信息中添加符号信息/Zm :与MASM5.10兼容/Zp[n] :设置结构的对齐方式/Zs :只进行语法检测上述内容只是从帮助文件中翻译过来的,很不全面,也不一定正确,有兴趣的朋友可以看一下原文。
其实绝大多数参数是根本用不上的,我很少使用汇编去编写一个完整的程序,通常是使用高级语言编译器来辅助的。
因为现在的高级语言都有着非常强大的编译和调试的功能,所以汇编语言的编译器只要提供一些必要的功能就可以了。
2..xmm和.k3d现在一些单指令多数据技术十分流行,其中尤以intel公司的Streaming SI MD Extensions 和AMD公司的3DNow为最。
i s c l a i me r : T h i s d o c u m e n t a t i o n i s n o t i n t e n d e d a s a s u b s t i t u t ef o r a n d i s n o t t o b e u s e d f o r d e t e r m i n i ng s u i t a b i l i t y o r r e l i a b i l i t y o f th e s e p r o d u c t s f o r s p e ci f i c u s e r a p p l i c a t i o n sMainRange of productModicon TM3Product or component typeInput/Output analog module Range compatibility Modicon M251Modicon M241Modicon M221Analogue input number 4Analogue input type Current, analogue input range: 4...20 mACurrent, analogue input range: 0...20 mAVoltage, analogue input range: 0...10 VVoltage, analogue input range: - 10...10 VAnalogue output number 2Analogue output type4...20 mA current0...20 mA current0...10 V voltage- 10...10 V voltage ComplementaryAnalogue input resolution11 bits + sign 12 bits Permissible continuous overload13 V voltage 40 mA current Input impedance<= 50 Ohm current >= 1 MOhm voltage Analogue output resolution11 bits + sign 12 bits LSB value 2.44 mV, analogue input: 0...10 V voltage4.88 mV, analogue input: - 10...10 V voltage4.88 µA, analogue input: 0...20 mA current3.91 µA, analogue input:4...20 mA currentLoad type ResistiveLoad impedance ohmic1 kOhm voltage300 Ohm currentOutput ripple20 mVCross talk<= 1 LSB[Us] rated supply voltage24 V DCSupply voltage limits20.4...28.8 VType of cable<= 30 m twisted shielded pairs cable for input/output circuitCurrent consumption45 mA at 5 V DC (no load) via bus connector55 mA at 5 V DC (full load) via bus connector55 mA at 24 V DC (no load) via external supply100 mA at 24 V DC (full load) via external supplyLocal signalling 1 LED green for PWRElectrical connection10 x 1.5 mm² removable screw terminal block with pitch 3.81 mm adjustment for inputs10 x 1.5 mm² removable screw terminal block with pitch 3.81 mm adjustment for inputs, outputs andsupplyInsulation500 V AC between output and internal logic500 V AC between input and internal logic1500 V AC between input and supply1500 V AC between output and supplyMarking CESurge withstand 1 kV for power supply with common mode protection conforming to EN/IEC 61000-4-50.5 kV for power supply with differential mode protection conforming to EN/IEC 61000-4-51 kV for I/O with common mode protection conforming to EN/IEC 61000-4-50.5 kV for I/O with differential mode protection conforming to EN/IEC 61000-4-5Mounting support Top hat type TH35-15 rail conforming to IEC 60715Top hat type TH35-7.5 rail conforming to IEC 60715Plate or panel with fixing kitHeight90 mmDepth70 mmWidth23.6 mmProduct weight0.11 kgEnvironmentStandards EN/IEC 61131-2EN/IEC 61010-2-201Resistance to electrostatic discharge 4 kV on contact conforming to EN/IEC 61000-4-28 kV in air conforming to EN/IEC 61000-4-2Resistance to electromagnetic fields10 V/m at 80 MHz...1 GHz conforming to EN/IEC 61000-4-33 V/m at 1.4 GHz...2 GHz conforming to EN/IEC 61000-4-31 V/m at2 GHz...3 GHz conforming to EN/IEC 61000-4-3Resistance to magnetic fields30 A/m at 50...60 Hz conforming to EN/IEC 61000-4-8Resistance to fast transients 1 kV I/O conforming to EN/IEC 61000-4-4Resistance to conducted disturbances, induced by radio frequency fields 10 V at 0.15...80 MHz conforming to EN/IEC 61000-4-63 V at spot frequency (2, 3, 4, 6.2, 8.2, 12.6, 16.5, 18.8, 22, 25 MHz) conforming to Marine specification (LR, ABS, DNV, GL)Electromagnetic emission Radiated emissions, test level: 40 dBμV/m QP class A (10 m at 30...230 MHz) conforming to EN/IEC55011Radiated emissions, test level: 47 dBμV/m QP class A (10 m at 230 MHz...1 GHz) conforming to EN/IEC 55011Immunity to microbreaks10 msAmbient air temperature for operation-10...55 °C (horizontal installation)-10...35 °C (vertical installation)2Offer Sustainability Sustainable offer statusGreen Premium product RoHS (date code: YYWW)Compliant - since 1415 - Schneider Electric declaration of conformity Schneider Electric declaration of conformity REAChReference not containing SVHC above the threshold Reference not containing SVHC above the threshold Product environmental profile Available Product environmental Product end of life instructionsAvailableEnd of life manual(*)8.5 mm/0.33 in when the clamp is pulled out.Incorrect Mounting(1)Install a mounting strip Mounting Hole LayoutWiring Diagram (Current / Voltage)(*)Type T fuse (1)Current/Voltage analog output device (2)Current/Voltage analog input device。
MASM 6.11的使用说明一、MASM 6.11的安装1. 运行“SETUP.EXE”。
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 MASM6.11 Setup Microsoft Windows Files”屏幕上,对于“Install files for Microsoft Windows?”,选中“Y es”,按“ENTER”键。
6. 在出现的“Microsoft MASM 6.11 Setup Programmer’s WorkBench”屏幕上,对于“Install PWB?”,选中“Y es”,按“ENTER”键。
7. 在出现的“Microsoft MASM 6.11 Setup Brief Compatibility”屏幕上,对于“Install Brief compatibility?”,选中“No”,按“ENTER”键。
8. 在出现的“Microsoft MASM 6.11 Setup Mouse Driver”屏幕上,对于“Copy the Microsoft Mouse driver?”,选中“Y es”,按“ENTER”键。
9. 在出现的“Microsoft MASM 6.11 Setup MASM.EXE Utility”屏幕上,对于“Install the MASM.EXE utility?”,选中“Y es”,按“ENTER”键。
MapleSim 6新功能介绍–Advanced System-Level Modeling软件概述MapleSim是加拿大Maplesoft公司开发的产品,Maplesoft是全球领先的工程、科学研究和数学计算的高性能软件开发商,核心技术包括世界上最强大的符号计算引擎和创新的多领域系统建模仿真技术,这些领先的技术提供了尖端的工具用于设计、建模、和高性能仿真。
通过MapleSim 可以实现系统级的建模、分析和仿真,让设计人员在快速对设计方案进行可行性分析,优化系统参数并进行故障诊断的前提,减少消耗在基于物理样机试验带来的巨大时间和费用。
MapleSim是一个高性能多领域系统建模和仿真工具,建立在符号—数值混合计算技术基础之上,能够有效地处理工程系统模型(例如复杂多领域系统和控制工程中控制对象的模型)开发中涉及的各种复杂数学问题,包括复杂多领域系统、虚拟设备建模、和控制系统设计。
MapleSim提供广泛的预定义模型库和工具箱,包括多体机械库、传动库、液压库、电气库、控制设计工具箱等,同时用户利用数学软件Maple快速将自定义的数学模型转化为仿真模型,帮助用户快速创建复杂设备的系统级模型。
MapleSim代码生成工具输出标准的ANSI C代码,可与广泛的硬件软件工具协同工作,直接接口包括NI LabVIEW/VeriStand,Simulink,dSPACE,VC++,FMI,B&R Automation Studio等。
MapleSim 6新功能介绍更多的建模元件1)新的高级液压库 - 提供超过200个高级液压建模元件,包括各种泵、电机和气缸、液压管道、集中体积和传感器,以及大量的模型案例。
2)更多的多体、信号元件3)Modelica语言表示多体元件4)更多的1-D机械和电子元件5)新的查询表元件求解器1)更强大的API (应用程序接口)2)通过高级符号前处理实现高速的编译模型代码3)更多的仿真算法4)更多的求解器选项,包括捕捉特定时间点上的系统状态,并可以设置系统从该时间点继续运行仿真,而不是从初始状态运行。
汇编软件MASM和调试工具软件DEBUG使用汇编语言是唯一能够充分利用计算机硬件特性并直接控制硬件设备的语言。
对于诸如实时控制、软件加密解密、病毒分析、软件调试等领域,汇编语言是最有效的程序设计语言。
在学习汇编语言的过程中,只有通过大量的上机实验才能更好地掌握汇编语言程序设计的技能。
1.1 实验目的(1)掌握汇编软件MASM的使用,熟悉汇编语言的上机过程。
(2)掌握调试工具软件DEBUG的应用,掌握汇编语言程序的调试技能。
1.2相关基础知识1.2.1汇编语言程序上机步骤1.汇编语言程序设计上机步骤汇编语言源程序的上机步骤包括编辑、汇编、链接、调试等几个过程,如图1-1所示。
图1.1 汇编语言源程序上机步骤源程序文件的编辑就是编写一个汇编语言源程序,它可以使用任何一个文件编辑器实现。
例如,Windows2000操作系统附件中的记事本。
编辑形成的文件最后一定要以.ASM 后缀保存。
在编辑源程序的时候一定要将输入法切换到英文环境下,否则会出错。
2.汇编汇编是把用汇编语言编写的源代码程序翻译成计算机能够识别的二进制机器语言程序。
目前常用的汇编程序是MASM,称为宏汇编程序。
宏汇编程序当前主要有两个版本:MASM5.0和MASM6.0。
其中,MASM5.0的可执行文件是MASM.EXE,MASM5.0用于DOS环境下。
初学者首先学习使用MASM5.0。
而MASM6.0的可执行文件是ML.EXE。
汇编过程是将源程序翻译为等价的二进制机器语言的过程。
所产生的文件称为目标程序,其后缀为.OBJ。
在这个阶段中,将对源程序的语法进行检验,如果发现错误将给予提示。
错误提示分为严重错误和警告错误两种。
严重错误指示某些指令存在语法错误,不能形成对应的二进制机器指令。
而警告错误指示某些指令含义不够明确,需要提醒程序员注意。
程序员可以根据提示对源程序进行修改,直到得到正确的结果为止。
在汇编过程中还会产生列表文件和交叉引用文件。
实验一 Masm6.11的使用方法一、实验目的1、创建一个新的汇编语言程序,熟练掌握汇编语言开发工具的使用方法,并对开发环境中一些坏境变量进行设置。
2、创建一个工程文件,对该工程文件进行编译,连接,并运行;3、对建立的工程文件进行调试,在运行过程中查看各个寄存器的值,内存单元的值等。
二、实验环境该试验包括的硬件和软件条件如下:1、硬件环境(1)Intel Core Duo CPU P8700(2)内存4G2、软件环境(1)Window XP Professor(2)MASM6.11开发软件三、实验步骤1、将Masm6.11安装程序拷贝到D盘根目录下,并执行d:\Masm611目录下Setup.exe文件,按照安装提示将程序安装到C盘根目录。
2、将C:\masm611\Bin目录下的所有文件拷贝到C:\Masm611\binr目录下,将C:\Masm611\help目录下的所有文件拷贝到c:\Masm61\binr目录下。
3、执行C:\Masm611\Binr目录下的pwb.exe文件,打开开发环境。
4、在PWB编辑窗口中输入实验1.1中的程序,并保存为test.asm文件。
5、执行Project菜单下New Project子菜单创建一个新的工程文件,并命名为test.mak,将test.asm文件加入到该工程文件中。
6、执行Project下Build子菜单编译连接该工程文件,并运行该可执行程序,观察程序执行的结果。
7、执行Run菜单下Debug子菜单,进入调试环境。
8、在程序的如下位置设置断点,并按要求观察寄存器堆栈或者内存单元的值。
Data segmentMsgl db "please input the number of student:$"Num db 0EnMsg db 0ah,0dh,'$'Msg2 db "please input the grade of each student:$"Msg3 db "the average grade of these student is:$"avg db 0ascavg db 0,0,'$'Data endsStack segment para stackdb 20h dup(0)Stack endscode segmentAssume Cs:code,Ss:stack,ds:DataStart: mov ax,datamov ds,axlea dx,Msgl ;1此行设置断点,观察DS所指示的数据段的情况mov ah, 09hint 21hCall Numproc ;2此行设置断点,观察屏幕输出,并观察堆栈的变化mov num,bl ;3此行设置断点,观察bl的值,并观察堆栈的变化lea dx,EnMsgmov ah,09hint 21hlea dx,Msg2mov ah,09hint 21hcall Avgproc ;4此行设置断点,观察屏幕输出信息lea dx,EnMsg ;5此行设置断点,观察avg所对应的存储单元的值mov ah,09hint 21hlea dx, Msg3mov ah,09hint 21hcall bta ;6此行设置断点,观察屏幕输出信息mov ah,4ch ;7此行设置断点,观察ascavg所对应的存储单元的值及屏幕输出信息int 21hNumproc procpush axpush cxpush dxlea dx,EnMsgmov ah,09hint 21hmov bl,0lop1: mov ah,01hint 21h ;8设置断点观察al寄存器的值cmp al,0dhjz lop2cmp al,'0'jl lop1cmp al, '9'ja lop1sub al,30hmov cl,almov al,blmov ch,10mul chmov bl,al ;9设置断点观察al寄存器的值add bl,cl ;10设置断点观察bl寄存器的值jmp lop1lop2: pop dxpop cxpop axretNumproc endpAvgproc procpush axpush cxxor dx,dx ;11设置断点观察堆栈值的变化mov cl,num ;12设置断点观察cl寄存器的值lop3: call Numprocxor ax,axmov al,bladd ax,dxDiv numadd avg,al ;13设置断点观察avg存储单元的值xor dx,dxmov dl,ahsub cl,1jnz lop3pop ax ;14设置断点观察avg存储单元的值pop cxret ;15设置断点观察堆栈值的变化Avgproc endpbta procpush ax ;16设置断点观察堆栈值的变化push bxxor ax,axmov al,avgmov bl,10div bladd ah,30h ;17设置断点观察ax寄存器的值add al,30hmov ascavg ,al ;18设置断点观察ascavg存储单元的值mov ascavg+1,ahlea dx,EnMsgmov ah,09hint 21hlea dx,ascavg ;19设置断点观察dx寄存器的值mov ah,09hint 21hpop bxpop axretbta endpcode endsend start9、按照程序的执行过程绘制出程序流程图。
第二章MARK VI控制系统1、系统概貌本厂采用三重冗余型(TMR)结构的MARK VI控制盘,由3套微处理机模块组成,分别是<R><S><T>三台控制处理机、HMI人机接口、<P>保护处理机和输入模块。
MARK VI在<R><S><T>控制模块分别都有专门的通讯卡件VCMI。
由通讯卡件完全数据交换网络的通讯交换和数据表决。
并把数据传送到主处理卡UCVX。
轮控盘的各个模块却分别配备了独立的电源。
特别对于保护模块的<X><Y><Z>三重冗余也配备了三个独立电源,以期提高可靠性。
主控制器包括了<R><S><T>控制模块。
它完成控制、保护和监视的功能。
备用保护包括了<X><Y><Z>,它完成紧急超建和同期检查的保护功能。
无论是输入输出网(Ionet)还是和人机接口HMI的通讯均采用以太网实现。
后者采用了GE公司的UDH(机组数据总线)。
人机接口的软件支持使用了WINDOWS NT 操作系统和CIMPLICITY的图形显示系统。
整个MARK VI系统和DCS的通讯可以采用多种方式。
即可以采用RS232 MODBUS通讯,以这种方式通讯MARK VI可以作为从站也可以作为主站方式。
第二种方式用以太网TCP—IP MODBUS协议通讯,它作为从站进行设置。
第三种方式为以太网TCP—IP GSM方式。
该通讯网络称之为PDH(电厂数据总线)。
无论是UDH和PDH一般都采用双重冗余方式来保证通讯的可靠性。
MARK VI系统的组态见下图。
1.1 硬件配置控制模块<R><S><T>都采用了21槽口标准的UME型机架。
机柜的中心部分自上而下分别为<P><R><S>和<T>。
附录1 汇编语言编程和调试工具一、汇编语言编程工具学习汇编语言的目的就是要用汇编语言编程来解决实际问题,下面介绍二种常用的汇编语言编程环境:宏汇编MASM 6.11和Turbo Assember 5.0。
1.1、宏汇编MASM系统在宏汇编MASM系统中,程序员可用二种方法来处理源程序:命令行和集成环境。
1.1.1 命令行命令1、编写源程序可用计算机系统中各种能编辑文本文件的编辑器来编辑汇编源程序。
常用的编辑器有:EDIT、Q、Word、记事本、写字板、WPS等。
源文件的后缀为:.ASM。
2、汇编程序当源程序编写好后,可用MASM命令来汇编该源程序。
如果源程序没有语法错误,那么,将生成目标文件(.OBJ文件),为最终生成可执行文件作准备,但如果源程序有错误,汇编程序将显示出错误位置和原因,也可用列表文件(.LST文件)来查看出错位置和原因。
下面给出一些使用该命令的实例情况。
例1.1:查看MASM命令的功能…>masm /?(*)……/Zi Generate symbolic information for CodeView/Zd Generate line-number information其中:选项/Zi和/Zd是经常被引用的二个选项,因为它们与符号跟踪有关。
例1.2:用MASM命令汇编源程序…>masm test……Invoking: ML.EXE /I. /Zm /c test.asm……Assembling: test.asm如果MASM命令显示了类似如上的处理结果,那么,表示源文件TEST.ASM已成功汇编,并已生成了其目标文件TEST.OBJ。
(*)用户输入的命令用“下划线”来表示,系统显示的内容没有“下划线”。
以下与此相同。
例1.3:用MASM命令汇编源程序…>masm test……Invoking: ML.EXE /I. /Zm /c test.asm……Assembling: test.asmtest.asm(10): error A2070: invalid instruction operands如果MASM命令显示了类似如上的处理结果,那么,表示源文件有错,没有生成其目标文件。
在本例中,显示第10行有语法错:非法的指令操作数。
这时,要用编辑器阅读源程序的第10行,看看输入指令时是否有误。
假如源程序有许多错误,很难记住全部出错位置,那么,可用列表文件来辅助查错。
例1.4:在汇编源程序的同时,生成其列表文件。
…>masm test, ,test……Assembling: test.asmtest.asm(10): error A2070: invalid instruction operands列表文件TEST.LST是一个文本文件,可用编辑器直接阅读,并可看出其错误的位置和原因。
下面是一个列表文件的实例。
…>edit test.lstMicrosoft (R) Macro Assembler Version 6.11 08/26/00 18:42:57test.asm Page 1 - 1.model small.4860000 .data.radix 70000 2A 08 0F w2 db 60,11,180003 000A 0009 w1 dw 10T, 1001B0000 .code.startupmov dl, 7777htest.asm(10): error A2070: invalid instruction operands0010 8B C2 mov ax, dx0012 0F A4 C2 01 shld dx, ax, 10016 D1 D0 rcl ax, 1.exit 0end在此后面还有其它内容,但它们对查错没有帮助,所以,在此省略。
3、连接程序当由源文件汇编成功后,即可用连接程序(LINK.EXE)生成其可执行文件。
例1.5:查看连接程序(LINK.EXE)的具体选项。
…>link /?LINK <objs>,<exefile>,<mapfile>,<libs>,<deffile>Valid options are:/? /ALIGNMENT/BATCH /CODEVIEW……/STACK/TINY/WARNFIXUP例1.6:用连接程序生成执行文件。
方法1:…>link test……Run File [test.exe]:List File [nul.map]:Libraries [.lib]:Definitions File [nul.def]:LINK : warning L4021: no stack segment这种方法需要确认连接过程中的各种文件名,如果使用文件名的默认值,那么直接按“回车”键即可。
在上面四个文件名中,最重要二个文件名是:执行文件名和库文件名。
一般情况下,无需更换最终生成的执行文件名;如果在连接过程中需要其它的库文件,则在显示第三行提示时,输入所需要的库文件名。
最后一行显示一个警告信息,提出本程序没有定义堆栈段,该警告信息可以不必理会,因为该执行文件是可运行的,在操作系统装入时会自动为其添加一个默认的堆栈段。
方法2:在文件名后面加上分号“;”,默认使用各类文件的缺省值。
…>link test;……LINK : warning L4021: no stack segment4、运行程序当要运行所生成文件时,可直接输入其文件名即可。
…>test5、符号调试程序当程序的运行结果不是预期结果时,就需要调试程序,找出错误的语句或逻辑关系。
MASM系统提供了可用于源程序一级的调试工具CV(CodeView)。
有关CV的使用参见“调试工具”中CodeView的介绍。
例1.7:用符号调试工具CV来调试程序TEST.ASM所生成可执行文件。
…>masm /Zi /Zd test ;假设其没有语法错…>link /Co test…>cv test.exe1.1.2 编程集成环境PWBPWB(Programmer's WorkBench)是MASM 6.11提供的编程集成环境,在此环境下,程序员可直接编写源程序、汇编、连接和运行。
◆在汇编源程序时,如果有错误,系统将列举出所有出错位置和出错原因。
还可用Shife+F3和Shife+F4来定位前一个错误和后一个错误;◆在连接时,可指定堆栈的大小、附加的库文件、符号跟踪等选项;◆在运行时,可设置命令行参数、直接运行、按调试方式运行、用DOS命令来运行等。
例1.8:查看PWB的启动方式…>pwb /?……Usage: PWB [<options>] [<files>][<options>][/D[S|T|A]...] Disable CURRENT.STS, TOOLS.INI, Autoload[/P{P|F} <file>] Set PWB or Foreign Program List[/PL] Set Last Program List[/E <cmd-string>] Execute commands[/M <mark>] Start at mark[/R] Read-only mode[<files>][[/T] <file>]... (Temporary) file to open通常情况下,在PWB后面跟一个将要编辑的源文件名。
假如要编辑源文件TEST.ASM,那么,可直接输入下面命令:…>pwb test.asm1、编辑源文件PWB的编辑功能与许多编辑器的功能类似,有:建立新文件、保存文件、另存为、光标移动功能、块操作、插入/删除操作、恢复操作、查找/替换操作、设置编辑器的功能键和各类颜色等。
要想了解更全面的编辑功能,可查看菜单:File、Edit、Search和Options 的前四个菜单项。
在画面1.1(Options菜单中的“Colors…”)中,可选择各类窗口、菜单和文本等对象的背景色和前景色。
比如:当要改变源程序的显示颜色时,可先在左边的列表框中选择“Text”列表项,然后再选择其背景色和前景色。
2、汇编和连接文件画面1.1设置编辑器各类颜色的画面在集成环境下,源程序的汇编和连接是一次性完成的。
当汇编任务结束,并且没有产生错误信息时,连接程序立即开始连接工作。
但如果源文件有错,则显示所有错误位置和原因,连接程序不会被执行。
在浏览错误信息时,可用Shife+F3和Shife+F4来定位前一个错误和后一个错误。
在连接时,如果需要某个库文件,那么,可选用Options菜单中的“Link Options”菜单项来设置,该菜单项的显示画面如画面1.2所示画面1.2连接选项的部分设置画面在该画面上还可为程序设置一个缺省的堆栈段,其大小也可由用户自行决定。
当生成执行文件需要多个模块连接时,就需要建立一个工程文件(.MAK)。
建立工程文件的步骤和画面如下:(1)、输入工程文件名,其默认的后缀为.MAK。
输入画面如画面1.3所示在画面1.3中还可选择工程目标文件的类型,该类型有:EXE、COM、LIB、Windows 的EXE或DLL等二十几种。
当然,对每种类型又有一些不同的要求,在此不在进一步展开叙述了。
通常情况下,不必选择目标文件类型,其缺省类型就是DOS EXE。
画面1.3建立工程文件名的画面(2)、工程文件的编辑在画面1.3中输入工程文件名,并且按“OK”按钮时,系统将进入画面1.4,在该画面中可向当前工程中添加源程序,也可把某源程序从当前工程中删除。
画面1.4、编辑工程文件的画面当输入的文件名不在工程文件中,则把该源文件添加到工程文件中,否则,将其从工程文件中删除。
当所有源文件都添加到工程文件中时,可按“Save List”来保存该工程文件。
此后就可用打开工程文件的方式来连接该工程中的文件。
如果需要修改工程文件的话,则可先用Project菜单中的“Open Project”菜单项打开工程文件,再用“Edit Project”菜单项来激活画面1.4进行编辑。
3、运行程序在运行程序时,可设置命令行参数、直接运行、按调试方式运行、用DOS命令来运行等。
通常情况下,在编写程序的初期,一般都用“调试方式”来运行程序。
当选用这种方式时,系统会自动进入CV(CodeView)的调试环境。
有关CV的使用参见“调试工具”中CodeView的介绍。
4、符号调试的设置步骤编写程序很难做到:编辑、汇编、连接、运行一次完成,除非程序的功能非常简单。