汇编语言的编译及调试环境C:\Autoexec.bat文件@echooffSETPATH=C:\Masm615;%PATH%SETINCLUDE=C:\Masm615\INCLUDE;%INCLUDE%SETLIB=C:\Masm615\LIB;%LIB%SETHELPFILES=C:\Masm615\*.HLP;%HELPFILES%SETINIT=C:\Masm615;%INIT%设置环境变量:16位汇编程序的编译及链接:ML-c-Fl-Zi文件名.asmLINK/CODEVIEW文件名,,NUL,Irvine16;注意!大小写敏感。LINKobjs,exefile,mapfile,libs,deffile文件名EXE文件名MAP文件库DOS下键入以下命令:32位汇编程序的编译及链接:ML-Zi-c-Fl-coff文件名.asmLINK32文件名.objirvine32.libkernel32.lib/SUBSYSTEM:CONSOLE/DEBUG在同一行建立调试环境(Debugger),可以:单步执行程序;设置断点;程序执行过程中,查看/修改CPU寄存器内容;查看CPU状态;查看/修改内存变量;查看堆栈内容;……如何使用调试环境(Debugger)?16位实模式下的汇编程序:Debugdebugger(debug.exe)DOS、Windows自带不支持符号地址;不支持32位寄存器。CodeViewdebugger(cv.exe)1985~1992,MASM32位汇编程序:MicrosoftVisualStudio2005/2008debugger在DOS环境下利用CodeView调试16位汇编:CVADDSUB3R.EXE在DOS环境下利用CodeView调试16位汇编:CVADDSUBR.EXECodeView或Debug下标志位的表示方法:SetClearOV=OverflowNV=NooverflowDN=DirectionDownUP=DirectionUpEI=InterruptsEnabledDI=InterruptsDisabledNG=SignFlagnegativePL=SignFlagPositiveZR=ZeroNZ=NotZeroAC=AuxiliaryCarryNA=NoAuxiliaryCarryPO=OddParityPE=EvenParityCY=CarryNC=NoCarry在VisualStudio2005/2008环境下调试32位汇编:一、新建项目文件:在VisualStudio2005/2008环境下调试32位汇编:二、将汇编语言源程序加入新建的项目中。三、设置CustomBuildRules。在VisualStudio2005/2008环境下调试32位汇编:四、设置Include目录位置。在VisualStudio2005/2008环境下调试32位汇编:五、设置是否生成列表文件(可选)。在VisualStudio2005/2008环境下调试32位汇编:六、设置库文件位置。在VisualStudio2005/2008环境下调试32位汇编:七、设置链接时需要用到的库文件。在VisualStudio2005/2008环境下调试32位汇编:八、设置链接时是否生成调试信息。在VisualStudio2005/2008环境下调试32位汇编:九、设置生成基于控制台的可执行文件。利用VisualStudioDebugger调试32位汇编语言程序:快捷键:•StepOver(F10)•StepInto(F11)FlagNameAbbreviationOverflowOVDirectionUPInterruptEISignPLZeroZRAuxCarryACParityPECarryCY标志位的表示方法:&sourceCASOPDIZ寄存器:内存变量内存:源代码利用VisualStudioDebugger调试32位汇编语言程序: