轻鬆彙编


轻鬆彙编

文章插图
轻鬆彙编【轻鬆彙编】轻鬆彙编是一个彙编语言的集成开发环境,主要面向彙编语言的初学者 。它提供了一个在Windows界面下的彙编语言开发环境,具有了一般的集成开发环境所提供的功能 。例如:原来需要烦琐的命令行才能完成的工作,现在只需要简单的滑鼠单击就可以完成,而且複杂的参数也只要进行一下设定就可以了 。还有,它会截获错误信息,并显示在错误视窗上,只要点击一下错误信息,对应的错误行就会在编辑视窗突出显示出来 。
基本介绍中文名:轻鬆彙编
对      象:彙编语言的初学者
应      用:彙编语言开发环境
开  发  者:晨池Cook
类 似 软体:Windows自带的记事本
功能特色:交叉档案和映像档案
主要作用除了一般的功能外,它还针对彙编语言的特殊性和彙编语言初学者的特殊性,提供了一些专门针对彙编语言和专门针对彙编语言初学者的功能 。例如:格式整理,当您写完一行程式,换行时,轻鬆彙编会自动先简单的检查该行语法,如无错误则整理该行的格式,使彙编程式格式整齐,具有如同艺术品一样的建筑美 。而且在集成环境里,第二版增加了交叉档案和映像档案的自动读入功能,使初学者阅读交叉档案和映像档案更方便,有利于初学者养成良好的编程习惯和加深对彙编语言、机器语言的理解 。
轻鬆彙编

文章插图
开发者介绍作者:晨池,拉丁名:Cook,酷客,出生于河南省北部太行山区,后移于江汉平原,珠江三角洲,长江三角洲等地 。毕业于武汉大学 。其软体是在大学期间完成的 。操作指南第一步 基本的编辑功能这里是介绍基本的编辑功能,就像在介绍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 PINISETMOUTPUT CLINE ;输出CLINE0027 BA 0001 R 1 MOV DX,OFFSET CLINE002A B4 09 1 MOV AH,09H002C CD 21 1 INT 021H在这段程式中,事先定义了宏MOUTPUT:MOUTPUT MACRO PSTR ;输出PSTRMOV DX,OFFSET PSTRMOV AH,09HINT 021HENDM而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),而运行只负责运行已经存在的执行档,调试也只负责调试已经存在的执行档 。这是符合在命令行下写彙编程式的规则的 。在这种情况下,如果你先打开一个彙编程式,第一次编译、连结、运行或调试,都很正常 。接着,你修改了原始码,再运行,结果肯定是修改以前的,因为执行档还是按修改前的原始码生成的,连结一遍再运行,结果还是修改以前的,因为目标档案是按修改以前的原始码生成的,那由此生成的执行档自然也是按修改以前的代码生成的了 。所以必须重新编译一遍再重新连结一遍,然后再运行或调试,就没问题了 。