天天加油 - 助您成才
汇编DEBUG全过程跟踪
您正在看的汇编语言是:汇编DEBUG全过程跟踪。

  最近刚刚接触汇编,建议大家和我一样能通过DEBUG更好的理解代码.这样不但能调试程序,而且使你对内存以及寄存器也能够随时掌握他的内容,更有助于你巩固反汇编出的指令的作用!

  就不多写了直接来个简单点的,因为主要是针对和我一样的初学者,代码量太大未必是件好事(对于理解起来)

  代码如下: X*16+Y结果存放到ZZZ

  dseg segment

  xxx dw 1234h

  yyy dw 5678h

  zzz dd ?

  dseg ends

  cseg segment

  assume cs:cseg,ds:dseg

  start: mov ax,dseg

  mov ds,ax

  mov ax,xxx

  xor dx,dx

  mov ax,xxx

  mov dx,16

  mul dx

  add ax,yyy

  adc dx,0

  mov word ptr zzz,ax

  mov word ptr zzz+2,dx

  mov ah,4ch

  int 21h

  cseg ends

  end start

  先DEBUG加载一下程序EXE .反汇编一下看看到底汇编程序汇编出什么样的代码 并-R来查看一下当前的各个寄存器的内容 如图:

  

  我们可以看到数据段的地址被分配为13C5

  下面开始我们-T来跟踪一下: 如图

  

  单步跟踪,通过给DS赋值 DS的内容在MOV DS,AX后变为13C5

  XXX也被汇编成DS:[0000],也就是我们在DESG中定义的 他的值为1234H MOV后AX变为1234H

  XOR后DX的内容变为0 主要为扩展成32位的结果

  继续跟踪如图:

  

  因为*16 之前DX已经为16 所以MUL后低字在AX里 ,高字在DX里

  加上5678H 汇编后为DS:[0002] 加如AX 为防止进位 在跟一个ADC把结果低字存到DS:[0004],高字存到DS:[0006]

  下面我门来看一下数据段的内存值:如图

  

  在这里DOS调用就先不看了,所以直接来-D看一看内存低字79B8 和高字0001都以存到相应内存!

  在学习汇编的过程中是有写枯燥,但希望大家不要总看书,不实践,这样你的学习效果不一定很好,如果你还没能力写一些程序可以象我这样来调试一下程序,有助于你对程序的理解.这比你看书靠脑子琢磨要好的多.就写到这.

  • 上一篇教程:
  • 下一篇教程: 没有了
  • 排行

    1. 听说过WinZip软件也可以“杀毒”
    2. 利用Delphi开发旅游景点微机售票
    3. 在DBGrid组件中显示和编辑MEMO字
    4. 在Delphi编程中使用C语言代码
    5. Delphi编程播放无声音的AVI动画
    6. Visual C++开发工具与调试技巧整
    7. Visual C++设计超强仿QQ自动伸缩
    8. VC6.0下配置boost库使用正则表达
    9. VC开发多语言界面支持的简单方法
    10. 理解MFC控制条窗口布局原理之一
    11. 基于HOOK和MMF的Windows密码渗透
    12. VC++开发PhotoShop插件之选区
    13. 基于OpenGL的三维曲面数据场动态
    14. 最常见的20种VC++编译错误信息集
    15. Visual C++编译器常用选项设置
    16. VC++实现计算机并口的数据采集
    1. vb对象的使用
    2. vb的用户界面
    3. vb菜单在应用程序中的使用
    4. vb的工具栏、对话框
    5. vb程序设计
    6. vb控件简介
    7. vb的控件数据
    8. vb控件的使用
    9. Delphi存取图像完整解决方案
    10. vb的属性、方法和事件(二)
    11. vb的属性、方法和事件(一)
    12. vb的datagrid控件的使用
    13. frame的用法
    14. 浅析软件项目管理中十个误区
    15. 如何做好软件需求捕获
    16. 软件开发质量管理层次模型
    1. VB的程序加密方法
    2. FlexGrid控件的使用
    3. vb的CommonDialog控件的使用
    4. vb的FlexGrid控件
    5. vb的按钮控件
    6. VC防止窗口和控件闪烁的方法
    7. 基于Winsock API的VC网络编程实战
    8. 用VC实现动态改变Windows的显示特
    9. VC中利用MFC设计绘图程序初步
    10. 听说过WinZip软件也可以“杀毒”
    11. 利用Delphi开发旅游景点微机售票
    12. 在DBGrid组件中显示和编辑MEMO字
    13. 学好VC++的十大良好习惯
    14. DELPHI数据库应用程序的开发环境
    15. 汇编DEBUG全过程跟踪
    16. 汇编中的管道操作方法(一)

    最近更新

  • 推荐阅读
  • 汇编语言《汇编DEBUG全过程跟踪》汇编DEBUG全过程跟踪
    关于我们 | 版权申明 | 广告服务 | 友情链接 | 网站地图 | 使用帮助 | ©2006-2008 TTADD.COM