汇编程序 - TD调试

Posted andy-lcw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编程序 - TD调试相关的知识,希望对你有一定的参考价值。

为了写这个Blog,无奈的我深夜打开虚拟机,希望也能帮助一些人,因为好像真的有人不会欸!(→_→)

 

写在前面的话:

1. TD面板下的调试十分重要。可以观察内存(GOTO DS:XXXX)存放的位置与数值,是否正确。

2. 通过寄存器面板查看取出的值是否正确,单步调试(F8)查看程序的运行流程是否和想法相同。

3. 通过步入(F7)查看调用子程序内部是否按照正常逻辑执行。

4. 通过标志位寄存器查看进位借位标志和程序跳转的状态等。

5. 我没讲明白的,请你search一下吧,如果你愿意分享,不妨留言啦! (●‘?‘●)

 

我的TD是老师给的,你们,额,我相信你们能找到,找不到再说吧 ^3^

 

说明一下,寄存器里面表示数据的时候,尤其是内存中,可能和你思路不一样,自己调试一下就知道了,多说无益。

 

重点来了!!!

1. 将你调试的代码放在TD路径下

  TASM   -V  XXX.asm  (这个叫汇编,其实和编译差不多)

  TLINK   -Z  XXX.obj   (这个叫链接)

  TD    XXX.exe   (这个就是打开调试的面板啦!!!)

其实你可以发现后缀都可以不加,参数也可以不加(TASM  XXX / TLINK  XXX)

2. win + R --> cmd ,然后cd 啥的进入TD的目录(建议所有目录英文,毕竟是人家外国佬的东西)

3. 就调试mul.asm 这个程序吧!(汇编程序 - 1 (32位无符号乘法))

  3.1 汇编,链接

    技术图片

  3.2 td mul

    技术图片

  3.3 F5,窗口填充(就是大点,上面灰色图层填满了而已)

    F8 单步调试

    F7 步入调试(在CALL指令调用子程序使用)

  3.4 只有最后一个需要讲的了,查看内存区的数据,一般我们使用DS寄存器存放数据的内存地址,但是你会发现TD会跑到ES去了,没关系。

    技术图片

    在代码区右键,goto...,DS:XXXX (由上图可知,我们内存地址开始是0069,所以我们需要查看那的数据变化)

    技术图片

    这时内存区域已经变化了。

    技术图片

    TIPS:可以对照着源代码来查看运行情况,毕竟TD中是汇编过后的代码。

    技术图片

    我输入第一个数据是99999999,第二个数据是12345678,自己观察。

    技术图片

    结果是,倒着存放的,也自己观察。

    技术图片

  

我觉得我写完了,也足够用了。end..... []~( ̄▽ ̄)~*

以上是关于汇编程序 - TD调试的主要内容,如果未能解决你的问题,请参考以下文章

iOS Safari 内存泄漏导致应用程序无法使用

td 不换行 隐藏显示多余的部分(转)

如何从CNBC市场页面解析表格数据?

用HTML+CSS+JS开发安卓手机程序 在手机里面长按事件怎么写?

如何在PyCharm中调试程序

table表格宽带研究(附带:table表格为什么设置td宽度无效)