标题：轻松汇编
作用简介
  除了一般的功能外，它还针对汇编语言的特殊性和汇编语言初学者的特殊性，提供了一些专门针对汇编语言和专门针对汇编语言初学者的功能。例如：格式整理，当您写完一行程序，换行时，轻松汇编会自动先简单的检查该行语法，如无错误则整理该行的格式，使汇编程序格式整齐，具有如同艺术品一样的建筑美。而且在集成环境里，第二版增加了交叉文件和映像文件的自动读入功能，使初学者阅读交叉文件和映像文件更方便，有利于初学者养成良好的编程习惯和加深对汇编语言、机器语言的理解。
二，操 作 指 南
第一步 基本的编辑功能  这里是介绍基本的编辑功能，就像在介绍Windows自带的记事本。 
文件菜单：
新建：新建一个文件，快捷键为 Ctrl+N ；
保存：保存当前文件，快捷键为 Ctrl+S ；
打开：打开一个文件，快捷键为 Ctrl+O ；
退出：退出轻松汇编 ；
另存为： 把正在编辑的文件存为另外一个文件 ；
最近使用过的文件：在这里纪录了您最近使用过的文件，可以快速打开。如果
您不希望别人看到您编辑过什么程序，可以点击“清空全部纪录”。
编辑菜单：
全选：选定正在编辑的全部内容，快捷键为 Ctrl+A；
复制：复制选定的内容到剪贴板，快捷键为 Ctrl+C；
剪切：复制选定的内容到剪贴板，并删除所选定的内容，快捷键为 Ctrl+X；
粘贴：把剪贴板中的内容复制到编辑窗口，快捷键为 Ctrl+P；
删除：删除选定内容，快捷键为 Del；
撤消：撤消上一步操作，快捷键为 Ctrl+Z，但是注意只能撤消一次。
查找菜单：
查找：在所编辑的文件中查找字符串，快捷键为 Ctrl+F；
替换：在所编辑的文件中把一个字符串替换为另一个，快捷键为 Ctrl+R；
查找下一个：从当前光标起，查找下一个，快捷键为 F3；第二步 编写一个汇编程序编写第一个汇编程序。
打开轻松汇编就自动为您新建了一个模板，直接在上面添加数据定义和代码就可以了。 　一般来说，都是先写堆栈段。输入“stacks segment stack”，用空格隔开关键字。然后按下回车键换行——您会看到，轻松汇编自动把刚才输入的那一行程序的格式整理好了。
第二行应该是堆栈的大小了，应该输入“db 128 dup(0)”，输入“bd 128 dup(0)”试试，会怎样？在换行时没有整理格式。如果您输入的汇编程序有拼写错误，轻松汇编会检测出来，并且拒绝整理错误行的格式，这时候您就可以避免这类简单而又隐蔽的错误。当然，如果您确定您输入的是正确的，而轻松汇编没有整理格式，或整理的格式不好看，请告诉我这个错误，不胜感激，联系方式见左侧小字。在您编程的过程中，左侧的导航栏会随时更新您的语法信息，可以通过导航栏来快速定位您的语法元素。
接着，把您所想要写的程序写完，进行下一步：编译、运行一个程序。
如果是以前写的程序，在轻松汇编中打开后，点击：运行-整理格式，轻松汇编会对整个程序格式进行整理。第三步 编译、运行一个汇编程序把您刚才写的那个汇编程序编译、运行一下，熟悉操作。
点击：运行-生成目标文件，轻松汇编就会自动生成目标文件，另外，根据您的设定（如何设定，请参见第四步），还会生成其他的文件。默认是生成交叉文件和映像文件，点击右上角的按钮就可以看到这两个文件（这两个文件的作用，请参见疑难解答）。
如果有语法错误，编译会失败，错误信息会显示在下面的窗口中，点击错误信息，错误行就会突出显示出来。
点击：运行-运行，轻松汇编就会会自动完成编译、链接、运行当前程序。在程序运行时是全屏方式，结束后变成窗口方式，不会退出。
点击：运行－调试，轻松汇编就会自动完成编译、链接、调试的工作，使用的是TD作为调试工具。
就这些了，因为在轻松汇编下编译、运行一个程序确实简单。
在汇编时还有其他的可能，那么，请进行第四步：让汇编变的更轻松。第四步 让汇编变得更轻松对轻松汇编进行个人设置，让它更符合您的习惯。
在轻松汇编中根据初学者的特点，提供了很有特色的功能，如果您不喜欢的话，可以关掉它，对于运行的参数，同样也是通过设置来改变的。下面我们一一介绍：
在设置窗体中：
格式设定：在这里的下拉框中有三个选项，全部大写、全部小写和不处理，
选定后的结果分别是在进行格式处理时对格式化结果的处理。
自动整理格式：选定后在换行的时候会对原来行进行格式整理，如果没有选定就不整理格式。
采用调试模式：选定后在编译时包括参数/zi，在链接时包括参数/v，这样生成的可执行文件比较大，包含了用TD调试时所需要的信息，可以实现源代码调试；如不选定，不能实现源代码调试，在调试的时候不太方便。推荐选定该选项。
编译生成Com文件：选定该选项后在链接时包括参数/t，如果你写的是一个com文件的汇编代码，那么就可以选定以生成一个com后缀的文件。在选定该选项后调试时不能实现源代码调试，所以最好在编写、调试的时候不选定，最后调试通过后再选定该选项生成com文件。如果不选定，即使是com文件的汇编代码也是可以编译通过，只不过生成的是一个Exe文件。推荐不选定。
自定义参数：就是自己提供TASM和TLink的参数了，如果你对TASM了解比较多，可以实现其他的参数功能，但是对于一般的学习者，并不需要自定义参数，以免造成程序运行时出问题。
程序格式：在这里控制格式整理的方式，您可以自己设置后看看效果。不过推荐用默认方式。
显示导航栏：选中后显示导航栏，否则不显示。
显示错误栏：选中后显示错误栏，否则不显示。推荐选中，因为不选中的话，有错误它也不会自动显示的。
三，疑 难 解 答
交叉文件和映像文件是什么？交叉文件和映像文件是编译过程和结果的详细显示。其中交叉文件是在第二遍扫描中建立的，映像文件是对可执行文件的说明，所以只有生成了可执行文件，才会有映像文件，但是只要不发生严重错误，就有交叉文件。
学会阅读交叉文件对于理解汇编原理更加重要，交叉文件说明如下：
1、编译后的机器代码和汇编语言的对应关系。
在交叉文件的主体部分，就是说明编译后的机器代码和汇编语言的对应关系的，分为三列，第一列是编译后机器代码在内存中的地址，第二列是编译后的机器代码，第三列就是你写的汇编语言和注释。要注意的是，在交叉文件中的数字全部都是用十六进制表示的，没有十进制表示的数字。
下面是一段交叉文件的原文：
000E B1 02 MOV CL,2 ;把2送到CL中
0010 F6 E9 IMUL CL ;CL中的数值和AL中数值相乘
0012 FE C0 INC AL ;AL中的数值加1
在第一列是对应指令在内存的地址，第一条指令“MOV CL,2”的起始地址是000E，占了两个字节（B1 02)，所以第二条指令的起始地址是0010。
在第二列是编译后的机器指令，第一条指令“MOV CL,2”编译后的机器代码是“B1 02”，其中B1表示：1)是MOV指令；2)寻址方式是立即数寻址；3)使用的是CL寄存器。02表示操作数是02H，十六进制数2。第二、三条指令也是以此类推，查看一下指令格式就可以了。编译后的可执行文件里写的就是第二列的内容，您可以用UlTra Edit等十六进制编辑器打开看一看。
第三列就是被编译的汇编指令。
2.宏扩展情况。
在存在着宏扩展的部分，都用“1”标出，如下所示：
0024 E8 0035 CALL PINISET 
MOUTPUT CLINE ;输出CLINE
0027 BA 0001 R 1 MOV DX,OFFSET CLINE 
002A B4 09 1 MOV AH,09H 
002C CD 21 1 INT 021H 
在这段程序中，事先定义了宏MOUTPUT：
MOUTPUT MACRO PSTR ;输出PSTR
MOV DX,OFFSET PSTR 
MOV AH,09H 
INT 021H 
ENDM 
而CLINE是一个数据。
您可以看到，宏被扩展成的三条指令都用“1”标出来了。
3.错误列表。
在交叉文件的汇编语言的错误行的上面标出了错误原因、错误行、和错误类别，在交叉文件的最后，还列出了总的错误数。
4.段、子程序、宏、变量的清单。
在交叉文件的最后部分是对汇编程序中所有的段、子程序、宏、变量的清单，列出了它们的起始地址、值、类型等特征。
学会阅读交叉文件，可以对了解指令格式、编译原理有很大的帮助，而且通过阅读交叉文件，可以了解实际的宏扩展情况，有利于程序排错。为什么语法错误的提示信息是乱七八糟？轻松汇编调用的是TASM 5.0作为内核编译汇编程序的，错误信息也是通过TASM 5.0来截获的。为了简便安装，把TASM 5.0功能实现所需要的最少的几个文件附带安装了，它们是TASM.Exe，TLink.Exe，TD.Exe，RTM.Exe。
其中，TASM.Exe的版本是4.1，TLink.Exe的版本是7.1.30.1。如果发生了上述情况，很可能是被替换成了不同的版本，您可以再其他地方拷贝一个相同版本的过来。或者重新安装轻松汇编。现在网上很多TASM5就是轻松汇编所调用的。为什么运行结果和汇编源代码不一致呢？在有些情况下，会发生这种问题：修改了源代码以后再运行程序，运行的结果却是修改以前的，似乎修改的没有效果！
解决这个问题的办法是在修改源代码以后，都要先编译(Ctrl+F9)，在编译通过后，再链接(F9)，然后再运行或调试，否则修改就没有效果。
之所以会这样，是因为在轻松汇编中，编译只负责把汇编的源代码编译成目标文件(*.obj)，而链接只负责把已有的目标文件链接成可执行文件(*.exe)，而运行只负责运行已经存在的可执行文件，调试也只负责调试已经存在的可执行文件。这是符合在命令行下写汇编程序的规则的。
在这种情况下，如果你先打开一个汇编程序，第一次编译、链接、运行或调试，都很正常。接着，你修改了源代码，再运行，结果肯定是修改以前的，因为可执行文件还是按修改前的源代码生成的，链接一遍再运行，结果还是修改以前的，因为目标文件是按修改以前的源代码生成的，那由此生成的可执行文件自然也是按修改以前的代码生成的了。所以必须重新编译一遍再重新链接一遍，然后再运行或调试，就没问题了。
四，开发者介绍
作者：晨池,拉丁名:Cook,酷客.出生于河南省北部太行山区,后移于江汉平原,珠江三角洲,长江三角洲等地。毕业于武汉大学。
其软件是在大学期间完成的。