开始学习汇编语言并不是很久,一直也是在摸索。看了一些书,觉得Jones[1].and.Bartlett.Publishers.Introduction.to.80x86.Assembly.Language.and.Computer.Architecture这本书比较基础。这次主要从这本书的前一部分提取一些内容进行介绍。
1.调试方法
编译.asm文件时ML /c /coff /Zi *.asm,注意一定要加/Zi选项,这样才能加入调试符号信息,同时link时加入/debug选项,
例子:*.bat
SET VAL=exa5-3
ml /c /coff /Zi %VAL%.asm
link /debug /subsystem:console /entry:start %VAL%.obj io.obj Kernel32.Lib
del %VAL%.obj
这样就可以用windbg进行调试,用File -> Open executable 打开对应文件,点击F11或step into两次,第一次会告诉你找不到符号,不用理会,点OK就可以,然后就会打开同一目录下的.asm文件,如图
这样就可以较为方便的尝试各种汇编命令进行学习。
如果在ml时增加/Fl选项,则在编译时会多出一个.list文件,其中包含一些编译,有兴趣的可以尝试。
1.调试方法
编译.asm文件时ML /c /coff /Zi *.asm,注意一定要加/Zi选项,这样才能加入调试符号信息,同时link时加入/debug选项,
例子:*.bat
SET VAL=exa5-3
ml /c /coff /Zi %VAL%.asm
link /debug /subsystem:console /entry:start %VAL%.obj io.obj Kernel32.Lib
del %VAL%.obj
这样就可以用windbg进行调试,用File -> Open executable 打开对应文件,点击F11或step into两次,第一次会告诉你找不到符号,不用理会,点OK就可以,然后就会打开同一目录下的.asm文件,如图
这样就可以较为方便的尝试各种汇编命令进行学习。
如果在ml时增加/Fl选项,则在编译时会多出一个.list文件,其中包含一些编译,有兴趣的可以尝试。