Win10汇编初学程序调试示例*原创内容,转载请注明出处。初学汇编,从搭建平台到调试成功花了牛大的力气,成功后记录下,供大家学习参考,目测网上没有类似详细实例。1.环境介绍Win10系统,传统的运行——cmd——debug老方法没用,因为可能win10里没用相关masm了(起码目前版本木有),我试过的对于win10系统搭建一个宏汇编平台最有效的方法是安装一个虚拟机(我用的是vmwareworkstationplayer12(因为免费)),然后在虚拟机上创建一个dos系统,我用的是ms-dos7.10版,具体的创建步骤网上有,这里就不赘述了。2.步骤1)进入创建好的dos系统界面2)输入dir后回车,检查是否有masm程序(没有就得查阅dos下的安装说明了,不过最好重装一个有的)3)输入cdmasm回车后进入masm的文件夹然后键入edit1.asm(其中,1.asm是假如定义一个名字为1的汇编文件,不过最好不要这么(粗糙的)命名,名字后需要跟后缀.asm)回车后我们就可以写入汇编程序了。4)示例程序如下,功能是用bx寄存器装入的是1或是2来判断键入的是y还是n。5)程序说明Wait_here段的目的是键入回车后程序继续运行,其实完全是为了方便调试弄的,没有这段进入debug断点调试g命令后再键入y程序运行完了,然而没有显示bx寄存器的内容,或是改变不了寄存器的内容,反正作为一只菜鸟我没有其他办法了。6)生成obj文件程序源文件存档后返回dos界面,建立好源文件后就要对其进行汇编,输入masm1.asm回车。汇编程序输入文件是asm文件,其输出文件有三个,三次回车后界面如下,我们需要的是obj文件,其他文件的作用请参考汇编书籍。这是会有程序是否有错误的提示,若没有错误,则可进行下一步。7)产生exe文件输入link1.obj回车。这样我们就得到了exe文件8)程序调试输入debug1.exe回车。并输入u对程序反汇编,得到程序所在段地址,偏移地址。反汇编后得出,到了1146:001b75f8程序基本完成,于是输入g=001b回车,(详见debug中g命令)程序运行后输入n(或y)可得bx寄存其中内容与设想一致。