汇编语言编译调试帮助.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言编译调试帮助

汇编语言编译调试帮助 汇编语言的源代码是文本格式的,可以使用记事本编写,打开记事本,输入代码: 代码如下: ;test.asm by xecle data segment mesg1 db what is your name?,0dh,0ah,$ mesg2 db Hello ,$ buff db 20,? db 20 dup(?) data ends ;------------------------------------------ stack segment para stack dw 10h dup(0) stack ends ;------------------------------------------ code segment assume cs:code,ds:data,ss:stack main: mov ax,data mov ds,ax mov es,ax mov ax,stack mov ss,ax output: mov dx,offset mesg mov ah,09h int 21h input: mov dx,offset buff mov ah,0ah int 21h Chello: mov dx,offset mesg2 mov ah,09h int 21h mov dx,offset buff add dx,2 int 21h m_end: mov ah,4ch int 21h code ends end main 由以上示例代码可见,汇编文件共分为三个段,分别为数据段,堆栈段,代码段,其中代码段必须有,在代码段末尾由end lable指出程序的入口地址lable,若程序没有定义数据段或者堆栈段,连接时会提示waring ,若程序中确实没有用到,可不用理会。 编译汇编文件使用的是masm,也可以使用tasm,此处以masm为例,首先需要现在masm,自己解决,然后解压缩,假设解压缩后位置为d:\masm\,(建议放在某个盘的根目录下面,会方便很多,另外文件夹名称最好不要用中文),然后桌面左下角点开始》附件》命令提示符,或者开始》运行,输入cmd回车,这样可以打开命令行: Xp系统显示的内容应该会略有不同,因为我是win7系统,然后进入masm的文件夹, 输入d:回车(用搜狗输入法的注意输入状态必须是英文^_^),然后输入cd masm进入masm文件夹,cd表示进入目录,cd ..表示返回到上一层目录: 把刚才写好的汇编文件test.asm拷到masm这个文件夹里面,然后在命令行输入编译命令:masm test.asm;回车, 这里显示的语法错误,上面几行有提示错误位置,回到源文件更改,把24行处mesg改为mesg1,重新编译,没有错误,编译输出的为.obj文件,本例中输出为test.obj。 连接是把编译好的二进制文件按照可执行文件格式进行打包。输出文件为.exe文件。连接命令为:link test.asm;回车,如果程序中没有数据段或者堆栈段定义,此时会提示waring,如果确实不用到数据段或者堆栈段,则不用??会: 然后输入test回车运行test.exe程序: 按照提示输入姓名,回车, 可以看见输出,输入自己消失了。 调试程序使用TD,TD是turbo公司的调试器,全程turbo debuger,跟debug的功能一样,不过TD有图形界面,支持鼠标,所以使用简单。 把TD解压到mams文件夹,输入TD启动。 点击OK或者按回车,用鼠标把蓝绿色区域的左下角拖到最大: 用鼠标点fileopen,然后选择要调试的test程序,就可以载入程序,TD界面中各部分从上到下,从左到右分别为:菜单、代码窗口、寄存器窗口、标志位窗口、内存窗口、堆栈窗口,各个分窗口均有右键功能,需要先左键单击激活相应窗口,然后用右键召出菜单,其中堆栈段窗口右键单击位置需位于字母SS上或左边,若在堆栈偏移地址或堆栈数据上右键单击则不要松开右键,按下右键为出现菜单,松开为选择相应功能。 TD支持断点和单步,等常用调试功能,还支持内存断点和标志位触发等高级调试功能,具体请查看相应菜单(不认识的单词自己查),菜单后附有快捷键可以加速输入: TD与TC均属于turbo公司产品,因此功能很类似,可以参考TC操作。Help文件里面可以找到帮助文件。 常用功能: 断点 断点位于breakpoints菜单,常用断点为代码断点,在代码窗口找到相应代码行,打击选中,按breakpoints菜单中Toggle或者直接按快捷键F2触发断点,同一行再次触发断点则会取消断点。设置断点后可以用run菜单中的run运行到断点处,如果嫌断点太麻烦,可以直接选中需要停止的

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档