汇编软件及安装说明Word文件下载.docx
《汇编软件及安装说明Word文件下载.docx》由会员分享,可在线阅读,更多相关《汇编软件及安装说明Word文件下载.docx(14页珍藏版)》请在冰点文库上搜索。
\内即可。
注意,实验室内将所有的程序都安装到E:
\盘。
(三)编辑工具的安装和设置
1TextPad的安装
安装的过程相当简单,只需安装的提示进行缺省安装即可,但是值得注意的是安装路径设置为E:
我们设定的安装目录为:
E:
\ProgramFiles\TextPad4
2编辑环境的设置:
我们希望TextPad能够提供和VisualC++差不多的编辑环境,下面我们动手来完成。
预备工作:
将TextPad解压文件夹内有一个文件为:
MASM6.syn,把该文件复制到E:
\ProgramFiles\TextPad4\System中。
✧从Configure菜单中,选择NewDocumentClass…,弹出添加设置向导,设置如下图所示,输入MASM。
✧在下一步中,输入*.asm。
✧选择复制到System目录下的文件名MASM6.syn。
✧下一步,设置完成。
✧最后,我们可以从ConfigurePreference中找到对应的文件类别,设置编辑时显示的字号大小等。
最后,利用我们得到的编辑环境效果,如下图所示。
3编译调试环境的设置
我们希望TextPad能够提供调出Dos窗口、编译和调试的工具菜单,这样对编写程序就方便多了。
(1)工具Tools菜单中设定“Compile16-bitMASM”编译菜单
✧从Configure菜单选择Preferences
✧从面板的左侧选择Tools,点击Add按钮,选择DOSCommand…
✧从弹出的对话框上,填写如下的内容:
\Masm615\make16.bat$BaseName
✧确定完成后,点击应用按钮。
✧将上图方框内名称,改成“Compile16-bitMASM”。
做法,左键点击一次后,停1秒,再次点击,变为可修改的状态即可。
注意,不可输入汉字!
✧对属性的设置如下图。
✧至此,对应的自定义的编译菜单就可以从Tools菜单中找到。
和上述的过程步骤相同,添加运行菜单和调试菜单。
下面仅仅列举了上述不同的步骤。
(注意,对于下面各项中所有属性的设置均与上面的设置一致)
(2)运行菜单“Run16-bitMASM”的设置
$BaseName
✧然后,菜单名称改成“Run16-bitMASM”。
(3)调试菜单“Debug16-bitMASM”的设置:
\Masm615\runCV.bat$BaseName
✧然后,菜单名称改成“Debug16-bitMASM”。
(4)调出DOS窗口菜单“MSDos”的设置:
cmd
✧然后,菜单名称改成“MSDos”。
最后,安装上述的过程设置完成后,Tools菜单变为如下图所示。
二、程序的编译、调试和运行
(一)编辑程序
利用设置好的编程工具TextPad,编辑如下的程序:
步骤如下:
(1)新建文件test1.asm,注意文件名的后缀为.asm。
(2)编辑输入,大家可以看到输入时语句各个部分的颜色变化,提示你输入是否正确。
程序输入的过程中,注意保存。
TITLEmoveandaddoperations
;
---------------------------------------------
STACKSEGMENTPARASTACK'
Stack'
DW32DUP(0)
STACKENDS
----------------------------------------------
DATASEGSEGMENTPARA'
Data'
FLDDDW215
FLDEDW125
FLDFDW?
DATASEGENDS
-----------------------------------------------
CODESEGSEGMENTPARA'
Code'
MAINPROCFAR
ASSUMESS:
STACK,DS:
DATASEG,CS:
CODESEG
MOVAX,DATASEG;
Setaddressofdata
MOVDS,AX;
segmentinDS
MOVAX,FLDD;
Move0215toAX
ADDAX,FLDE;
Add0125toAX
MOVFLDF,AX;
StoresuminFLDF
MOVAX,4C00H;
Endprocessing
INT21H
MAINENDP;
Endofprocedure
CODESEGENDS;
Endofsegment
ENDMAIN;
Endofprogram
(二)编译和运行
利用Tools菜单中,Compile16-bitMASM菜单编译程序,若程序出现错误,检查哪一行出现了问题,仔细排查错误。
编译通过会产生相应的可执行文件,直接点击Run16-bitMASM,即可运行。
对于该程序没有结果输出显示。
(三)调试
对于编译通过生成可执行文件,可以跟踪调试。
直接点击Debug16-bitMASM进行调试即可。
显示的窗口如下所示。
一般缺省情况下,窗口分为3个组成部分:
✧源代码窗口(Source,窗口号3):
负责展示源程序代码,跟踪当前正在执行的指令;
✧寄存器窗口(reg,窗口号7):
负责展示当前各个寄存器的数值和状态;
✧debug命令窗口(command,窗口号9):
负责接收用户输入的各种debug命令;
注意,窗口之间地切换,快捷键为ALT+窗口号。
DOS环境下的菜单,不能用鼠标点击,利用ALT+相应菜单名称的下划线的字母。
例如,Alt+F,打开File菜单。
寄存器窗口
Debug命令窗口
当前执行指令
源代码窗口
下面给出比较常用的几个常用的debug命令,有助于快捷便利地调试程序。
(1)单步跟踪命令T
命令T执行CS:
IP指向的一条指令
(2)内存内容命令D
其中D命令将指定起点的内存内容展示出来
使用的格式:
-Dstartingaddress[length]
开始的地址:
segment:
offset
采用默认DS的偏移地址offset
-DCS:
100
0B00:
0100B823010525008BD8-03D88BCB2BC82BC0.#..%.......+.+.
0110EBEEC3750580CF80-EBD43C0D3400EF0A...u......<
.4...
0120013A0602967503E9-1701B23A3814751D.:
...u.....:
8.u.
0130803EF097017503E8-23E1E85C01ACE858.>
...u..#..\...X
(3)R查看寄存器的内容
-R
AX=0000BX=0290CX=0148DX=0000SP=FFFEBP=0000SI=0000DI=0000
DS=0B05ES=0B05SS=0B05CS=0B05IP=0100NVUPEIPLZRNAPENC
0B05:
0100B82301MOVAX,0123
注意:
标志寄存器的含义:
OF溢出(是/否)OVNV
DF方向(减量/增量)DNUP
IF中断(允许/关闭)EIDI
SF符号(负/正)NGPL
ZF零(是/否)ZRNZ
AF辅助进位(是/否)ACNA
PF奇偶(偶/奇)PEPO
CF进位(是/否)CYNC
由于存在寄存器窗口,所以可以不用此命令。
练习:
针对上述的例子,跟踪程序的执行,查看相应的内存单元的数据变化和寄存器的变化。
(4)P进行命令Proceed
格式:
P[=address][value]
该命令与前面提到的跟踪命令T极其相似,也是用于跟踪和调试程序中的各条指令的命令,同样可以用于单条命令的跟踪,和多条命令的跟踪,不同的只是该命令对于任何指令(包括过程调用指令)均当成一条指令来处理,因此对于调试一些诸如象包括有子程序调用,BIOS、DOS功能调用等指令的程序的时候特别好用。
(5)运行命令G(Go)
G[=address1][address2[address3]...]]
说明:
address1为要开始调试的程序的首地址,address2、address3...为要调试的程序的各断点(可省略),如省略,系统将执行到程序结束;
如系统正常结束,则在屏幕上显示“Programterminatednormally”,同时系统复位;
若系统非正常结束,则可能出现各种不可预料的后果,如系统进入死循环、重新启动等。
若带有断点参数(注意:
每个断点都应该是每条指令的首地址),则每当执行到该断点位置时就停下来,同时显示程序运行到断点位置时各寄存器的状态。